Skip to content

ci: nightly Valgrind memcheck failed #1005

Closed as not planned
Closed as not planned

Description

@github-actions

Scheduled nightly check failed: Valgrind memcheck.

Verification status

Reproduced. This is a real scheduled CI run, not inferred from
reading code. Revision: ba12f6bfcd6e897fc7aca5e2adb2714d447fd423. Run: https://github.com/LASTRADA-Software/morph/actions/runs/39394274700

Real output

Job: Valgrind memcheck (nightly)
Run: https://github.com/LASTRADA-Software/morph/actions/runs/39394274700
Commit: ba12f6bfcd6e897fc7aca5e2adb2714d447fd423

What would change the verdict

This issue closes automatically the next time this job's scheduled
run passes (see .github/workflows/nightly-slow-checks.yml's
reconcile-issues job, matched by the nightly-check:valgrind label
below). Re-opens itself in the same way if it fails again after
that.

Activity

  1. github-actions commented on Oct 21, 2026

    @github-actions
    ContributorAuthor

    Scheduled nightly check failed: Valgrind memcheck.

    Verification status

    Reproduced. This is a real scheduled CI run, not inferred from
    reading code. Revision: 16ed13de24f30c2b3c7243f309675d0bf027caac. Run: https://github.com/LASTRADA-Software/morph/actions/runs/39570393171

    Real output

    Job: Valgrind memcheck (nightly)
    Run: https://github.com/LASTRADA-Software/morph/actions/runs/39570393171
    Commit: 16ed13de24f30c2b3c7243f309675d0bf027caac
    

    What would change the verdict

    This issue closes automatically the next time this job's scheduled
    run passes (see .github/workflows/nightly-slow-checks.yml's
    reconcile-issues job, matched by the nightly-check:valgrind label
    below). Re-opens itself in the same way if it fails again after
    that.

  2. github-actions commented on Oct 22, 2026

    @github-actions
    ContributorAuthor

    Scheduled nightly check failed: Valgrind memcheck.

    Verification status

    Reproduced. This is a real scheduled CI run, not inferred from
    reading code. Revision: 16ed13de24f30c2b3c7243f309675d0bf027caac. Run: https://github.com/LASTRADA-Software/morph/actions/runs/39749154902

    Real output

    Job: Valgrind memcheck (nightly)
    Run: https://github.com/LASTRADA-Software/morph/actions/runs/39749154902
    Commit: 16ed13de24f30c2b3c7243f309675d0bf027caac
    

    What would change the verdict

    This issue closes automatically the next time this job's scheduled
    run passes (see .github/workflows/nightly-slow-checks.yml's
    reconcile-issues job, matched by the nightly-check:valgrind label
    below). Re-opens itself in the same way if it fails again after
    that.

  3. github-actions commented on Oct 23, 2026

    @github-actions
    ContributorAuthor

    Scheduled nightly check failed: Valgrind memcheck.

    Verification status

    Reproduced. This is a real scheduled CI run, not inferred from
    reading code. Revision: f13c29a97cdcb065f74ea3fd364eab800f91aa04. Run: https://github.com/LASTRADA-Software/morph/actions/runs/39925492763

    Real output

    Job: Valgrind memcheck (nightly)
    Run: https://github.com/LASTRADA-Software/morph/actions/runs/39925492763
    Commit: f13c29a97cdcb065f74ea3fd364eab800f91aa04
    

    What would change the verdict

    This issue closes automatically the next time this job's scheduled
    run passes (see .github/workflows/nightly-slow-checks.yml's
    reconcile-issues job, matched by the nightly-check:valgrind label
    below). Re-opens itself in the same way if it fails again after
    that.

  4. Yaraslaut commented on Oct 23, 2026

    @Yaraslaut
    Member

    Triage: memcheck finds no memory errors; one test fails under Valgrind, so this is a timing problem

    Measured from the job logs of the last four nightly runs (39394274700, 39570393171, 39749154902, 39925492763). Not reproduced locally: morph_net_tests isn't built in a local Valgrind configuration yet.

    In last night's run on f13c29a97, memcheck reported no errors in any of the three suites:

    ── memcheck: tests/morph_tests ──
    test cases:  3136 |  3135 passed | 1 failed as expected
    ==7924== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
    ── memcheck: tests/net/morph_net_tests ──
    test cases:  258 |  257 passed | 1 failed
    ==10385== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
    ── memcheck: tests/offline_sqlite/morph_offline_sqlite_tests ──
    ==12468== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
    

    The job fails because one test case fails under Valgrind:

    tests/net/test_push_net.cpp:286  net_connect_handler_fires_on_first_and_reconnect
    tests/net/test_push_net.cpp:324: FAILED:
      REQUIRE( ::morph::testing::waitUntil([&] { return snapshot().size() == 1; }, budget) )
    

    test_push_net.cpp also failed on 39394274700 and 39749154902, at :322 before #1037 moved the line. #1037 raised this wait to a 10 s WaitBudget, and it still fails on f13c29a97. So either 10 s is still too short under Valgrind on a shared runner, or the first connect never happens in that process. One candidate, not verified: the earlier RLIMIT_NOFILE tests in test_socket_server.cpp make Valgrind print invalid file descriptor … in syscall socket() at the start of the suite. The run was also previously red for other reasons (replay_ledger_conformance.hpp:52, the ui use-after-free fixed in #1037), so last night is the first run where this test is the only cause.

    The assert aborts in registry.hpp/bridge.hpp higher up the log are expected: test_registration_phase.cpp runs them in forked children on purpose, and each child reports ERROR SUMMARY: 0 errors.

    Verdict: rescope. No defect in include/morph or src is shown. This is a test timing or isolation problem under Valgrind, which per AGENTS.md is fixed in place, not tracked as a library bug.

    Would change the verdict: a nonzero memcheck ERROR SUMMARY, or the push test failing outside Valgrind (it passes in every other leg).

  5. added
    triage: rescopeReal problem, wrong framing; rewrite before building
    and removed
    triage: rescopeReal problem, wrong framing; rewrite before building
    on Oct 23, 2026
  6. Yaraslaut commented on Oct 23, 2026

    @Yaraslaut
    Member

    Closing: memcheck reports no memory errors in any suite, so nothing in include/morph or src needs fixing. What fails is a test-timing problem under Valgrind (test_push_net.cpp:324), and per AGENTS.md that gets fixed in place rather than tracked. The nightly reconcile job reopens this issue if the job fails again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ciSubsystem: cibugSomething isn't workingnightly-check:valgrindAuto-filed by nightly-slow-checks.yml for the Valgrind leg

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions