Page MenuHomePhabricator

tests: Fix lock-order-inversion (potential deadlock) in DoS_tests.
ClosedPublic

Authored by Fabien on Tue, Jul 9, 12:03.

Details

Summary
Reported by TSAN.

Makes `src/test/test_bitcoin --run_test=DoS_tests` pass also when
compiled with TreadSanitizer (`./configure --with-sanitizers=thread`).

Backport of core PR12882
https://github.com/bitcoin/bitcoin/pull/12882/files

Test Plan
mkdir build && cd build
../configure --with-sanitizers=thread
make
export TSAN_OPTIONS="suppressions=${PWD}/../test/sanitizer_suppressions/tsan"
./src/test/test_bitcoin -t denialofservice_tests

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Fabien created this revision.Tue, Jul 9, 12:03
Herald added a reviewer: Restricted Project. · View Herald TranscriptTue, Jul 9, 12:03
deadalnix requested changes to this revision.Tue, Jul 9, 12:13
deadalnix added inline comments.
test/sanitizer_suppressions/tsan
17 ↗(On Diff #10126)

This doesn't looks like it is related.

This revision now requires changes to proceed.Tue, Jul 9, 12:13
Fabien updated this revision to Diff 10137.Tue, Jul 9, 16:45

Remove unrelated tsan edit.

deadalnix accepted this revision.Tue, Jul 9, 17:28
This revision is now accepted and ready to land.Tue, Jul 9, 17:28