It is possible for a peer to send a proof with a utxo from a block we don't have yet, especially after IBD completed since the latch is set after we got a block with time in the last 24h.
Details
Details
- Reviewers
sdulfari - Group Reviewers
Restricted Project - Commits
- rABC11390e0317a7: [avalanche] Don't ban a peer sending a proof with an unknown utxo
ninja all check-all
Diff Detail
Diff Detail
- Repository
- rABC Bitcoin ABC
- Branch
- avalanche_dont_ban_missing_utxo
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 19751 Build 39221: Build Diff build-without-wallet · build-diff · lint-circular-dependencies · build-debug · build-clang · build-clang-tidy Build 39220: arc lint + arc unit
Event Timeline
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-debug) failed.
Failed tests logs:
====== Bitcoin ABC functional tests: abc_p2p_avalanche_quorum.py --nolegacyavaproof ====== ------- Stdout: ------- 2022-07-29T14:25:18.100000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_ _20220729_142403/abc_p2p_avalanche_quorum_10 2022-07-29T14:25:41.041000Z TestFramework (ERROR): Assertion failed Traceback (most recent call last): File "/work/test/functional/test_framework/test_framework.py", line 136, in main self.run_test() File "/work/test/functional/abc_p2p_avalanche_quorum.py", line 227, in run_test poll_and_assert_response(node, AvalancheVoteError.UNKNOWN) File "/work/test/functional/abc_p2p_avalanche_quorum.py", line 104, in poll_and_assert_response assert_equal(actual, expected) File "/work/test/functional/test_framework/util.py", line 60, in assert_equal for arg in (thing1, thing2) + args))) AssertionError: not(AvalancheVote(error=0, hash=0a14ee7ad3570a6c3e44a49058edc32aea37d6ff4ad8108c0fe31d5ce63d221b) == AvalancheVote(error=-1, hash=0a14ee7ad3570a6c3e44a49058edc32aea37d6ff4ad8108c0fe31d5ce63d221b)) 2022-07-29T14:25:41.092000Z TestFramework (INFO): Stopping nodes 2022-07-29T14:25:41.898000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_ _20220729_142403/abc_p2p_avalanche_quorum_10 2022-07-29T14:25:41.898000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_ _20220729_142403/abc_p2p_avalanche_quorum_10/test_framework.log 2022-07-29T14:25:41.898000Z TestFramework (ERROR): 2022-07-29T14:25:41.898000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_ _20220729_142403/abc_p2p_avalanche_quorum_10' to consolidate all logs 2022-07-29T14:25:41.898000Z TestFramework (ERROR): 2022-07-29T14:25:41.898000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log. 2022-07-29T14:25:41.899000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues 2022-07-29T14:25:41.899000Z TestFramework (ERROR):
Each failure log is accessible here:
Bitcoin ABC functional tests: abc_p2p_avalanche_quorum.py --nolegacyavaproof
src/avalanche/test/peermanager_tests.cpp | ||
---|---|---|
2048 | Use PROOF_DUST_THRESHOLD to make the test more robust against changes. |
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-without-wallet) failed.
Failed tests logs:
====== Bitcoin ABC functional tests: abc_p2p_avalanche_proof_voting.py --nolegacyavaproof ====== ------- Stdout: ------- 2022-07-29T18:25:33.900000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-without-wallet/test/tmp/test_runner_₿₵_ _20220729_182425/abc_p2p_avalanche_proof_voting_13 2022-07-29T18:25:35.922000Z TestFramework (INFO): Trigger polling from the node... 2022-07-29T18:25:36.109000Z TestFramework (INFO): Check we poll for valid proof 2022-07-29T18:25:36.235000Z TestFramework (INFO): Check we don't poll for subsequent proofs if the cooldown is not elapsed, proof not the favorite 2022-07-29T18:25:36.286000Z TestFramework (INFO): Check we don't poll for subsequent proofs if the cooldown is not elapsed, proof is the favorite 2022-07-29T18:25:36.336000Z TestFramework (INFO): Check we poll for conflicting proof if the proof is not the favorite 2022-07-29T18:25:36.577000Z TestFramework (INFO): Check we poll for conflicting proof if the proof is the favorite 2022-07-29T18:26:36.618000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: '''' self.wait_until(lambda: self.can_find_proof_in_poll(proofid, response)) ''' 2022-07-29T18:26:36.618000Z TestFramework (ERROR): Assertion failed Traceback (most recent call last): File "/work/test/functional/test_framework/test_framework.py", line 136, in main self.run_test() File "/work/test/functional/abc_p2p_avalanche_proof_voting.py", line 117, in run_test self.poll_tests(node) File "/work/test/functional/abc_p2p_avalanche_proof_voting.py", line 173, in poll_tests self.send_and_check_for_polling(peer, proof_seq40) File "/work/test/functional/abc_p2p_avalanche_proof_voting.py", line 93, in send_and_check_for_polling self.wait_until(lambda: self.can_find_proof_in_poll(proofid, response)) File "/work/test/functional/test_framework/test_framework.py", line 677, in wait_until timeout_factor=self.options.timeout_factor) File "/work/test/functional/test_framework/util.py", line 284, in wait_until_helper "Predicate {} not true after {} seconds".format(predicate_source, timeout)) AssertionError: Predicate '''' self.wait_until(lambda: self.can_find_proof_in_poll(proofid, response)) ''' not true after 60.0 seconds 2022-07-29T18:26:36.669000Z TestFramework (INFO): Stopping nodes 2022-07-29T18:26:36.820000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-without-wallet/test/tmp/test_runner_₿₵_ _20220729_182425/abc_p2p_avalanche_proof_voting_13 2022-07-29T18:26:36.820000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-without-wallet/test/tmp/test_runner_₿₵_ _20220729_182425/abc_p2p_avalanche_proof_voting_13/test_framework.log 2022-07-29T18:26:36.821000Z TestFramework (ERROR): 2022-07-29T18:26:36.821000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-without-wallet/test/tmp/test_runner_₿₵_ _20220729_182425/abc_p2p_avalanche_proof_voting_13' to consolidate all logs 2022-07-29T18:26:36.821000Z TestFramework (ERROR): 2022-07-29T18:26:36.821000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log. 2022-07-29T18:26:36.821000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues 2022-07-29T18:26:36.821000Z TestFramework (ERROR):
Each failure log is accessible here:
Bitcoin ABC functional tests: abc_p2p_avalanche_proof_voting.py --nolegacyavaproof