tribuchet: building on eliza Running phase: unpackPhase unpacking source archive /nix/store/bxwih2dxlpmglg1ppazbgqvnz69hibm3-source source root is source Running phase: patchPhase Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase mesonConfigurePhase flags: --prefix=/nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4 --libdir=/nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/lib --libexecdir=/nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/libexec --bindir=/nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/bin --sbindir=/nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/sbin --includedir=/nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/include --mandir=/nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/share/man --infodir=/nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/share/info --localedir=/nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/share/locale -Dauto_features=enabled -Dwrap_mode=nodownload --buildtype=plain -Db_pch=false The Meson build system Version: 1.10.2 Source dir: /build/source Build dir: /build/source/build Build type: native build WARNING: Project does not target a minimum version but uses feature introduced in '1.1': meson.options file. Use meson_options.txt instead Project name: nix-grpc-store Project version: 0.1.0-beta.4 C++ compiler for the host machine: clang++ (clang 22.1.8 "clang version 22.1.8") C++ linker for the host machine: clang++ ld.bfd 2.46 Host machine cpu family: aarch64 Host machine cpu: aarch64 Found pkg-config: YES (/nix/store/96rqsbg8z242724qy85sbld7dbf4hipr-pkg-config-wrapper-0.29.2/bin/pkg-config) 0.29.2 Run-time dependency grpc++ found: YES 1.83.0 Run-time dependency protobuf found: YES 36.1.0 Run-time dependency libzstd found: YES 1.5.7 Run-time dependency threads found: YES Run-time dependency libcrypto found: YES 3.6.4 Run-time dependency prometheus-cpp-core found: YES 1.3.0 Run-time dependency prometheus-cpp-pull found: YES 1.3.0 Run-time dependency absl_flat_hash_map found: YES 20260107 Run-time dependency absl_hash found: YES 20260107 Run-time dependency absl_synchronization found: YES 20260107 Compiler for C++ supports arguments -Werror=thread-safety: YES Run-time dependency jemalloc found: YES 5.3.1_0 Run-time dependency nix-store found: YES 2.36.0pre20260920_5711f8fe Run-time dependency nix-util found: YES 2.36.0pre20260920_5711f8fe Run-time dependency libcurl found: YES 8.22.0 Run-time dependency nlohmann_json found: YES 3.12.0 Check usable header "jwt-cpp/traits/nlohmann-json/defaults.h" : YES Program protoc found: YES (/nix/store/nxlmb8lkbnzwcj46mmsvn1gjrgzap7sw-protobuf-36.1/bin/protoc) Program grpc_cpp_plugin found: YES (/nix/store/zsbcm1brz7v8ilrz6w8ij11yhbf8fyiv-grpc-1.83.0/bin/grpc_cpp_plugin) Program mold found: YES (/nix/store/463q48w7fn9s93amh1y7jsyrws5sh8rm-mold-unwrapped-wrapper-2.42.1/bin/mold) Run-time dependency dl found: YES Program tests/farm-client-test.sh found: YES (/build/source/tests/farm-client-test.sh) Program tests/oidc-test.sh found: YES (/build/source/tests/oidc-test.sh) Build targets in project: 13 WARNING: Project specifies no minimum version but uses features which were added in versions: * 1.1: {'meson.options file'} nix-grpc-store 0.1.0-beta.4 User defined options auto_features: enabled b_pch : false bindir : /nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/bin buildtype : plain includedir : /nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/include infodir : /nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/share/info libdir : /nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/lib libexecdir : /nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/libexec localedir : /nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/share/locale mandir : /nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/share/man prefix : /nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4 sbindir : /nix/store/wakiqq4hbcyr0lqyzg54961yphshwlsk-nix-grpc-store-clang-tidy-0.1.0-beta.4/sbin wrap_mode : nodownload Found ninja-1.13.2 at /nix/store/ijbipgac9wyp1n5smvkd8fczs9jyr26g-ninja-1.13.2/bin/ninja mesonConfigurePhase: enabled\ parallel\ building Running phase: buildPhase [1/2] Generating eds_proto with a custom command [2/2] Generating nix_remote_proto with a custom command [0/1] /nix/store/sc7hggvmvma7m8bbgmp8gsa1q1x37aq8-meson-1.10.2/bin/meson --internal clangtidy /build/source /build/source/build --color always >>> /nix/store/7wgbxsfygsdmgsai483p205pkcpy6ls8-clang-tools-22.1.8/bin/clang-tidy --use-color -quiet -p /build/source/build /build/source/tests/log-spill-test.cc ../src/daemon/log-spill.hh:38:27: error: parameter name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 38 | explicit UniqueFd(int fd) noexcept : fd_(fd) {} | ^ ../src/daemon/log-spill.hh:85:20: error: variable name 'at' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 85 | auto const at = written_.load(std::memory_order_relaxed); | ^ ../src/daemon/log-spill.hh:100:80: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 100 | std::array header{static_cast(kind), len[0], len[1], len[2], len[3]}; | ^~~ ../src/daemon/log-spill.hh:100:88: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 100 | std::array header{static_cast(kind), len[0], len[1], len[2], len[3]}; | ^~~ ../src/daemon/log-spill.hh:100:96: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 100 | std::array header{static_cast(kind), len[0], len[1], len[2], len[3]}; | ^~~ ../src/daemon/log-spill.hh:100:104: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 100 | std::array header{static_cast(kind), len[0], len[1], len[2], len[3]}; | ^~~ ../src/daemon/log-spill.hh:116:42: error: forwarding reference parameter 'fn' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors] 116 | auto drain(std::size_t offset, Fn && fn) const -> std::size_t | ^ ../src/daemon/log-spill.hh:116:42: error: parameter name 'fn' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] ../src/daemon/log-spill.hh:128:67: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 128 | auto const kind = std::to_integer(header[0]); | ^~~ ../src/daemon/log-spill.hh:149:25: error: variable name 'ec' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 149 | std::error_code ec; | ^ ../src/daemon/log-spill.hh:154:22: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 154 | if (UniqueFd fd(::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600)); fd) { | ^ ../src/daemon/log-spill.hh:154:25: error: do not call c-style vararg functions [cppcoreguidelines-pro-type-vararg,-warnings-as-errors] 154 | if (UniqueFd fd(::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600)); fd) { | ^ ../src/daemon/log-spill.hh:154:77: error: 0600 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors] 154 | if (UniqueFd fd(::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600)); fd) { | ^ ../src/daemon/log-spill.hh:158:18: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 158 | UniqueFd fd(::mkostemp(name.data(), O_CLOEXEC)); | ^ ../src/daemon/log-spill.hh:166:5: error: function 'writeAt' should be marked [[nodiscard]] [modernize-use-nodiscard,-warnings-as-errors] 166 | auto writeAt(std::span data, std::size_t offset) const -> bool | ^ | [[nodiscard]] ../src/daemon/log-spill.hh:169:24: error: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 169 | auto const n = ::pwrite(fd_.get(), data.data(), data.size(), static_cast(offset)); | ^ ../src/daemon/log-spill.hh:182:5: error: function 'readAt' should be marked [[nodiscard]] [modernize-use-nodiscard,-warnings-as-errors] 182 | auto readAt(std::span out, std::size_t offset) const -> bool | ^ | [[nodiscard]] ../src/daemon/log-spill.hh:185:24: error: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 185 | auto const n = ::pread(fd_.get(), out.data(), out.size(), static_cast(offset)); | ^ ../src/daemon/log-spill.hh:212:31: error: parameter name 'cv' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 212 | std::condition_variable & cv, | ^ ../src/daemon/log-spill.hh:215:18: error: forwarding reference parameter 'cancelled' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors] 215 | Cancelled && cancelled, | ^ ../src/daemon/log-spill.hh:216:13: error: forwarding reference parameter 'emit' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors] 216 | Emit && emit) -> bool | ^ ../src/daemon/log-spill.hh:232:16: error: 'wait_for' should be placed inside a while statement or used with a conditional parameter [bugprone-spuriously-wake-up-functions,cert-con36-c,cert-con54-cpp,-warnings-as-errors] 232 | cv.wait_for(lock, poll); | ^ ../tests/log-spill-test.cc:1:1: error: included header atomic is not used directly [misc-include-cleaner,-warnings-as-errors] 1 | #include | ^~~~~~~~~~~~~~~~~ 2 | #include ../tests/log-spill-test.cc:23:45: error: no header providing "std::string_view" is directly included [misc-include-cleaner,-warnings-as-errors] 8 | #include 9 | #include 10 | #include 11 | 12 | #include "log-spill.hh" 13 | 14 | using nixgrpc::LogSpill; 15 | using nixgrpc::SpillKind; 16 | using Records = std::vector>; 17 | 18 | namespace { 19 | 20 | auto readAll(const LogSpill & spill) -> Records 21 | { 22 | Records out; 23 | spill.drain(0, [&](SpillKind kind, std::string_view text) -> void { out.emplace_back(kind, std::string(text)); }); | ^ ../tests/log-spill-test.cc:27:83: error: parameter name 'cv' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 27 | auto follow(const LogSpill & spill, std::mutex & mutex, std::condition_variable & cv, const bool & finished) -> Records | ^ ../tests/log-spill-test.cc:44:47: error: 300000 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors] 44 | spill.append(SpillKind::line, std::string(300000, 'x')); | ^ ../tests/log-spill-test.cc:47:15: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 47 | assert(got[0] == std::make_pair(SpillKind::line, std::string("first"))); | ^ /nix/store/6rgkfqr5mcjr39irv7wlbhfih2r5s2nl-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert' 100 | (static_cast (expr) \ | ^~~~ ../tests/log-spill-test.cc:48:15: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 48 | assert(got[1] == std::make_pair(SpillKind::phase, std::string("build"))); | ^ /nix/store/6rgkfqr5mcjr39irv7wlbhfih2r5s2nl-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert' 100 | (static_cast (expr) \ | ^~~~ ../tests/log-spill-test.cc:49:15: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 49 | assert(got[2].second.empty()); | ^ /nix/store/6rgkfqr5mcjr39irv7wlbhfih2r5s2nl-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert' 100 | (static_cast (expr) \ | ^~~~ ../tests/log-spill-test.cc:50:15: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 50 | assert(got[3].second.size() == 300000); | ^ /nix/store/6rgkfqr5mcjr39irv7wlbhfih2r5s2nl-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert' 100 | (static_cast (expr) \ | ^~~~ ../tests/log-spill-test.cc:57:36: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 57 | assert(rest.size() == 1 && rest[0].second == "later"); | ^ /nix/store/6rgkfqr5mcjr39irv7wlbhfih2r5s2nl-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert' 100 | (static_cast (expr) \ | ^~~~ ../tests/log-spill-test.cc:63:68: error: 5 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors] 63 | spill.append(SpillKind::line, std::string(LogSpill::kMaxText + 5, 'x')); | ^ ../tests/log-spill-test.cc:65:34: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 65 | assert(got.size() == 1 && got[0].second.size() == LogSpill::kMaxText); | ^ /nix/store/6rgkfqr5mcjr39irv7wlbhfih2r5s2nl-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert' 100 | (static_cast (expr) \ | ^~~~ ../tests/log-spill-test.cc:70:20: error: 64 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors] 70 | LogSpill spill(64); | ^ ../tests/log-spill-test.cc:71:25: error: 50 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors] 71 | for (int i = 0; i < 50; i++) { | ^ ../tests/log-spill-test.cc:85:36: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 85 | assert(only.size() == 1 && only[0].second == LogSpill::kTruncated); | ^ /nix/store/6rgkfqr5mcjr39irv7wlbhfih2r5s2nl-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert' 100 | (static_cast (expr) \ | ^~~~ ../tests/log-spill-test.cc:90:5: error: function is not thread safe [concurrency-mt-unsafe,-warnings-as-errors] 90 | setenv("TMPDIR", "/nonexistent-dir", 1); | ^ ../tests/log-spill-test.cc:90:5: error: no header providing "setenv" is directly included [misc-include-cleaner,-warnings-as-errors] 7 | setenv("TMPDIR", "/nonexistent-dir", 1); | ^ ../tests/log-spill-test.cc:95:5: error: function is not thread safe [concurrency-mt-unsafe,-warnings-as-errors] 95 | unsetenv("TMPDIR"); | ^ ../tests/log-spill-test.cc:95:5: error: no header providing "unsetenv" is directly included [misc-include-cleaner,-warnings-as-errors] ../tests/log-spill-test.cc:103:29: error: variable name 'cv' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 103 | std::condition_variable cv; | ^ ../tests/log-spill-test.cc:119:30: error: 1000 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors] 119 | while (spill.written() < 1000) { | ^ ../tests/log-spill-test.cc:129:26: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 129 | assert((*got)[static_cast(i)].second == "line " + std::to_string(i)); | ^ /nix/store/6rgkfqr5mcjr39irv7wlbhfih2r5s2nl-glibc-2.42-84-dev/include/assert.h:100:27: note: expanded from macro 'assert' 100 | (static_cast (expr) \ | ^~~~ ../tests/log-spill-test.cc:138:29: error: variable name 'cv' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 138 | std::condition_variable cv; | ^ >>> /nix/store/7wgbxsfygsdmgsai483p205pkcpy6ls8-clang-tools-22.1.8/bin/clang-tidy --use-color -quiet -p /build/source/build /build/source/src/client/channel.cc [1/1] (1/2) Processing file /build/source/src/client/channel.cc. [1/1] (2/2) Processing file /build/source/src/client/channel.cc. >>> /nix/store/7wgbxsfygsdmgsai483p205pkcpy6ls8-clang-tools-22.1.8/bin/clang-tidy --use-color -quiet -p /build/source/build /build/source/src/daemon/coordinator.cc ../src/daemon/log-spill.hh:38:27: error: parameter name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 38 | explicit UniqueFd(int fd) noexcept : fd_(fd) {} | ^ ../src/daemon/log-spill.hh:85:20: error: variable name 'at' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 85 | auto const at = written_.load(std::memory_order_relaxed); | ^ ../src/daemon/log-spill.hh:100:80: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 100 | std::array header{static_cast(kind), len[0], len[1], len[2], len[3]}; | ^~~ ../src/daemon/log-spill.hh:100:88: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 100 | std::array header{static_cast(kind), len[0], len[1], len[2], len[3]}; | ^~~ ../src/daemon/log-spill.hh:100:96: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 100 | std::array header{static_cast(kind), len[0], len[1], len[2], len[3]}; | ^~~ ../src/daemon/log-spill.hh:100:104: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 100 | std::array header{static_cast(kind), len[0], len[1], len[2], len[3]}; | ^~~ ../src/daemon/log-spill.hh:116:42: error: forwarding reference parameter 'fn' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors] 116 | auto drain(std::size_t offset, Fn && fn) const -> std::size_t | ^ ../src/daemon/log-spill.hh:116:42: error: parameter name 'fn' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] ../src/daemon/log-spill.hh:128:67: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 128 | auto const kind = std::to_integer(header[0]); | ^~~ ../src/daemon/log-spill.hh:149:25: error: variable name 'ec' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 149 | std::error_code ec; | ^ ../src/daemon/log-spill.hh:154:22: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 154 | if (UniqueFd fd(::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600)); fd) { | ^ ../src/daemon/log-spill.hh:154:25: error: do not call c-style vararg functions [cppcoreguidelines-pro-type-vararg,-warnings-as-errors] 154 | if (UniqueFd fd(::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600)); fd) { | ^ ../src/daemon/log-spill.hh:154:77: error: 0600 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors] 154 | if (UniqueFd fd(::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600)); fd) { | ^ ../src/daemon/log-spill.hh:158:18: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 158 | UniqueFd fd(::mkostemp(name.data(), O_CLOEXEC)); | ^ ../src/daemon/log-spill.hh:166:5: error: function 'writeAt' should be marked [[nodiscard]] [modernize-use-nodiscard,-warnings-as-errors] 166 | auto writeAt(std::span data, std::size_t offset) const -> bool | ^ | [[nodiscard]] ../src/daemon/log-spill.hh:169:24: error: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 169 | auto const n = ::pwrite(fd_.get(), data.data(), data.size(), static_cast(offset)); | ^ ../src/daemon/log-spill.hh:182:5: error: function 'readAt' should be marked [[nodiscard]] [modernize-use-nodiscard,-warnings-as-errors] 182 | auto readAt(std::span out, std::size_t offset) const -> bool | ^ | [[nodiscard]] ../src/daemon/log-spill.hh:185:24: error: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 185 | auto const n = ::pread(fd_.get(), out.data(), out.size(), static_cast(offset)); | ^ ../src/daemon/log-spill.hh:212:31: error: parameter name 'cv' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 212 | std::condition_variable & cv, | ^ ../src/daemon/log-spill.hh:215:18: error: forwarding reference parameter 'cancelled' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors] 215 | Cancelled && cancelled, | ^ ../src/daemon/log-spill.hh:216:13: error: forwarding reference parameter 'emit' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors] 216 | Emit && emit) -> bool | ^ ../src/daemon/log-spill.hh:232:16: error: 'wait_for' should be placed inside a while statement or used with a conditional parameter [bugprone-spuriously-wake-up-functions,cert-con36-c,cert-con54-cpp,-warnings-as-errors] 232 | cv.wait_for(lock, poll); | ^ >>> /nix/store/7wgbxsfygsdmgsai483p205pkcpy6ls8-clang-tools-22.1.8/bin/clang-tidy --use-color -quiet -p /build/source/build /build/source/src/daemon/main.cc Errors encountered while running clang-tidy ../src/daemon/log-spill.hh:38:27: error: parameter name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 38 | explicit UniqueFd(int fd) noexcept : fd_(fd) {} | ^ ../src/daemon/log-spill.hh:85:20: error: variable name 'at' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 85 | auto const at = written_.load(std::memory_order_relaxed); | ^ ../src/daemon/log-spill.hh:100:80: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 100 | std::array header{static_cast(kind), len[0], len[1], len[2], len[3]}; | ^~~ ../src/daemon/log-spill.hh:100:88: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 100 | std::array header{static_cast(kind), len[0], len[1], len[2], len[3]}; | ^~~ ../src/daemon/log-spill.hh:100:96: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 100 | std::array header{static_cast(kind), len[0], len[1], len[2], len[3]}; | ^~~ ../src/daemon/log-spill.hh:100:104: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 100 | std::array header{static_cast(kind), len[0], len[1], len[2], len[3]}; | ^~~ ../src/daemon/log-spill.hh:116:42: error: forwarding reference parameter 'fn' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors] 116 | auto drain(std::size_t offset, Fn && fn) const -> std::size_t | ^ ../src/daemon/log-spill.hh:116:42: error: parameter name 'fn' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] ../src/daemon/log-spill.hh:128:67: error: possibly unsafe 'operator[]', consider bounds-safe alternatives [cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,-warnings-as-errors] 128 | auto const kind = std::to_integer(header[0]); | ^~~ ../src/daemon/log-spill.hh:149:25: error: variable name 'ec' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 149 | std::error_code ec; | ^ ../src/daemon/log-spill.hh:154:22: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 154 | if (UniqueFd fd(::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600)); fd) { | ^ ../src/daemon/log-spill.hh:154:25: error: do not call c-style vararg functions [cppcoreguidelines-pro-type-vararg,-warnings-as-errors] 154 | if (UniqueFd fd(::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600)); fd) { | ^ ../src/daemon/log-spill.hh:154:77: error: 0600 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers,-warnings-as-errors] 154 | if (UniqueFd fd(::open(dir.c_str(), O_TMPFILE | O_RDWR | O_CLOEXEC, 0600)); fd) { | ^ ../src/daemon/log-spill.hh:158:18: error: variable name 'fd' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 158 | UniqueFd fd(::mkostemp(name.data(), O_CLOEXEC)); | ^ ../src/daemon/log-spill.hh:166:5: error: function 'writeAt' should be marked [[nodiscard]] [modernize-use-nodiscard,-warnings-as-errors] 166 | auto writeAt(std::span data, std::size_t offset) const -> bool | ^ | [[nodiscard]] ../src/daemon/log-spill.hh:169:24: error: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 169 | auto const n = ::pwrite(fd_.get(), data.data(), data.size(), static_cast(offset)); | ^ ../src/daemon/log-spill.hh:182:5: error: function 'readAt' should be marked [[nodiscard]] [modernize-use-nodiscard,-warnings-as-errors] 182 | auto readAt(std::span out, std::size_t offset) const -> bool | ^ | [[nodiscard]] ../src/daemon/log-spill.hh:185:24: error: variable name 'n' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 185 | auto const n = ::pread(fd_.get(), out.data(), out.size(), static_cast(offset)); | ^ ../src/daemon/log-spill.hh:212:31: error: parameter name 'cv' is too short, expected at least 3 characters [readability-identifier-length,-warnings-as-errors] 212 | std::condition_variable & cv, | ^ ../src/daemon/log-spill.hh:215:18: error: forwarding reference parameter 'cancelled' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors] 215 | Cancelled && cancelled, | ^ ../src/daemon/log-spill.hh:216:13: error: forwarding reference parameter 'emit' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward,-warnings-as-errors] 216 | Emit && emit) -> bool | ^ ../src/daemon/log-spill.hh:232:16: error: 'wait_for' should be placed inside a while statement or used with a conditional parameter [bugprone-spuriously-wake-up-functions,cert-con36-c,cert-con54-cpp,-warnings-as-errors] 232 | cv.wait_for(lock, poll); | ^ ../src/daemon/main.cc:96:41: error: no header providing "nixgrpc::SpillKind" is directly included [misc-include-cleaner,-warnings-as-errors] 71 | static_assert(static_cast(nixgrpc::SpillKind::line) == static_cast(nixgrpc::BuildEvent::Kind::line)); | ^ ../src/daemon/main.cc:507:41: error: no header providing "nixgrpc::followSpill" is directly included [misc-include-cleaner,-warnings-as-errors] 507 | auto const completed = nixgrpc::followSpill( | ^ FAILED: [code=1] meson-internal__clang-tidy /nix/store/sc7hggvmvma7m8bbgmp8gsa1q1x37aq8-meson-1.10.2/bin/meson --internal clangtidy /build/source /build/source/build --color always ninja: build stopped: subcommand failed.