Skip to content

ci: linux64_asan fails on Qt QDBusConnectionManager leak #7561

Description

@thepastaclaw

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:

The identical 86-byte/four-allocation leak also appears on PR #7479, whose merge base is exactly that develop commit:

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

  1. Check out e25f9925df4f0bafaf5f6d13ac34e14bdc8eecc9.
  2. Run the repository's linux64_asan CI target (the configuration in ci/test/00_setup_env_native_asan.sh, with leak detection enabled and test/sanitizer_suppressions/lsan).
  3. Observe that qt/test/test_dash-qt passes its test cases, then exits 1 with the four QDBusConnectionManager::executeConnectionRequest allocations 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions