Description
Summary
The new linux64_asan job fails in qt/test/test_dash-qt after all Qt tests pass because LeakSanitizer reports four small allocations from Qt's QDBusConnectionManager::executeConnectionRequest:
==52718==ERROR: LeakSanitizer: detected memory leaks
...
#3 QDBusConnectionManager::executeConnectionRequest(...)
...
SUMMARY: AddressSanitizer: 86 byte(s) leaked in 4 allocation(s).
FAIL qt/test/test_dash-qt (exit status: 1)
The existing test/sanitizer_suppressions/lsan entry for QDBusConnectionPrivate suppresses related Qt allocations but does not match these four stacks.
Evidence
This reproduces on develop itself at e25f9925df4f0bafaf5f6d13ac34e14bdc8eecc9:
developCI run: https://github.com/dashpay/dash/actions/runs/31222050806- failing
linux64_asan-build / Build sourcejob: https://github.com/dashpay/dash/actions/runs/31222050806/job/93009844804
The identical 86-byte/four-allocation leak also appears on PR #7479, whose merge base is exactly that develop commit:
- PR CI run: https://github.com/dashpay/dash/actions/runs/31236188823
- failing job: https://github.com/dashpay/dash/actions/runs/31236188823/job/93049578835
In both jobs, every Qt test reports success before LeakSanitizer terminates the test binary.
Root cause
This is a dependency-level Qt DBus shutdown leak, not a test assertion or Dash wallet failure. The leak stack is entirely in Qt/DBus connection management, and the same signature and byte count occur on unmodified develop.
Reproduction
- Check out
e25f9925df4f0bafaf5f6d13ac34e14bdc8eecc9. - Run the repository's
linux64_asanCI target (the configuration inci/test/00_setup_env_native_asan.sh, with leak detection enabled andtest/sanitizer_suppressions/lsan). - Observe that
qt/test/test_dash-qtpasses its test cases, then exits 1 with the fourQDBusConnectionManager::executeConnectionRequestallocations above.
Suggested direction
Add a narrowly scoped LSAN suppression for this Qt dependency stack (or ensure the Qt DBus connection manager is shut down before process exit), then verify no Dash-owned leaks are hidden.
Activity
thepastaclaw commentedon Aug 8, 2026
Another identical occurrence:
66d72b4aa17cc4329512054d3dd7016c47c46e2d: run 31269700511 / linux64_asan job 93134790520develophead5c44379d739438ef71f8b64cbef8c8b598eed563: run 31271294064 / linux64_asan job 93140878081Both jobs pass all Qt test cases and then report the same
QDBusConnectionManager::executeConnectionRequestsignature: 86 bytes in 4 allocations. This confirms the dependency-level Qt/DBus LSAN failure remains present on currentdevelopand is not caused by #7479's wallet-only diff.thepastaclaw commentedon Aug 9, 2026
Another confirmed occurrence on PR #7483:
43cefa64ed6122e553de1c2a4e8105feb735208d: run 31271062102 / linux64_asan job 931403878366a2c939e46014c8bad9940fce1d9db95be2764a8: run 31277137627 / linux64_asan job 93152614501Both runs pass every Qt test and then fail at shutdown with the same
QDBusConnectionManager::executeConnectionRequestsignature: 86 bytes in 4 allocations. PR #7483 changes net processing, LLMQ signing, and non-Qt test support; it does not touch Qt/DBus. This matches the identical current-developfailure already documented here and confirms the PR failure is unrelated to its diff.