Describe the bug
On current main, the multithreaded SIGUSR1 sanitizer subtest records normal ASan-integrated leak-only output as FAIL: sigusr1-mt: ASan/UBSan report on stderr instead of accepting it as the tolerated leak case. The same output contains both ERROR: LeakSanitizer: detected memory leaks and the standard SUMMARY: AddressSanitizer: line, and the tolerated result is never observed for that report shape.
This is distinct from #945/#953, which covered tests/test_doc_examples.py. It was discovered during an independent review of unfiled sanitizer test-harness findings on 2026-08-18.
To reproduce
From the repository root, replay the current predicates with representative ASan+LSan output:
err=$(mktemp)
printf '%s\n' \
'ERROR: LeakSanitizer: detected memory leaks' \
'SUMMARY: AddressSanitizer: 16 byte(s) leaked in 1 allocation(s).' >"$err"
if grep -qE 'AddressSanitizer|runtime error:' "$err"; then
echo 'hard failure'
elif grep -q 'LeakSanitizer: detected memory leaks' "$err"; then
echo 'tolerated leak'
fi
The command prints hard failure.
Expected behavior
Leak-only output from the repository's ASan build is accepted by the explicit LeakSanitizer tolerance path. Actual ASan or UBSan errors still fail the subtest.
Actual behavior
The leak-only report is classified as an ASan/UBSan failure before the LeakSanitizer tolerance result can be selected.
Environment
- OS: Linux; the classification is shell/grep control flow and is not architecture-specific
- GCC version: not applicable; the minimal reproduction does not compile the project
- EigenScript version:
main at a916975b765581b6c531174ba28a67a05d5c277f
Describe the bug
On current
main, the multithreaded SIGUSR1 sanitizer subtest records normal ASan-integrated leak-only output asFAIL: sigusr1-mt: ASan/UBSan report on stderrinstead of accepting it as the tolerated leak case. The same output contains bothERROR: LeakSanitizer: detected memory leaksand the standardSUMMARY: AddressSanitizer:line, and the tolerated result is never observed for that report shape.This is distinct from #945/#953, which covered
tests/test_doc_examples.py. It was discovered during an independent review of unfiled sanitizer test-harness findings on 2026-08-18.To reproduce
From the repository root, replay the current predicates with representative ASan+LSan output:
The command prints
hard failure.Expected behavior
Leak-only output from the repository's ASan build is accepted by the explicit LeakSanitizer tolerance path. Actual ASan or UBSan errors still fail the subtest.
Actual behavior
The leak-only report is classified as an ASan/UBSan failure before the LeakSanitizer tolerance result can be selected.
Environment
mainata916975b765581b6c531174ba28a67a05d5c277f