Repository navigation
TEST/COVERITY: Gtest fixes for Coverity 2026.3.0 Upgrade - #12177
Conversation
|
🤖 Starting review — findings will be posted here when done. |
|
Residual coverage gap: the SRD changes ( |
|
🤖 CI Triage Agent — TL;DR: The Coverity job died immediately because Full analysisSummary: The Root cause: Pure toolchain/environment incompatibility, not a code defect. The log shows the modules loading fine, then:
Because the script runs with No Implicated commit: File: Suggested fix: Pick one of:
Related: none found — searches for
|
bceb466 to
f59c513
Compare
|
🤖 Starting review — findings will be posted here when done. |
|
🤖 CI Triage Agent — TL;DR: The ASAN gtest job failed because one test, Full analysisSummary: Root cause: Evidence of a hang, not slowness: every sibling test in the log completes in 0.2–1 s, while this single test burned 677 s — and 677 s matches exactly the gtest wait deadline The hanging operation is the error-handling pass of
Nothing in this PR's commit ( Implicated commit: unknown — not the PR commit File: Suggested fix:
Related: none found (searches for this test name and for the sync-send/peer-failure hang returned no matching issues or PRs)
|
f59c513 to
60557b8
Compare
|
🤖 Starting review — findings will be posted here when done. |
|
🤖 CI Triage Agent — TL;DR: The ASAN/RoCE gtest shard didn't fail an assertion — it hung: Full analysisSummary: Root cause: Hang, not slowness. Timestamp analysis of the job log shows one single gap that is the whole runtime:
900.0 s is exactly The symptom is amplified by the test itself: Most plausible functional trigger in the merge base (both landed 2–3 days before this 2026-10-29 build, both in the rc_verbs completion path):
Also a real latent credit leak that produces precisely this silent spin: Implicated commit: Not the PR commit ([REDACTED:Hex High Entropy String] is Coverity annotations only). Suspects: File: Suggested fix:
Related: PR under test: #12177 · suspect merges: #12060, #12059
|
60557b8 to
543b2ff
Compare
|
🤖 Starting review — findings will be posted here when done. |
| if (!sibling_dma.empty()) { | ||
| dma = sibling_dma; | ||
| gpu = sibling_gpu; | ||
| gpu = std::move(sibling_gpu); |
There was a problem hiding this comment.
Minor: can we keep this a copy? gpu = std::move(sibling_gpu) while the line above keeps dma = sibling_dma as a copy. The copy there is mandatory because sibling_dma.empty() is tested again later (line 943), so moving only the gpu string is asymmetric, gains nothing, and hides that constraint — a later "cleanup" that also moves sibling_dma would silently flip the branch.
|
Residual coverage gap (already noted in the earlier review round, not re-raised): |
543b2ff to
6181fa7
Compare
|
🤖 Starting review — findings will be posted here when done. |
Fixes Coverity errors for COPY_INSTEAD_OF_MOVE Coverity fixes for upgrade to Coverity 2026.3.0
Coverity fixes for upgrade to Coverity 2026.3.0
6181fa7 to
2dc5dd9
Compare
|
🤖 Starting review — findings will be posted here when done. |
| UCS_TEST_MESSAGE << perf2.get(); | ||
|
|
||
| m_perf = aggregate({perf1, perf2}); | ||
| m_perf = aggregate({std::move(perf1), std::move(perf2)}); |
There was a problem hiding this comment.
minor: the std::vector parameter is built from an initializer_list, whose elements are const, so each shared_ptr is still copied into the vector - the move here only clears perf1/perf2. Same at line 1758.
|
If this PR is fixing all issues maybe worth also upgrading Coverity in this PR to see it pass CI? |
There are many more issues will have to be resolved before CI passes with Coverity 2026.3.0. This is the first of a series of PRs that I will open to address all the issues. |
What?
This PR provides fixes for errors flagged by Coverity 2026.3.0.
Fixes focus on two areas:
test_srd.ccWhy?
Fixing these errors helps prepare for upgrading to Coverity 2026.3.0 in CI.
How?
Testing performed locally with
masteras the baseline shows numerous errors resolved with no new errors added.