Merge bitcoin/bitcoin#35937: test: Append print_suppressions=0 to LSAN_OPTIONS, and suppress bitcoin-qt
What changed, and why it matters
This commit only changes test configuration. It tells the LeakSanitizer tool used during automated testing to stop printing long lists of suppressed memory leaks, and it narrows the list of ignored leaks to the bitcoin-qt GUI test binary. There is no change to the actual Bitcoin Core software that users run, and no security vulnerability is being fixed or introduced.
No security action required. Treat as ordinary test-infrastructure maintenance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch modifies CI/test sanitizer configuration only. In ci/test/03_test_script.sh it appends print_suppressions=0 to LSAN_OPTIONS. In test/sanitizer_suppressions/lsan it replaces broad Qt dependency leak suppressions (libQt6Widgets, QDBusConnectionPrivate, QLayoutPrivate) with suppressions scoped to the bitcoin-qt and test_bitcoin-qt binaries. This is a test-harness quality-of-life change to reduce CI log noise; it does not alter node consensus, networking, wallet, or RPC code.
Changed components
ci/test/03_test_script.shtest/sanitizer_suppressions/lsanInspect captured patch +3 / −4
### ci/test/03_test_script.sh
@@ -17,7 +17,7 @@ cd "${BASE_ROOT_DIR}"
export PATH="/path_with space:${PATH}"
export ASAN_OPTIONS="detect_leaks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1"
-export LSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/lsan"
+export LSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/lsan:print_suppressions=0"
export TSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/tsan:halt_on_error=1:second_deadlock_stack=1"
export UBSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:report_error_type=1"
### test/sanitizer_suppressions/lsan
@@ -1,4 +1,3 @@
# Suppress warnings triggered in dependencies
-leak:libQt6Widgets
-leak:QDBusConnectionPrivate
-leak:QLayoutPrivate
+leak:test_bitcoin-qt
+leak:bitcoin-qtWhy this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.