Operations were performed on the PeerManager without holding the proper locks.
This wasn't a problem before because there were no concurent operation being performed, but now there are.
Differential D9633
Fix threading issue in processor_tests.cpp deadalnix on Jun 4 2021, 16:43. Authored by
Details
Operations were performed on the PeerManager without holding the proper locks. This wasn't a problem before because there were no concurent operation being performed, but now there are. ninja check-avalanche Run the test suite using TSAN
Diff Detail
Event TimelineComment Actions Build Bitcoin ABC Diffs / Diff Testing (build-debug) failed.
Tail of the build log: [0m[0;32mwallet_import_with_label.py | ✓ Passed | 1 s [0m[0;32mwallet_importdescriptors.py | ✓ Passed | 7 s [0m[0;32mwallet_importmulti.py | ✓ Passed | 6 s [0m[0;32mwallet_importprunedfunds.py | ✓ Passed | 2 s [0m[0;32mwallet_keypool.py | ✓ Passed | 3 s [0m[0;32mwallet_keypool_topup.py | ✓ Passed | 4 s [0m[0;32mwallet_labels.py | ✓ Passed | 2 s [0m[0;32mwallet_listreceivedby.py | ✓ Passed | 22 s [0m[0;32mwallet_listsinceblock.py | ✓ Passed | 6 s [0m[0;32mwallet_listtransactions.py | ✓ Passed | 13 s [0m[0;32mwallet_multiwallet.py | ✓ Passed | 19 s [0m[0;32mwallet_multiwallet.py --usecli | ✓ Passed | 21 s [0m[0;32mwallet_reorgsrestore.py | ✓ Passed | 5 s [0m[0;32mwallet_resendwallettransactions.py | ✓ Passed | 11 s [0m[0;32mwallet_txn_clone.py | ✓ Passed | 3 s [0m[0;32mwallet_txn_clone.py --mineblock | ✓ Passed | 4 s [0m[0;32mwallet_txn_doublespend.py | ✓ Passed | 2 s [0m[0;32mwallet_txn_doublespend.py --mineblock | ✓ Passed | 4 s [0m[0;32mwallet_watchonly.py | ✓ Passed | 1 s [0m[0;32mwallet_watchonly.py --usecli | ✓ Passed | 1 s [0m[0;32mwallet_zapwallettxes.py | ✓ Passed | 7 s [0m[1m ALL | ✓ Passed | 1461 s (accumulated) [0mRuntime: 293 s ---------------------------------------------------------------------- Ran 5 tests in 0.003s OK [157/453] avalanche: testing processor_tests FAILED: src/avalanche/test/CMakeFiles/check-avalanche-processor_tests cd /work/abc-ci-builds/build-debug/src/avalanche/test && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-debug/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-debug/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-debug/test/log/avalanche-processor_tests.log /work/abc-ci-builds/build-debug/src/avalanche/test/test-avalanche --run_test=processor_tests --logger=HRF,message:JUNIT,message,avalanche-processor_tests.xml --catch_system_errors=no Running 11 test cases... Assertion failed: detected inconsistent lock order at ../../src/sync.cpp:117, details in debug log. Aborted (core dumped) [190/453] Test Bitcoin RPC authentication... ... ---------------------------------------------------------------------- Ran 3 tests in 0.004s OK [191/453] cd /work/contrib/devtools/chainparams && /usr/bin/python3.7 ./test_make_chainparams.py ..... ---------------------------------------------------------------------- Ran 5 tests in 0.001s OK [194/453] Running seeder test suite PASSED: seeder test suite [402/453] Running secp256k1 test suite PASSED: secp256k1 test suite [422/453] Running pow test suite PASSED: pow test suite [445/453] Running bitcoin-qt test suite PASSED: bitcoin-qt test suite [450/453] Running bitcoin test suite PASSED: bitcoin test suite ninja: build stopped: cannot make progress due to previous errors. Build build-debug failed with exit code 1 Comment Actions Build Bitcoin ABC Diffs / Diff Testing (build-debug) failed.
Tail of the build log: [0m[0;32mwallet_import_with_label.py | ✓ Passed | 1 s [0m[0;32mwallet_importdescriptors.py | ✓ Passed | 6 s [0m[0;32mwallet_importmulti.py | ✓ Passed | 6 s [0m[0;32mwallet_importprunedfunds.py | ✓ Passed | 2 s [0m[0;32mwallet_keypool.py | ✓ Passed | 3 s [0m[0;32mwallet_keypool_topup.py | ✓ Passed | 4 s [0m[0;32mwallet_labels.py | ✓ Passed | 3 s [0m[0;32mwallet_listreceivedby.py | ✓ Passed | 18 s [0m[0;32mwallet_listsinceblock.py | ✓ Passed | 5 s [0m[0;32mwallet_listtransactions.py | ✓ Passed | 11 s [0m[0;32mwallet_multiwallet.py | ✓ Passed | 18 s [0m[0;32mwallet_multiwallet.py --usecli | ✓ Passed | 20 s [0m[0;32mwallet_reorgsrestore.py | ✓ Passed | 5 s [0m[0;32mwallet_resendwallettransactions.py | ✓ Passed | 5 s [0m[0;32mwallet_txn_clone.py | ✓ Passed | 3 s [0m[0;32mwallet_txn_clone.py --mineblock | ✓ Passed | 4 s [0m[0;32mwallet_txn_doublespend.py | ✓ Passed | 3 s [0m[0;32mwallet_txn_doublespend.py --mineblock | ✓ Passed | 4 s [0m[0;32mwallet_watchonly.py | ✓ Passed | 1 s [0m[0;32mwallet_watchonly.py --usecli | ✓ Passed | 1 s [0m[0;32mwallet_zapwallettxes.py | ✓ Passed | 7 s [0m[1m ALL | ✓ Passed | 1444 s (accumulated) [0mRuntime: 289 s ---------------------------------------------------------------------- Ran 5 tests in 0.026s OK [156/453] avalanche: testing processor_tests FAILED: src/avalanche/test/CMakeFiles/check-avalanche-processor_tests cd /work/abc-ci-builds/build-debug/src/avalanche/test && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-debug/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-debug/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-debug/test/log/avalanche-processor_tests.log /work/abc-ci-builds/build-debug/src/avalanche/test/test-avalanche --run_test=processor_tests --logger=HRF,message:JUNIT,message,avalanche-processor_tests.xml --catch_system_errors=no Running 11 test cases... Assertion failed: detected inconsistent lock order at ../../src/sync.cpp:117, details in debug log. Aborted (core dumped) [190/453] Running seeder test suite PASSED: seeder test suite [192/453] Test Bitcoin RPC authentication... ... ---------------------------------------------------------------------- Ran 3 tests in 0.005s OK [193/453] cd /work/contrib/devtools/chainparams && /usr/bin/python3.7 ./test_make_chainparams.py ..... ---------------------------------------------------------------------- Ran 5 tests in 0.001s OK [414/453] Running secp256k1 test suite PASSED: secp256k1 test suite [424/453] Running pow test suite PASSED: pow test suite [445/453] Running bitcoin-qt test suite PASSED: bitcoin-qt test suite [450/453] Running bitcoin test suite PASSED: bitcoin test suite ninja: build stopped: cannot make progress due to previous errors. Build build-debug failed with exit code 1 |