Page MenuHomePhabricator

remove g_avalanche global
ClosedPublic

Authored by PiRK on Mon, May 27, 15:55.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC8b360fa01e8c: remove g_avalanche global
Summary

Make the avalanche processor a unique ptr managed by the node context.

Depends on D16270

Test Plan

ninja all check-all bench-bitcoin

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

remove unused EnsureAvalanche(node) in delegateavalancheproof RPC. This RPC does not need the processor to be initialized

Tail of the build log:

[447/502] Running utility command for check-bitcoin-rcu_tests
[448/502] bitcoin: testing coinstatsindex_tests
[449/502] bitcoin: testing denialofservice_tests
[450/502] Running utility command for check-bitcoin-miner_tests
[451/502] Running utility command for check-bitcoin-coinstatsindex_tests
[452/502] bitcoin: testing init_tests
[453/502] Running utility command for check-bitcoin-denialofservice_tests
[454/502] bitcoin: testing uint256_tests
[455/502] Running utility command for check-bitcoin-init_tests
[456/502] Running utility command for check-bitcoin-uint256_tests
[457/502] bitcoin: testing sighash_tests
[458/502] bitcoin: testing blockmanager_tests
[459/502] Running utility command for check-bitcoin-sighash_tests
[460/502] Running utility command for check-bitcoin-blockmanager_tests
[461/502] bitcoin: testing wallet_crypto_tests
[462/502] bitcoin: testing validation_chainstate_tests
[463/502] Running utility command for check-bitcoin-wallet_crypto_tests
[464/502] Running utility command for check-bitcoin-validation_chainstate_tests
[465/502] Linking CXX executable src/pow/test/test-pow
[466/502] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o
[467/502] pow: testing daa_tests
[468/502] Running utility command for check-pow-daa_tests
[469/502] pow: testing eda_tests
[470/502] Running utility command for check-pow-eda_tests
[471/502] Linking CXX executable src/qt/test/test_bitcoin-qt
[472/502] pow: testing grasberg_tests
[473/502] Running utility command for check-pow-grasberg_tests
[474/502] Building CXX object src/seeder/test/CMakeFiles/test-seeder.dir/fixture.cpp.o
[475/502] Linking CXX executable src/seeder/test/test-seeder
[476/502] seeder: testing options_tests
[477/502] seeder: testing p2p_messaging_tests
[478/502] seeder: testing message_writer_tests
[479/502] seeder: testing parse_name_tests
[480/502] Running utility command for check-seeder-parse_name_tests
[481/502] Running utility command for check-seeder-options_tests
[482/502] Running utility command for check-seeder-p2p_messaging_tests
[483/502] Running utility command for check-seeder-message_writer_tests
[484/502] seeder: testing write_name_tests
[485/502] Running utility command for check-seeder-write_name_tests
[486/502] Running seeder test suite
PASSED: seeder test suite
[487/502] bitcoin-qt: testing test_bitcoin-qt
[488/502] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[489/502] bitcoin: testing blockcheck_tests
[490/502] Running utility command for check-bitcoin-blockcheck_tests
[491/502] bitcoin: testing wallet_tests
[492/502] Running utility command for check-bitcoin-wallet_tests
[493/502] bitcoin: testing coinselector_tests
[494/502] Running utility command for check-bitcoin-coinselector_tests
[495/502] pow: testing aserti32d_tests
[496/502] Running utility command for check-pow-aserti32d_tests
[497/502] Running pow test suite
PASSED: pow test suite
[498/502] bitcoin: testing coins_tests
[499/502] Running utility command for check-bitcoin-coins_tests
[500/502] Running bitcoin test suite
PASSED: bitcoin test suite
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang failed with exit code 1

Tail of the build log:

[440/495] Running utility command for check-bitcoin-coinstatsindex_tests
[441/495] Running utility command for check-bitcoin-result_tests
[442/495] Running utility command for check-bitcoin-psbt_wallet_tests
[443/495] bitcoin: testing init_tests
[444/495] bitcoin: testing denialofservice_tests
[445/495] Running utility command for check-bitcoin-init_tests
[446/495] bitcoin: testing uint256_tests
[447/495] Running utility command for check-bitcoin-denialofservice_tests
[448/495] bitcoin: testing sighash_tests
[449/495] Running utility command for check-bitcoin-uint256_tests
[450/495] bitcoin: testing blockmanager_tests
[451/495] Running utility command for check-bitcoin-sighash_tests
[452/495] bitcoin: testing validation_chainstate_tests
[453/495] Running utility command for check-bitcoin-blockmanager_tests
[454/495] pow: testing daa_tests
[455/495] Running utility command for check-bitcoin-validation_chainstate_tests
[456/495] bitcoin: testing rcu_tests
[457/495] Running utility command for check-pow-daa_tests
[458/495] Running utility command for check-bitcoin-rcu_tests
[459/495] pow: testing eda_tests
[460/495] Running utility command for check-pow-eda_tests
[461/495] Linking CXX executable src/seeder/test/test-seeder
[462/495] bitcoin: testing wallet_crypto_tests
[463/495] Running utility command for check-bitcoin-wallet_crypto_tests
[464/495] pow: testing grasberg_tests
[465/495] seeder: testing p2p_messaging_tests
[466/495] Running utility command for check-pow-grasberg_tests
[467/495] seeder: testing parse_name_tests
[468/495] seeder: testing message_writer_tests
[469/495] seeder: testing options_tests
[470/495] seeder: testing write_name_tests
[471/495] Running utility command for check-seeder-p2p_messaging_tests
[472/495] Running utility command for check-seeder-parse_name_tests
[473/495] Running utility command for check-seeder-message_writer_tests
[474/495] Running utility command for check-seeder-options_tests
[475/495] Running utility command for check-seeder-write_name_tests
[476/495] Running seeder test suite
PASSED: seeder test suite
[477/495] bitcoin: testing blockcheck_tests
[478/495] Running utility command for check-bitcoin-blockcheck_tests
[479/495] bitcoin: testing wallet_tests
[480/495] Running utility command for check-bitcoin-wallet_tests
[481/495] pow: testing aserti32d_tests
[482/495] Running utility command for check-pow-aserti32d_tests
[483/495] Running pow test suite
PASSED: pow test suite
[484/495] bitcoin: testing coinselector_tests
[485/495] Running utility command for check-bitcoin-coinselector_tests
[486/495] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o
[487/495] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o
[488/495] bitcoin: testing coins_tests
[489/495] Running utility command for check-bitcoin-coins_tests
[490/495] Running bitcoin test suite
PASSED: bitcoin test suite
[491/495] Linking CXX executable src/qt/test/test_bitcoin-qt
[492/495] bitcoin-qt: testing test_bitcoin-qt
[493/495] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang-tidy failed with exit code 1

Failed tests logs:

====== Bitcoin ABC functional tests: abc_feature_persist_avapeers.py ======

------- Stdout: -------
2024-05-28T06:36:36.801000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_  _20240528_063134/abc_feature_persist_avapeers_66
2024-05-28T06:36:45.387000Z TestFramework (INFO): Check the node dumps the peer set to a file upon shutdown
2024-05-28T06:36:45.395000Z TestFramework.p2p (WARNING): Connection lost to 127.0.0.1:20290 due to [Errno 104] Connection reset by peer
2024-05-28T06:36:45.396000Z TestFramework.p2p (WARNING): Connection lost to 127.0.0.1:20290 due to [Errno 104] Connection reset by peer
2024-05-28T06:36:45.440000Z TestFramework (INFO): Check the loads the dump file upon startup
2024-05-28T06:36:46.215000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/abc_feature_persist_avapeers.py", line 111, in run_test
    self.start_node(
  File "/work/test/functional/test_framework/test_framework.py", line 612, in start_node
    node.wait_for_rpc_connection()
  File "/work/test/functional/test_framework/test_node.py", line 348, in wait_for_rpc_connection
    raise FailedToStartError(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status -6 during initialization
2024-05-28T06:36:46.266000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/abc_feature_persist_avapeers.py", line 200, in <module>
    AvalanchePersistAvapeers().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 501, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 278, in __getattr__
    assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
AssertionError: [node 0] Error: RPC not initialized
====== Bitcoin ABC functional tests: abc_rpc_avalancheproof.py ======

------- Stdout: -------
2024-05-28T06:35:36.907000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_  _20240528_063134/abc_rpc_avalancheproof_43
2024-05-28T06:35:37.814000Z TestFramework (INFO): Make build a valid proof and restart the node to use it
2024-05-28T06:35:37.820000Z TestFramework (INFO): Test decodeavalancheproof RPC
2024-05-28T06:35:38.480000Z TestFramework (INFO): The proof is registered at first chaintip update if we have inbounds
2024-05-28T06:35:38.593000Z TestFramework (INFO): Start a node with an immature proof
2024-05-28T06:35:40.277000Z TestFramework (INFO): Generate delegations for the proof, verify and decode them
2024-05-28T06:35:40.413000Z TestFramework (INFO): Check the delegation levels are limited
2024-05-28T06:35:40.436000Z TestFramework (INFO): Check the verifyavalancheproof and sendavalancheproof RPCs
2024-05-28T06:35:40.436000Z TestFramework (INFO): Check a proof with the maximum number of UTXO is valid
2024-05-28T06:35:51.330000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/abc_rpc_avalancheproof.py", line 500, in run_test
    self.restart_node(
  File "/work/test/functional/test_framework/test_framework.py", line 654, in restart_node
    self.start_node(i, extra_args)
  File "/work/test/functional/test_framework/test_framework.py", line 612, in start_node
    node.wait_for_rpc_connection()
  File "/work/test/functional/test_framework/test_node.py", line 348, in wait_for_rpc_connection
    raise FailedToStartError(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status -6 during initialization
2024-05-28T06:35:51.382000Z TestFramework (INFO): Stopping nodes
[node 1] Cleaning up leftover process
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/abc_rpc_avalancheproof.py", line 721, in <module>
    AvalancheProofTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 501, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 278, in __getattr__
    assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
AssertionError: [node 0] Error: RPC not initialized

Each failure log is accessible here:
Bitcoin ABC functional tests: abc_feature_persist_avapeers.py
Bitcoin ABC functional tests: abc_rpc_avalancheproof.py

Failed tests logs:

====== Bitcoin ABC functional tests: abc_feature_persist_avapeers.py ======

------- Stdout: -------
2024-05-28T06:47:20.122000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-without-wallet/test/tmp/test_runner_₿₵_  _20240528_064533/abc_feature_persist_avapeers_66
2024-05-28T06:47:27.382000Z TestFramework (INFO): Check the node dumps the peer set to a file upon shutdown
2024-05-28T06:47:27.534000Z TestFramework (INFO): Check the loads the dump file upon startup
2024-05-28T06:47:28.038000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/abc_feature_persist_avapeers.py", line 111, in run_test
    self.start_node(
  File "/work/test/functional/test_framework/test_framework.py", line 612, in start_node
    node.wait_for_rpc_connection()
  File "/work/test/functional/test_framework/test_node.py", line 348, in wait_for_rpc_connection
    raise FailedToStartError(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status -6 during initialization
2024-05-28T06:47:28.089000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/abc_feature_persist_avapeers.py", line 200, in <module>
    AvalanchePersistAvapeers().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 501, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 278, in __getattr__
    assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
AssertionError: [node 0] Error: RPC not initialized
====== Bitcoin ABC functional tests: abc_rpc_avalancheproof.py ======

------- Stdout: -------
2024-05-28T06:47:03.973000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-without-wallet/test/tmp/test_runner_₿₵_  _20240528_064533/abc_rpc_avalancheproof_43
2024-05-28T06:47:04.436000Z TestFramework (INFO): Make build a valid proof and restart the node to use it
2024-05-28T06:47:04.440000Z TestFramework (INFO): Test decodeavalancheproof RPC
2024-05-28T06:47:04.846000Z TestFramework (INFO): The proof is registered at first chaintip update if we have inbounds
2024-05-28T06:47:04.952000Z TestFramework (INFO): Start a node with an immature proof
2024-05-28T06:47:06.371000Z TestFramework (INFO): Generate delegations for the proof, verify and decode them
2024-05-28T06:47:06.472000Z TestFramework (INFO): Check the delegation levels are limited
2024-05-28T06:47:06.488000Z TestFramework (INFO): Check the verifyavalancheproof and sendavalancheproof RPCs
2024-05-28T06:47:07.102000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/abc_rpc_avalancheproof.py", line 500, in run_test
    self.restart_node(
  File "/work/test/functional/test_framework/test_framework.py", line 654, in restart_node
    self.start_node(i, extra_args)
  File "/work/test/functional/test_framework/test_framework.py", line 612, in start_node
    node.wait_for_rpc_connection()
  File "/work/test/functional/test_framework/test_node.py", line 348, in wait_for_rpc_connection
    raise FailedToStartError(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status -6 during initialization
2024-05-28T06:47:07.153000Z TestFramework (INFO): Stopping nodes
[node 1] Cleaning up leftover process
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/abc_rpc_avalancheproof.py", line 721, in <module>
    AvalancheProofTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 501, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 278, in __getattr__
    assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
AssertionError: [node 0] Error: RPC not initialized

Each failure log is accessible here:
Bitcoin ABC functional tests: abc_feature_persist_avapeers.py
Bitcoin ABC functional tests: abc_rpc_avalancheproof.py

Failed tests logs:

====== Bitcoin ABC functional tests: abc_feature_persist_avapeers.py ======

------- Stdout: -------
2024-05-28T06:46:02.645000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20240528_064309/abc_feature_persist_avapeers_66
2024-05-28T06:46:11.208000Z TestFramework (INFO): Check the node dumps the peer set to a file upon shutdown
2024-05-28T06:46:11.362000Z TestFramework (INFO): Check the loads the dump file upon startup
2024-05-28T06:46:11.877000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/abc_feature_persist_avapeers.py", line 111, in run_test
    self.start_node(
  File "/work/test/functional/test_framework/test_framework.py", line 612, in start_node
    node.wait_for_rpc_connection()
  File "/work/test/functional/test_framework/test_node.py", line 348, in wait_for_rpc_connection
    raise FailedToStartError(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status -6 during initialization
2024-05-28T06:46:11.928000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/abc_feature_persist_avapeers.py", line 200, in <module>
    AvalanchePersistAvapeers().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 501, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 278, in __getattr__
    assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
AssertionError: [node 0] Error: RPC not initialized
====== Bitcoin ABC functional tests: abc_rpc_avalancheproof.py ======

------- Stdout: -------
2024-05-28T06:45:25.697000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20240528_064309/abc_rpc_avalancheproof_43
2024-05-28T06:45:26.202000Z TestFramework (INFO): Make build a valid proof and restart the node to use it
2024-05-28T06:45:26.206000Z TestFramework (INFO): Test decodeavalancheproof RPC
2024-05-28T06:45:26.612000Z TestFramework (INFO): The proof is registered at first chaintip update if we have inbounds
2024-05-28T06:45:26.719000Z TestFramework (INFO): Start a node with an immature proof
2024-05-28T06:45:28.135000Z TestFramework (INFO): Generate delegations for the proof, verify and decode them
2024-05-28T06:45:28.230000Z TestFramework (INFO): Check the delegation levels are limited
2024-05-28T06:45:28.245000Z TestFramework (INFO): Check the verifyavalancheproof and sendavalancheproof RPCs
2024-05-28T06:45:28.245000Z TestFramework (INFO): Check a proof with the maximum number of UTXO is valid
2024-05-28T06:45:31.795000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/abc_rpc_avalancheproof.py", line 500, in run_test
    self.restart_node(
  File "/work/test/functional/test_framework/test_framework.py", line 654, in restart_node
    self.start_node(i, extra_args)
  File "/work/test/functional/test_framework/test_framework.py", line 612, in start_node
    node.wait_for_rpc_connection()
  File "/work/test/functional/test_framework/test_node.py", line 348, in wait_for_rpc_connection
    raise FailedToStartError(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status -6 during initialization
2024-05-28T06:45:31.846000Z TestFramework (INFO): Stopping nodes
[node 1] Cleaning up leftover process
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/abc_rpc_avalancheproof.py", line 721, in <module>
    AvalancheProofTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 501, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 278, in __getattr__
    assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
AssertionError: [node 0] Error: RPC not initialized
====== Bitcoin ABC functional tests with the next upgrade activated: abc_feature_persist_avapeers.py ======

------- Stdout: -------
2024-05-28T06:50:13.933000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20240528_064732/abc_feature_persist_avapeers_66
2024-05-28T06:50:22.316000Z TestFramework (INFO): Check the node dumps the peer set to a file upon shutdown
2024-05-28T06:50:22.469000Z TestFramework (INFO): Check the loads the dump file upon startup
2024-05-28T06:50:22.976000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/abc_feature_persist_avapeers.py", line 111, in run_test
    self.start_node(
  File "/work/test/functional/test_framework/test_framework.py", line 612, in start_node
    node.wait_for_rpc_connection()
  File "/work/test/functional/test_framework/test_node.py", line 348, in wait_for_rpc_connection
    raise FailedToStartError(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status -6 during initialization
2024-05-28T06:50:23.027000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/abc_feature_persist_avapeers.py", line 200, in <module>
    AvalanchePersistAvapeers().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 501, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 278, in __getattr__
    assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
AssertionError: [node 0] Error: RPC not initialized
====== Bitcoin ABC functional tests with the next upgrade activated: abc_rpc_avalancheproof.py ======

------- Stdout: -------
2024-05-28T06:49:38.018000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20240528_064732/abc_rpc_avalancheproof_43
2024-05-28T06:49:38.511000Z TestFramework (INFO): Make build a valid proof and restart the node to use it
2024-05-28T06:49:38.515000Z TestFramework (INFO): Test decodeavalancheproof RPC
2024-05-28T06:49:38.921000Z TestFramework (INFO): The proof is registered at first chaintip update if we have inbounds
2024-05-28T06:49:39.027000Z TestFramework (INFO): Start a node with an immature proof
2024-05-28T06:49:39.441000Z TestFramework (INFO): Generate delegations for the proof, verify and decode them
2024-05-28T06:49:39.555000Z TestFramework (INFO): Check the delegation levels are limited
2024-05-28T06:49:39.570000Z TestFramework (INFO): Check the verifyavalancheproof and sendavalancheproof RPCs
2024-05-28T06:49:39.570000Z TestFramework (INFO): Check a proof with the maximum number of UTXO is valid
2024-05-28T06:49:43.047000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/abc_rpc_avalancheproof.py", line 500, in run_test
    self.restart_node(
  File "/work/test/functional/test_framework/test_framework.py", line 654, in restart_node
    self.start_node(i, extra_args)
  File "/work/test/functional/test_framework/test_framework.py", line 612, in start_node
    node.wait_for_rpc_connection()
  File "/work/test/functional/test_framework/test_node.py", line 348, in wait_for_rpc_connection
    raise FailedToStartError(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status -6 during initialization
2024-05-28T06:49:43.098000Z TestFramework (INFO): Stopping nodes
[node 1] Cleaning up leftover process
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/abc_rpc_avalancheproof.py", line 721, in <module>
    AvalancheProofTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 501, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 278, in __getattr__
    assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
AssertionError: [node 0] Error: RPC not initialized

Each failure log is accessible here:
Bitcoin ABC functional tests: abc_feature_persist_avapeers.py
Bitcoin ABC functional tests: abc_rpc_avalancheproof.py
Bitcoin ABC functional tests with the next upgrade activated: abc_feature_persist_avapeers.py
Bitcoin ABC functional tests with the next upgrade activated: abc_rpc_avalancheproof.py

Tail of the build log:

  File "/work/abc-ci-builds/ecash-lib-integration-tests/test/functional/test_runner.py", line 361, in main
    os.makedirs(tmpdir)
  File "/usr/lib/python3.9/os.py", line 225, in makedirs
    mkdir(name, mode)
FileExistsError: [Errno 17] File exists: '/work/abc-ci-builds/ecash-lib-integration-tests/test/tmp/test_runner_₿₵_🏃_20240528_070059'
Test runner completed with code 1
----------------------------|---------|----------|---------|---------|------------------------------
File                        | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s            
----------------------------|---------|----------|---------|---------|------------------------------
All files                   |   63.22 |    52.85 |   62.85 |   63.27 |                              
 ecash-lib                  |       0 |        0 |       0 |       0 |                              
  eslint.config.js          |       0 |        0 |       0 |       0 |                              
 ecash-lib/src              |   74.36 |    53.57 |   74.02 |   74.14 |                              
  ecc.ts                    |   57.14 |       80 |      40 |   57.14 | 23-31                        
  hash.ts                   |   88.88 |       80 |      80 |   88.88 | 14                           
  index.ts                  |       0 |        0 |       0 |       0 |                              
  indexBrowser.ts           |       0 |        0 |       0 |       0 |                              
  indexNodeJs.ts            |       0 |        0 |       0 |       0 |                              
  initBrowser.ts            |       0 |      100 |       0 |       0 | 11-13                        
  initNodeJs.ts             |     100 |      100 |     100 |     100 |                              
  op.ts                     |   49.15 |    55.55 |      80 |   49.15 | ...89,92,104,107,109,117-122 
  opcode.ts                 |     100 |       80 |     100 |     100 | 1                            
  script.ts                 |    61.7 |    36.36 |   64.28 |      60 | ...88-99,110,120,130,152-163 
  sigHashType.ts            |   77.77 |    37.03 |   85.71 |   77.77 | 26-38                        
  tx.ts                     |   93.47 |    78.26 |    90.9 |   93.18 | 123-125                      
  txBuilder.ts              |   52.74 |    37.83 |   66.66 |   51.72 | ...3-107,124-179,214,244-248 
  unsignedTx.ts             |    73.8 |    56.25 |   78.57 |   74.07 | ...3,151,159,184,192,198-201 
 ecash-lib/src/ffi          |   28.26 |    15.94 |   16.98 |   28.98 |                              
  ecash_lib_wasm_browser.js |       0 |        0 |       0 |       0 | 3-336                        
  ecash_lib_wasm_nodejs.js  |    61.9 |       55 |   39.13 |   62.75 | ...1,197-215,237,250-251,255 
 ecash-lib/src/io           |   59.55 |       60 |   70.58 |   58.77 |                              
  bytes.ts                  |     7.4 |    57.14 |    12.5 |     7.4 | 13-64                        
  hex.ts                    |   82.05 |    66.66 |      80 |   82.35 | 41-45,50,58                  
  int.ts                    |       0 |        0 |       0 |       0 |                              
  str.ts                    |   85.71 |       80 |   66.66 |   85.71 | 15                           
  varsize.ts                |      32 |    33.33 |   66.66 |      32 | 14-24,40-47                  
  writer.ts                 |       0 |        0 |       0 |       0 |                              
  writerbytes.ts            |   83.33 |    73.91 |     100 |   83.33 | 33,43,53,63,79               
  writerlength.ts           |     100 |       80 |     100 |     100 | 1                            
 ecash-lib/src/test         |   87.67 |       58 |    87.5 |   88.23 |                              
  testRunner.ts             |   87.67 |       58 |    87.5 |   88.23 | 69-71,84-85,108,119,162      
 ecash-lib/src/token        |   87.15 |    74.02 |   93.33 |   87.07 |                              
  alp.ts                    |   82.92 |    89.47 |   83.33 |   82.92 | 110-123,142                  
  common.ts                 |     100 |       80 |     100 |     100 | 1                            
  empp.ts                   |    92.3 |    77.77 |     100 |   91.66 | 12                           
  slp.ts                    |   89.74 |     65.9 |     100 |   89.74 | ...9,161,167,175,178,197,202 
----------------------------|---------|----------|---------|---------|------------------------------

##teamcity[blockOpened name='Code Coverage Summary']
##teamcity[buildStatisticValue key='CodeCoverageAbsBCovered' value='772']
##teamcity[buildStatisticValue key='CodeCoverageAbsBTotal' value='1221']
##teamcity[buildStatisticValue key='CodeCoverageAbsRCovered' value='259']
##teamcity[buildStatisticValue key='CodeCoverageAbsRTotal' value='490']
##teamcity[buildStatisticValue key='CodeCoverageAbsMCovered' value='132']
##teamcity[buildStatisticValue key='CodeCoverageAbsMTotal' value='210']
##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='753']
##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='1190']
##teamcity[blockClosed name='Code Coverage Summary']
mv: cannot stat 'test_results/ecash-lib-integration-tests-junit.xml': No such file or directory
Build ecash-lib-integration-tests failed with exit code 1

Failed tests logs:

====== Bitcoin ABC functional tests: abc_feature_persist_avapeers.py ======

------- Stdout: -------
2024-05-28T06:34:21.711000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_  _20240528_063002/abc_feature_persist_avapeers_66
2024-05-28T06:34:29.688000Z TestFramework (INFO): Check the node dumps the peer set to a file upon shutdown
2024-05-28T06:34:30.040000Z TestFramework (INFO): Check the loads the dump file upon startup
2024-05-28T06:34:30.562000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/abc_feature_persist_avapeers.py", line 111, in run_test
    self.start_node(
  File "/work/test/functional/test_framework/test_framework.py", line 612, in start_node
    node.wait_for_rpc_connection()
  File "/work/test/functional/test_framework/test_node.py", line 348, in wait_for_rpc_connection
    raise FailedToStartError(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status -6 during initialization
2024-05-28T06:34:30.613000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/abc_feature_persist_avapeers.py", line 200, in <module>
    AvalanchePersistAvapeers().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 501, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 278, in __getattr__
    assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
AssertionError: [node 0] Error: RPC not initialized
====== Bitcoin ABC functional tests: abc_rpc_avalancheproof.py ======

------- Stdout: -------
2024-05-28T06:33:23.201000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_  _20240528_063002/abc_rpc_avalancheproof_43
2024-05-28T06:33:24.776000Z TestFramework (INFO): Make build a valid proof and restart the node to use it
2024-05-28T06:33:24.779000Z TestFramework (INFO): Test decodeavalancheproof RPC
2024-05-28T06:33:25.692000Z TestFramework (INFO): The proof is registered at first chaintip update if we have inbounds
2024-05-28T06:33:25.809000Z TestFramework (INFO): Start a node with an immature proof
2024-05-28T06:33:27.492000Z TestFramework (INFO): Generate delegations for the proof, verify and decode them
2024-05-28T06:33:27.586000Z TestFramework (INFO): Check the delegation levels are limited
2024-05-28T06:33:27.601000Z TestFramework (INFO): Check the verifyavalancheproof and sendavalancheproof RPCs
2024-05-28T06:33:27.601000Z TestFramework (INFO): Check a proof with the maximum number of UTXO is valid
2024-05-28T06:33:31.735000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/abc_rpc_avalancheproof.py", line 500, in run_test
    self.restart_node(
  File "/work/test/functional/test_framework/test_framework.py", line 654, in restart_node
    self.start_node(i, extra_args)
  File "/work/test/functional/test_framework/test_framework.py", line 612, in start_node
    node.wait_for_rpc_connection()
  File "/work/test/functional/test_framework/test_node.py", line 348, in wait_for_rpc_connection
    raise FailedToStartError(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status -6 during initialization
2024-05-28T06:33:31.787000Z TestFramework (INFO): Stopping nodes
[node 1] Cleaning up leftover process
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/abc_rpc_avalancheproof.py", line 721, in <module>
    AvalancheProofTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 501, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 278, in __getattr__
    assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
AssertionError: [node 0] Error: RPC not initialized

Each failure log is accessible here:
Bitcoin ABC functional tests: abc_feature_persist_avapeers.py
Bitcoin ABC functional tests: abc_rpc_avalancheproof.py

Failed tests logs:

====== Bitcoin ABC functional tests: abc_feature_persist_avapeers.py ======

------- Stdout: -------
2024-05-28T06:39:35.374000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_  _20240528_063517/abc_feature_persist_avapeers_66
2024-05-28T06:39:44.668000Z TestFramework (INFO): Check the node dumps the peer set to a file upon shutdown
2024-05-28T06:39:45.073000Z TestFramework (INFO): Check the loads the dump file upon startup
2024-05-28T06:39:45.624000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/abc_feature_persist_avapeers.py", line 111, in run_test
    self.start_node(
  File "/work/test/functional/test_framework/test_framework.py", line 612, in start_node
    node.wait_for_rpc_connection()
  File "/work/test/functional/test_framework/test_node.py", line 348, in wait_for_rpc_connection
    raise FailedToStartError(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status -6 during initialization
2024-05-28T06:39:45.679000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/abc_feature_persist_avapeers.py", line 200, in <module>
    AvalanchePersistAvapeers().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 501, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 278, in __getattr__
    assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
AssertionError: [node 0] Error: RPC not initialized
====== Bitcoin ABC functional tests: abc_rpc_avalancheproof.py ======

------- Stdout: -------
2024-05-28T06:38:36.402000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_  _20240528_063517/abc_rpc_avalancheproof_43
2024-05-28T06:38:37.949000Z TestFramework (INFO): Make build a valid proof and restart the node to use it
2024-05-28T06:38:37.952000Z TestFramework (INFO): Test decodeavalancheproof RPC
2024-05-28T06:38:38.814000Z TestFramework (INFO): The proof is registered at first chaintip update if we have inbounds
2024-05-28T06:38:38.920000Z TestFramework (INFO): Start a node with an immature proof
2024-05-28T06:38:39.604000Z TestFramework (INFO): Generate delegations for the proof, verify and decode them
2024-05-28T06:38:39.748000Z TestFramework (INFO): Check the delegation levels are limited
2024-05-28T06:38:39.762000Z TestFramework (INFO): Check the verifyavalancheproof and sendavalancheproof RPCs
2024-05-28T06:38:39.762000Z TestFramework (INFO): Check a proof with the maximum number of UTXO is valid
2024-05-28T06:38:44.243000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/abc_rpc_avalancheproof.py", line 500, in run_test
    self.restart_node(
  File "/work/test/functional/test_framework/test_framework.py", line 654, in restart_node
    self.start_node(i, extra_args)
  File "/work/test/functional/test_framework/test_framework.py", line 612, in start_node
    node.wait_for_rpc_connection()
  File "/work/test/functional/test_framework/test_node.py", line 348, in wait_for_rpc_connection
    raise FailedToStartError(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status -6 during initialization
2024-05-28T06:38:44.295000Z TestFramework (INFO): Stopping nodes
[node 1] Cleaning up leftover process
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/abc_rpc_avalancheproof.py", line 721, in <module>
    AvalancheProofTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 501, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 278, in __getattr__
    assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
AssertionError: [node 0] Error: RPC not initialized

Each failure log is accessible here:
Bitcoin ABC functional tests: abc_feature_persist_avapeers.py
Bitcoin ABC functional tests: abc_rpc_avalancheproof.py

PiRK edited the summary of this revision. (Show Details)

pass the avalanche processor to the chainstate later, not immediately via the constructor. Pass the processor only to the active chainstate. For now we always now that the chainste loaded during init will remain active for the duration of the bitcoind process. We will need to worry about resetting the avalanche pointer on the correct chainstate later, once loadtxouset is implemented, because then we will see a chage in active chainstate triggered by a RPC call (see assumeutxo.md notes).

Tail of the build log:

[447/502] Running utility command for check-bitcoin-miner_tests
[448/502] Running utility command for check-bitcoin-mempool_tests
[449/502] bitcoin: testing init_tests
[450/502] bitcoin: testing cuckoocache_tests
[451/502] bitcoin: testing denialofservice_tests
[452/502] Running utility command for check-bitcoin-init_tests
[453/502] Running utility command for check-bitcoin-denialofservice_tests
[454/502] Running utility command for check-bitcoin-cuckoocache_tests
[455/502] bitcoin: testing uint256_tests
[456/502] bitcoin: testing coinstatsindex_tests
[457/502] bitcoin: testing sighash_tests
[458/502] Running utility command for check-bitcoin-uint256_tests
[459/502] Running utility command for check-bitcoin-coinstatsindex_tests
[460/502] Running utility command for check-bitcoin-sighash_tests
[461/502] bitcoin: testing blockmanager_tests
[462/502] bitcoin: testing validation_chainstate_tests
[463/502] Running utility command for check-bitcoin-validation_chainstate_tests
[464/502] Running utility command for check-bitcoin-blockmanager_tests
[465/502] Linking CXX executable src/pow/test/test-pow
[466/502] bitcoin: testing wallet_crypto_tests
[467/502] pow: testing daa_tests
[468/502] Running utility command for check-bitcoin-wallet_crypto_tests
[469/502] Running utility command for check-pow-daa_tests
[470/502] Linking CXX executable src/seeder/test/test-seeder
[471/502] Linking CXX executable src/qt/test/test_bitcoin-qt
[472/502] pow: testing eda_tests
[473/502] Running utility command for check-pow-eda_tests
[474/502] seeder: testing message_writer_tests
[475/502] seeder: testing p2p_messaging_tests
[476/502] seeder: testing parse_name_tests
[477/502] seeder: testing options_tests
[478/502] seeder: testing write_name_tests
[479/502] Running utility command for check-seeder-parse_name_tests
[480/502] Running utility command for check-seeder-p2p_messaging_tests
[481/502] Running utility command for check-seeder-options_tests
[482/502] Running utility command for check-seeder-message_writer_tests
[483/502] Running utility command for check-seeder-write_name_tests
[484/502] Running seeder test suite
PASSED: seeder test suite
[485/502] pow: testing grasberg_tests
[486/502] Running utility command for check-pow-grasberg_tests
[487/502] bitcoin: testing blockcheck_tests
[488/502] Running utility command for check-bitcoin-blockcheck_tests
[489/502] bitcoin-qt: testing test_bitcoin-qt
[490/502] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[491/502] bitcoin: testing wallet_tests
[492/502] Running utility command for check-bitcoin-wallet_tests
[493/502] pow: testing aserti32d_tests
[494/502] Running utility command for check-pow-aserti32d_tests
[495/502] Running pow test suite
PASSED: pow test suite
[496/502] bitcoin: testing coinselector_tests
[497/502] Running utility command for check-bitcoin-coinselector_tests
[498/502] bitcoin: testing coins_tests
[499/502] Running utility command for check-bitcoin-coins_tests
[500/502] Running bitcoin test suite
PASSED: bitcoin test suite
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang failed with exit code 1

Tail of the build log:

[440/495] bitcoin: testing result_tests
[441/495] Running utility command for check-bitcoin-result_tests
[442/495] bitcoin: testing init_tests
[443/495] Running utility command for check-bitcoin-rcu_tests
[444/495] bitcoin: testing coinstatsindex_tests
[445/495] Running utility command for check-bitcoin-init_tests
[446/495] Running utility command for check-pow-aserti32d_tests
[447/495] bitcoin: testing uint256_tests
[448/495] Running utility command for check-bitcoin-coinstatsindex_tests
[449/495] bitcoin: testing denialofservice_tests
[450/495] bitcoin: testing sighash_tests
[451/495] Running utility command for check-bitcoin-uint256_tests
[452/495] Running utility command for check-bitcoin-sighash_tests
[453/495] Running utility command for check-bitcoin-denialofservice_tests
[454/495] bitcoin: testing blockmanager_tests
[455/495] bitcoin: testing validation_chainstate_tests
[456/495] pow: testing eda_tests
[457/495] Running utility command for check-bitcoin-blockmanager_tests
[458/495] Running utility command for check-bitcoin-validation_chainstate_tests
[459/495] Running utility command for check-pow-eda_tests
[460/495] bitcoin: testing wallet_crypto_tests
[461/495] pow: testing grasberg_tests
[462/495] Running utility command for check-pow-grasberg_tests
[463/495] Running pow test suite
PASSED: pow test suite
[464/495] Running utility command for check-bitcoin-wallet_crypto_tests
[465/495] bitcoin: testing blockcheck_tests
[466/495] Running utility command for check-bitcoin-blockcheck_tests
[467/495] bitcoin: testing wallet_tests
[468/495] Running utility command for check-bitcoin-wallet_tests
[469/495] bitcoin: testing coinselector_tests
[470/495] Running utility command for check-bitcoin-coinselector_tests
[471/495] Building CXX object src/seeder/test/CMakeFiles/test-seeder.dir/fixture.cpp.o
[472/495] Linking CXX executable src/seeder/test/test-seeder
[473/495] seeder: testing options_tests
[474/495] seeder: testing p2p_messaging_tests
[475/495] seeder: testing parse_name_tests
[476/495] seeder: testing message_writer_tests
[477/495] Running utility command for check-seeder-p2p_messaging_tests
[478/495] seeder: testing write_name_tests
[479/495] Running utility command for check-seeder-options_tests
[480/495] Running utility command for check-seeder-parse_name_tests
[481/495] Running utility command for check-seeder-message_writer_tests
[482/495] Running utility command for check-seeder-write_name_tests
[483/495] Running seeder test suite
PASSED: seeder test suite
[484/495] bitcoin: testing coins_tests
[485/495] Running utility command for check-bitcoin-coins_tests
[486/495] Running bitcoin test suite
PASSED: bitcoin test suite
[487/495] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/wallet/test/wallet_test_fixture.cpp.o
[488/495] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/paymentservertests.cpp.o
[489/495] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o
[490/495] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o
[491/495] Linking CXX executable src/qt/test/test_bitcoin-qt
[492/495] bitcoin-qt: testing test_bitcoin-qt
[493/495] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang-tidy failed with exit code 1

Tail of the build log:

chronik_script_confirmed_txs.py            | ○ Skipped | 0 s
chronik_script_history.py                  | ○ Skipped | 0 s
chronik_script_unconfirmed_txs.py          | ○ Skipped | 0 s
chronik_script_utxos.py                    | ○ Skipped | 0 s
chronik_serve.py                           | ○ Skipped | 0 s
chronik_spent_by.py                        | ○ Skipped | 0 s
chronik_token_alp.py                       | ○ Skipped | 0 s
chronik_token_broadcast_txs.py             | ○ Skipped | 0 s
chronik_token_burn.py                      | ○ Skipped | 0 s
chronik_token_id_group.py                  | ○ Skipped | 0 s
chronik_token_parse_failure.py             | ○ Skipped | 0 s
chronik_token_script_group.py              | ○ Skipped | 0 s
chronik_token_slp_fungible.py              | ○ Skipped | 0 s
chronik_token_slp_mint_vault.py            | ○ Skipped | 0 s
chronik_token_slp_nft1.py                  | ○ Skipped | 0 s
chronik_tx.py                              | ○ Skipped | 0 s
chronik_tx_removal_order.py                | ○ Skipped | 0 s
chronik_ws.py                              | ○ Skipped | 0 s
chronik_ws_ordering.py                     | ○ Skipped | 0 s
chronik_ws_ping.py                         | ○ Skipped | 0 s
chronik_ws_script.py                       | ○ Skipped | 0 s
feature_bind_port_discover.py              | ○ Skipped | 0 s
feature_bind_port_externalip.py            | ○ Skipped | 0 s
interface_usdt_net.py                      | ○ Skipped | 0 s
interface_usdt_utxocache.py                | ○ Skipped | 0 s
interface_usdt_validation.py               | ○ Skipped | 0 s

ALL                                        | ✓ Passed  | 2205 s (accumulated) 
Runtime: 446 s

[273/503] 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 45 test cases...
../../src/avalanche/test/processor_tests.cpp(2252): error: in "processor_tests/block_reconcile_initial_vote": check invs.size() == 1 has failed [0 != 1]
Segmentation fault (core dumped)
[305/503] Running secp256k1 test suite
PASSED: secp256k1 test suite
[459/503] Running pow test suite
PASSED: pow test suite
[473/503] Test Bitcoin RPC authentication...
...
----------------------------------------------------------------------
Ran 3 tests in 0.007s

OK
[475/503] cd /work/contrib/devtools/chainparams && /usr/bin/python3.9 ./test_make_chainparams.py
.....
----------------------------------------------------------------------
Ran 5 tests in 0.001s

OK
[478/503] Running seeder test suite
PASSED: seeder test suite
[489/503] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[500/503] 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

Tail of the build log:

wallet_keypool_topup.py                    | ○ Skipped | 0 s
wallet_keypool_topup.py --descriptors      | ○ Skipped | 0 s
wallet_labels.py                           | ○ Skipped | 0 s
wallet_labels.py --descriptors             | ○ Skipped | 0 s
wallet_listreceivedby.py                   | ○ Skipped | 0 s
wallet_listsinceblock.py                   | ○ Skipped | 0 s
wallet_listsinceblock.py --descriptors     | ○ Skipped | 0 s
wallet_listtransactions.py                 | ○ Skipped | 0 s
wallet_listtransactions.py --descriptors   | ○ Skipped | 0 s
wallet_multiwallet.py --usecli             | ○ Skipped | 0 s
wallet_reorgsrestore.py                    | ○ Skipped | 0 s
wallet_resendwallettransactions.py         | ○ Skipped | 0 s
wallet_send.py                             | ○ Skipped | 0 s
wallet_startup.py                          | ○ Skipped | 0 s
wallet_timelock.py                         | ○ Skipped | 0 s
wallet_txn_clone.py                        | ○ Skipped | 0 s
wallet_txn_clone.py --mineblock            | ○ Skipped | 0 s
wallet_txn_doublespend.py                  | ○ Skipped | 0 s
wallet_txn_doublespend.py --mineblock      | ○ Skipped | 0 s
wallet_watchonly.py                        | ○ Skipped | 0 s
wallet_watchonly.py --usecli               | ○ Skipped | 0 s

ALL                                        | ✓ Passed  | 902 s (accumulated) 
Runtime: 181 s

[177/463] Test Bitcoin RPC authentication...
...
----------------------------------------------------------------------
Ran 3 tests in 0.005s

OK
[178/463] cd /work/contrib/devtools/chainparams && /usr/bin/python3.9 ./test_make_chainparams.py
.....
----------------------------------------------------------------------
Ran 5 tests in 0.001s

OK
[203/463] Running seeder test suite
PASSED: seeder test suite
[207/463] avalanche: testing processor_tests
FAILED: src/avalanche/test/CMakeFiles/check-avalanche-processor_tests 
cd /work/abc-ci-builds/build-without-wallet/src/avalanche/test && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-without-wallet/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-without-wallet/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-without-wallet/test/log/avalanche-processor_tests.log /work/abc-ci-builds/build-without-wallet/src/avalanche/test/test-avalanche --run_test=processor_tests --logger=HRF,message:JUNIT,message,avalanche-processor_tests.xml --catch_system_errors=no
Running 45 test cases...
../../src/avalanche/test/processor_tests.cpp(2252): error: in "processor_tests/block_reconcile_initial_vote": check invs.size() == 1 has failed [0 != 1]
Segmentation fault (core dumped)
[211/463] Running pow test suite
PASSED: pow test suite
[214/463] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[215/463] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_tests.cpp.o
In file included from /usr/include/boost/test/unit_test.hpp:19,
                 from ../../src/test/script_tests.cpp:31:
../../src/test/script_tests.cpp: In member function ‘void script_tests::script_build::test_method()’:
../../src/test/script_tests.cpp:541:22: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without
  541 | BOOST_AUTO_TEST_CASE(script_build) {
      |                      ^~~~~~~~~~~~
[460/463] Running bitcoin test suite
PASSED: bitcoin test suite
ninja: build stopped: cannot make progress due to previous errors.
Build build-without-wallet failed with exit code 1

Tail of the build log:

wallet_multiwallet.py --usecli             | ✓ Passed  | 9 s
wallet_reorgsrestore.py                    | ✓ Passed  | 3 s
wallet_resendwallettransactions.py         | ✓ Passed  | 2 s
wallet_send.py                             | ✓ Passed  | 9 s
wallet_startup.py                          | ✓ Passed  | 2 s
wallet_timelock.py                         | ✓ Passed  | 1 s
wallet_txn_clone.py                        | ✓ Passed  | 1 s
wallet_txn_clone.py --mineblock            | ✓ Passed  | 2 s
wallet_txn_doublespend.py                  | ✓ Passed  | 1 s
wallet_txn_doublespend.py --mineblock      | ✓ Passed  | 2 s
wallet_watchonly.py                        | ✓ Passed  | 1 s
wallet_watchonly.py --usecli               | ✓ Passed  | 1 s
chronik_avalanche.py                       | ○ Skipped | 0 s
chronik_block.py                           | ○ Skipped | 0 s
chronik_block_info.py                      | ○ Skipped | 0 s
chronik_block_txs.py                       | ○ Skipped | 0 s
chronik_blockchain_info.py                 | ○ Skipped | 0 s
chronik_blocks.py                          | ○ Skipped | 0 s
chronik_chronik_info.py                    | ○ Skipped | 0 s
chronik_cors.py                            | ○ Skipped | 0 s
chronik_disable_token_index.py             | ○ Skipped | 0 s
chronik_disallow_prune.py                  | ○ Skipped | 0 s
chronik_lokad_id_group.py                  | ○ Skipped | 0 s
chronik_mempool_conflicts.py               | ○ Skipped | 0 s
chronik_pause.py                           | ○ Skipped | 0 s
chronik_plugins_setup.py                   | ○ Skipped | 0 s
chronik_raw_tx.py                          | ○ Skipped | 0 s
chronik_resync.py                          | ○ Skipped | 0 s
chronik_script_confirmed_txs.py            | ○ Skipped | 0 s
chronik_script_history.py                  | ○ Skipped | 0 s
chronik_script_unconfirmed_txs.py          | ○ Skipped | 0 s
chronik_script_utxos.py                    | ○ Skipped | 0 s
chronik_serve.py                           | ○ Skipped | 0 s
chronik_spent_by.py                        | ○ Skipped | 0 s
chronik_token_alp.py                       | ○ Skipped | 0 s
chronik_token_broadcast_txs.py             | ○ Skipped | 0 s
chronik_token_burn.py                      | ○ Skipped | 0 s
chronik_token_id_group.py                  | ○ Skipped | 0 s
chronik_token_parse_failure.py             | ○ Skipped | 0 s
chronik_token_script_group.py              | ○ Skipped | 0 s
chronik_token_slp_fungible.py              | ○ Skipped | 0 s
chronik_token_slp_mint_vault.py            | ○ Skipped | 0 s
chronik_token_slp_nft1.py                  | ○ Skipped | 0 s
chronik_tx.py                              | ○ Skipped | 0 s
chronik_tx_removal_order.py                | ○ Skipped | 0 s
chronik_ws.py                              | ○ Skipped | 0 s
chronik_ws_ordering.py                     | ○ Skipped | 0 s
chronik_ws_ping.py                         | ○ Skipped | 0 s
chronik_ws_script.py                       | ○ Skipped | 0 s
feature_bind_port_discover.py              | ○ Skipped | 0 s
feature_bind_port_externalip.py            | ○ Skipped | 0 s
interface_usdt_net.py                      | ○ Skipped | 0 s
interface_usdt_utxocache.py                | ○ Skipped | 0 s
interface_usdt_validation.py               | ○ Skipped | 0 s

ALL                                        | ✓ Passed  | 1203 s (accumulated) 
Runtime: 241 s

ninja: build stopped: cannot make progress due to previous errors.
Build build-diff failed with exit code 1

pass a raw pointer also to net_processing and BlockAssembler, don't initialize avalanche in the unit test fixtures for now to keep this diff simpler and with less behavior changes

nits:

  • remove fixme in net.cpp
  • revert change in miner_tests.cpp (leftover from previous iteration)
  • in processor_tests reset the avalanche pointer directly on the active chainstate, no need to use the chainman.ResetAvalancheProcessor() indirection. The tests calls chainstate.ActivateBestChain, so there can be no ambiguity about which chainstate needs the processor
PiRK edited the test plan for this revision. (Show Details)
PiRK published this revision for review.Wed, May 29, 09:21

Tail of the build log:

[394/570] Building CXX object src/CMakeFiles/server.dir/rpc/misc.cpp.o
[395/570] Building CXX object src/test/CMakeFiles/testutil.dir/util/random.cpp.o
[396/570] Building CXX object src/CMakeFiles/server.dir/txorphanage.cpp.o
[397/570] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o
[398/570] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o
[399/570] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o
FAILED: src/CMakeFiles/server.dir/validation.cpp.o 
/usr/bin/ccache /usr/bin/clang++ -DBOOST_ALL_NO_LIB -DBUILD_BITCOIN_INTERNAL -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_BUILD_INFO -DHAVE_CONFIG_H -DHAVE_CONSENSUS_LIB -DLEVELDB_ATOMIC_PRESENT -DLEVELDB_PLATFORM_POSIX -DOS_LINUX -I../../src/leveldb/helpers/memenv -I../../src/. -Isrc -I../../src/univalue/include -Isrc/crypto/.. -I../../src/secp256k1/include -I../../src/leveldb/include -isystem /usr/include/jemalloc -isystem /usr/include/miniupnpc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-protector-all -Wstack-protector -fcf-protection=full -fstack-clash-protection -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wgnu -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wthread-safety -Wrange-loop-analysis -Wredundant-decls -Wunreachable-code-loop-increment -Wsign-compare -Wconditional-uninitialized -Wdocumentation -Wformat-security -Wredundant-move -Woverloaded-virtual -Wshadow -Wshadow-field -Wno-unused-parameter -Wno-implicit-fallthrough -Wno-psabi -pthread -std=gnu++17 -MD -MT src/CMakeFiles/server.dir/validation.cpp.o -MF src/CMakeFiles/server.dir/validation.cpp.o.d -o src/CMakeFiles/server.dir/validation.cpp.o -c ../../src/validation.cpp
../../src/validation.cpp:6655:11: error: reading variable 'm_ibd_chainstate' requires holding mutex 'cs_main' [-Werror,-Wthread-safety-analysis]
         {m_ibd_chainstate.get(), m_snapshot_chainstate.get()}) {
          ^
../../src/validation.cpp:6655:35: error: reading variable 'm_snapshot_chainstate' requires holding mutex 'cs_main' [-Werror,-Wthread-safety-analysis]
         {m_ibd_chainstate.get(), m_snapshot_chainstate.get()}) {
                                  ^
2 errors generated.
[400/570] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[401/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o
[402/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o
[403/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o
[404/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o
[405/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[406/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o
[407/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[408/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[409/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[410/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[411/570] Building CXX object src/CMakeFiles/server.dir/rpc/mining.cpp.o
[412/570] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o
[413/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[414/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[415/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[416/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[417/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[418/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[419/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[420/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[421/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[422/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[423/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[424/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[425/570] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[426/570] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[427/570] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[428/570] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[429/570] Building CXX object src/CMakeFiles/server.dir/rpc/avalanche.cpp.o
[430/570] Building CXX object src/CMakeFiles/server.dir/rpc/net.cpp.o
[431/570] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o
[432/570] Building CXX object src/CMakeFiles/server.dir/wallet/init.cpp.o
[433/570] Building CXX object src/CMakeFiles/server.dir/torcontrol.cpp.o
[434/570] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o
[435/570] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.cpp.o
[436/570] Building CXX object src/CMakeFiles/server.dir/rpc/blockchain.cpp.o
[437/570] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[438/570] Building CXX object src/CMakeFiles/server.dir/rpc/rawtransaction.cpp.o
[439/570] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o
[440/570] Building CXX object src/CMakeFiles/server.dir/net_processing.cpp.o
[441/570] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[442/570] Linking CXX static library src/wallet/libwallet.a
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang failed with exit code 1
PiRK planned changes to this revision.Wed, May 29, 10:45

looks like i need more mutexes

PiRK requested review of this revision.Wed, May 29, 11:09

No, actually that CI failure related to locks is already fixed. It is just a CI job that finished after I already updated the diff and removed the offending code.

src/validation.cpp
5891 ↗(On Diff #48011)

This change is no longer needed now that the chainstate does not take the processor via ctor, I will remove it.

PiRK edited the test plan for this revision. (Show Details)

no need to pass avalanche to ChainstateManager::ActivateSnapshot, it is passed to the chainstate after it is initialized

self review notes

src/rpc/avalanche.cpp
102–105 ↗(On Diff #48025)

Fixme: That's wrong. I need to keep the if (node.avalanche) condition

src/rpc/mining.cpp
961 ↗(On Diff #48025)

Fixme; this is wrong too. The RPC is supposed to be able to work even without avalanche. The g_avalanche check was done below (line 1067) in IsStakingRewardsActivated

PiRK planned changes to this revision.Thu, May 30, 07:31

still checking some stuff (g_avalanche pointer dereferencing safety)

rebase after splitting out a lot of the changes. Still a WIP, we can probably extract more smaller diffs from this.

PiRK planned changes to this revision.Thu, May 30, 12:50

rebase after splitting the diff into smaller diffs. This is now just the g_avalanche -> node.avalanche part of the original diff

src/rpc/net.cpp
252 ↗(On Diff #48071)

m_last_proof_time is defined in PeerManagerImpl::ReceivedAvalancheProof which can only be called if avalanche is enabled.

@bot build-asan

src/net_processing.cpp
758 ↗(On Diff #48025)

const

1101 ↗(On Diff #48025)

const

src/net_processing.h
58 ↗(On Diff #48025)

const

src/rpc/avalanche.cpp
103 ↗(On Diff #48071)

use EnsureAvalanche ?

src/rpc/net.cpp
452 ↗(On Diff #48071)

dito

PiRK planned changes to this revision.Tue, Jun 4, 06:14
PiRK edited the summary of this revision. (Show Details)

rebase and fix summary

Fabien requested changes to this revision.Tue, Jun 4, 12:07
Fabien added inline comments.
src/init.cpp
2665 ↗(On Diff #48084)

This will need rebase, see the dependency comment

src/rpc/net.cpp
252 ↗(On Diff #48084)

This should be simplified, in the end you want to remove isAvalancheEnabled altogether and only use if(node.avalanche)

452 ↗(On Diff #48084)

dito

src/validation.h
80 ↗(On Diff #48084)

Duplicated

This revision now requires changes to proceed.Tue, Jun 4, 12:07
src/rpc/net.cpp
252 ↗(On Diff #48084)

So you want to change the current behavior to only initialize the processor if avalanche is enabled?

src/rpc/net.cpp
252 ↗(On Diff #48084)

Yes, that would be more consistent. What's the point of having a nullable pointer otherwise ?

dedup forward declaration

This revision is now accepted and ready to land.Fri, Jun 7, 15:43
This revision was automatically updated to reflect the committed changes.