Page MenuHomePhabricator

[seeder] handle CAddress-without-nTime logic
ClosedPublic

Authored by PiRK on Nov 27 2023, 16:46.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC833c5794ea37: [seeder] handle CAddress-without-nTime logic
Summary

This is a follow-up bugfix to D14753. The CAddress serialization code was changed in the node to no longer handle the special case of CAddress-without-nTime that is specific to the version message, but the seeder was not updated accordingly. This should fix it.

Test Plan

Run the seeder, see if it finds valid peers.

Diff Detail

Repository
rABC Bitcoin ABC
Branch
address_without_ntime_seeder
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 25746
Build 51072: Build Difflint-circular-dependencies · build-clang · build-without-wallet · build-clang-tidy · build-debug · build-diff
Build 51071: arc lint + arc unit

Event Timeline

Tail of the build log:

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                      | ○ 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  | 740 s (accumulated) 
Runtime: 148 s

[31/450] Test Bitcoin RPC authentication...
...
----------------------------------------------------------------------
Ran 3 tests in 0.004s

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

OK
[128/450] 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:30:
../../src/test/script_tests.cpp: In member function ‘void script_tests::script_build::test_method()’:
../../src/test/script_tests.cpp:540:22: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without
  540 | BOOST_AUTO_TEST_CASE(script_build) {
      |                      ^~~~~~~~~~~~
[190/450] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[413/450] Running pow test suite
PASSED: pow test suite
[415/450] Running avalanche test suite
PASSED: avalanche test suite
[421/450] seeder: testing p2p_messaging_tests
FAILED: src/seeder/test/CMakeFiles/check-seeder-p2p_messaging_tests 
cd /work/abc-ci-builds/build-without-wallet/src/seeder/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/seeder-p2p_messaging_tests.log /work/abc-ci-builds/build-without-wallet/src/seeder/test/test-seeder --run_test=p2p_messaging_tests --logger=HRF,message:JUNIT,message,seeder-p2p_messaging_tests.xml --catch_system_errors=no
Running 3 test cases...
unknown location(0): fatal error: in "p2p_messaging_tests/process_version_msg": std::ios_base::failure[abi:cxx11]: CDataStream::ignore(): end of data: iostream error
../../src/seeder/test/p2p_messaging_tests.cpp(85): last checkpoint

*** 1 failure is detected in the test module "Seeder Test Suite"
[447/450] 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:

[433/489] Running utility command for check-bitcoin-rcu_tests
[434/489] Running utility command for check-bitcoin-crypto_tests
[435/489] Running utility command for check-bitcoin-intmath_tests
[436/489] Running utility command for check-bitcoin-cuckoocache_tests
[437/489] Running utility command for check-bitcoin-checkpoints_tests
[438/489] bitcoin: testing scheduler_tests
[439/489] bitcoin: testing blockfilter_tests
[440/489] bitcoin: testing key_io_tests
[441/489] bitcoin: testing scriptpubkeyman_tests
[442/489] Running utility command for check-bitcoin-blockfilter_tests
[443/489] Running utility command for check-bitcoin-scheduler_tests
[444/489] Running utility command for check-bitcoin-key_io_tests
[445/489] Running utility command for check-bitcoin-scriptpubkeyman_tests
[446/489] bitcoin: testing walletdb_tests
[447/489] Running utility command for check-bitcoin-walletdb_tests
[448/489] bitcoin: testing logging_tests
[449/489] bitcoin: testing init_tests
[450/489] Running utility command for check-bitcoin-logging_tests
[451/489] bitcoin: testing denialofservice_tests
[452/489] Running utility command for check-bitcoin-init_tests
[453/489] Running utility command for check-bitcoin-denialofservice_tests
[454/489] bitcoin: testing psbt_wallet_tests
[455/489] Running utility command for check-bitcoin-psbt_wallet_tests
[456/489] Linking CXX executable src/pow/test/test-pow
[457/489] bitcoin: testing coinstatsindex_tests
[458/489] Running utility command for check-bitcoin-coinstatsindex_tests
[459/489] bitcoin: testing merkle_tests
[460/489] pow: testing daa_tests
[461/489] Running utility command for check-bitcoin-merkle_tests
[462/489] Linking CXX executable src/qt/test/test_bitcoin-qt
[463/489] Running utility command for check-pow-daa_tests
[464/489] pow: testing eda_tests
[465/489] Running utility command for check-pow-eda_tests
[466/489] bitcoin: testing wallet_crypto_tests
[467/489] Running utility command for check-bitcoin-wallet_crypto_tests
[468/489] pow: testing grasberg_tests
[469/489] Running utility command for check-pow-grasberg_tests
[470/489] bitcoin: testing txrequest_tests
[471/489] Running utility command for check-bitcoin-txrequest_tests
[472/489] bitcoin: testing blockcheck_tests
[473/489] Running utility command for check-bitcoin-blockcheck_tests
[474/489] bitcoin-qt: testing test_bitcoin-qt
[475/489] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[476/489] bitcoin: testing coinselector_tests
[477/489] Running utility command for check-bitcoin-coinselector_tests
[478/489] bitcoin: testing wallet_tests
[479/489] Running utility command for check-bitcoin-wallet_tests
[480/489] pow: testing aserti32d_tests
[481/489] Running utility command for check-pow-aserti32d_tests
[482/489] Running pow test suite
PASSED: pow test suite
[483/489] bitcoin: testing transaction_tests
[484/489] Running utility command for check-bitcoin-transaction_tests
[485/489] bitcoin: testing coins_tests
[486/489] Running utility command for check-bitcoin-coins_tests
[487/489] 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:

[433/482] Linking CXX executable src/pow/test/test-pow
[434/482] bitcoin: testing wallet_crypto_tests
[435/482] Running utility command for check-bitcoin-wallet_crypto_tests
[436/482] pow: testing daa_tests
[437/482] Running utility command for check-pow-daa_tests
[438/482] bitcoin: testing txrequest_tests
[439/482] Running utility command for check-bitcoin-txrequest_tests
[440/482] bitcoin: testing rcu_tests
[441/482] bitcoin: testing blockcheck_tests
[442/482] Running utility command for check-bitcoin-blockcheck_tests
[443/482] Running utility command for check-bitcoin-rcu_tests
[444/482] pow: testing eda_tests
[445/482] Running utility command for check-pow-eda_tests
[446/482] pow: testing grasberg_tests
[447/482] Running utility command for check-pow-grasberg_tests
[448/482] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/util.cpp.o
[449/482] bitcoin: testing coinselector_tests
[450/482] Running utility command for check-bitcoin-coinselector_tests
[451/482] bitcoin: testing wallet_tests
[452/482] Running utility command for check-bitcoin-wallet_tests
[453/482] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/uritests.cpp.o
[454/482] pow: testing aserti32d_tests
[455/482] Running utility command for check-pow-aserti32d_tests
[456/482] Running pow test suite
PASSED: pow test suite
[457/482] bitcoin: testing transaction_tests
[458/482] Running utility command for check-bitcoin-transaction_tests
[459/482] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_main.cpp.o
[460/482] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/paymentservertests.cpp.o
[461/482] bitcoin: testing coins_tests
[462/482] Running utility command for check-bitcoin-coins_tests
[463/482] Running bitcoin test suite
PASSED: bitcoin test suite
[464/482] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o
[465/482] Building CXX object src/seeder/test/CMakeFiles/test-seeder.dir/fixture.cpp.o
[466/482] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/wallet/test/wallet_test_fixture.cpp.o
[467/482] Linking CXX executable src/seeder/test/test-seeder
[468/482] seeder: testing message_writer_tests
[469/482] seeder: testing parse_name_tests
[470/482] seeder: testing options_tests
[471/482] seeder: testing p2p_messaging_tests
FAILED: src/seeder/test/CMakeFiles/check-seeder-p2p_messaging_tests 
cd /work/abc-ci-builds/build-clang-tidy/src/seeder/test && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-clang-tidy/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-clang-tidy/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-clang-tidy/test/log/seeder-p2p_messaging_tests.log /work/abc-ci-builds/build-clang-tidy/src/seeder/test/test-seeder --run_test=p2p_messaging_tests --logger=HRF,message:JUNIT,message,seeder-p2p_messaging_tests.xml --catch_system_errors=no
Running 3 test cases...
unknown location(0): fatal error: in "p2p_messaging_tests/process_version_msg": std::ios_base::failure[abi:cxx11]: CDataStream::ignore(): end of data: iostream error
../../src/seeder/test/p2p_messaging_tests.cpp(86): last checkpoint

*** 1 failure is detected in the test module "Seeder Test Suite"
[472/482] Running utility command for check-seeder-message_writer_tests
[473/482] seeder: testing write_name_tests
[474/482] Running utility command for check-seeder-options_tests
[475/482] Running utility command for check-seeder-parse_name_tests
[476/482] Running utility command for check-seeder-write_name_tests
[477/482] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o
[478/482] Linking CXX executable src/qt/test/test_bitcoin-qt
[479/482] bitcoin-qt: testing test_bitcoin-qt
[480/482] 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

reverse CService and service flags

Tail of the build log:

[441/489] Running utility command for check-bitcoin-denialofservice_tests
[442/489] Running pow test suite
PASSED: pow test suite
[443/489] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/bitcoinaddressvalidatortests.cpp.o
[444/489] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/apptests.cpp.o
[445/489] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/compattests.cpp.o
[446/489] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/guiutiltests.cpp.o
[447/489] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/rpcnestedtests.cpp.o
[448/489] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_main.cpp.o
[449/489] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/util.cpp.o
[450/489] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/uritests.cpp.o
[451/489] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/wallet/test/wallet_test_fixture.cpp.o
[452/489] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o
[453/489] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o
[454/489] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/paymentservertests.cpp.o
[455/489] Linking CXX executable src/seeder/test/test-seeder
[456/489] bitcoin: testing wallet_crypto_tests
[457/489] secp256k1: testing secp256k1-exhaustive_tests
[458/489] Running utility command for check-bitcoin-wallet_crypto_tests
[459/489] seeder: testing options_tests
[460/489] bitcoin: testing rcu_tests
[461/489] seeder: testing message_writer_tests
[462/489] seeder: testing p2p_messaging_tests
FAILED: src/seeder/test/CMakeFiles/check-seeder-p2p_messaging_tests 
cd /work/abc-ci-builds/build-clang/src/seeder/test && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-clang/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-clang/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-clang/test/log/seeder-p2p_messaging_tests.log /work/abc-ci-builds/build-clang/src/seeder/test/test-seeder --run_test=p2p_messaging_tests --logger=HRF,message:JUNIT,message,seeder-p2p_messaging_tests.xml --catch_system_errors=no
Running 3 test cases...
unknown location(0): fatal error: in "p2p_messaging_tests/process_version_msg": std::ios_base::failure[abi:cxx11]: CDataStream::ignore(): end of data: iostream error
../../src/seeder/test/p2p_messaging_tests.cpp(86): last checkpoint

*** 1 failure is detected in the test module "Seeder Test Suite"
[463/489] Running utility command for check-seeder-options_tests
[464/489] Running utility command for check-seeder-message_writer_tests
[465/489] seeder: testing parse_name_tests
[466/489] Running utility command for check-bitcoin-rcu_tests
[467/489] Running utility command for check-seeder-parse_name_tests
[468/489] bitcoin: testing txrequest_tests
[469/489] seeder: testing write_name_tests
[470/489] Running utility command for check-seeder-write_name_tests
[471/489] Linking CXX executable src/qt/test/test_bitcoin-qt
[472/489] Running utility command for check-bitcoin-txrequest_tests
[473/489] bitcoin: testing blockcheck_tests
[474/489] Running utility command for check-bitcoin-blockcheck_tests
[475/489] bitcoin: testing coinselector_tests
[476/489] Running utility command for check-bitcoin-coinselector_tests
[477/489] bitcoin-qt: testing test_bitcoin-qt
[478/489] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[479/489] bitcoin: testing wallet_tests
[480/489] Running utility command for check-bitcoin-wallet_tests
[481/489] bitcoin: testing transaction_tests
[482/489] Running utility command for check-bitcoin-transaction_tests
[483/489] bitcoin: testing coins_tests
[484/489] Running utility command for check-bitcoin-coins_tests
[485/489] Running bitcoin test suite
PASSED: bitcoin test suite
[486/489] secp256k1: testing secp256k1-tests
[487/489] Running secp256k1 test suite
PASSED: secp256k1 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:

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_disallow_prune.py                  | ○ Skipped | 0 s
chronik_pause.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_tx.py                              | ○ Skipped | 0 s
chronik_ws.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  | 2119 s (accumulated) 
Runtime: 424 s

[162/490] Test Bitcoin RPC authentication...
...
----------------------------------------------------------------------
Ran 3 tests in 0.005s

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

OK
[336/490] Running secp256k1 test suite
PASSED: secp256k1 test suite
[453/490] seeder: testing p2p_messaging_tests
FAILED: src/seeder/test/CMakeFiles/check-seeder-p2p_messaging_tests 
cd /work/abc-ci-builds/build-debug/src/seeder/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/seeder-p2p_messaging_tests.log /work/abc-ci-builds/build-debug/src/seeder/test/test-seeder --run_test=p2p_messaging_tests --logger=HRF,message:JUNIT,message,seeder-p2p_messaging_tests.xml --catch_system_errors=no
Running 3 test cases...
unknown location(0): fatal error: in "p2p_messaging_tests/process_version_msg": std::ios_base::failure[abi:cxx11]: CDataStream::ignore(): end of data: iostream error
../../src/seeder/test/p2p_messaging_tests.cpp(85): last checkpoint

*** 1 failure is detected in the test module "Seeder Test Suite"
[458/490] Running pow test suite
PASSED: pow test suite
[466/490] Running avalanche test suite
PASSED: avalanche test suite
[476/490] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[487/490] 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_import_rescan.py                    | ✓ Passed  | 7 s
wallet_import_with_label.py                | ✓ Passed  | 1 s
wallet_importdescriptors.py                | ✓ Passed  | 4 s
wallet_importmulti.py                      | ✓ Passed  | 2 s
wallet_importprunedfunds.py                | ✓ Passed  | 2 s
wallet_importprunedfunds.py --descriptors  | ✓ Passed  | 1 s
wallet_keypool.py                          | ✓ Passed  | 3 s
wallet_keypool_topup.py                    | ✓ Passed  | 4 s
wallet_keypool_topup.py --descriptors      | ✓ Passed  | 3 s
wallet_labels.py                           | ✓ Passed  | 1 s
wallet_labels.py --descriptors             | ✓ Passed  | 2 s
wallet_listreceivedby.py                   | ✓ Passed  | 5 s
wallet_listsinceblock.py                   | ✓ Passed  | 5 s
wallet_listsinceblock.py --descriptors     | ✓ Passed  | 2 s
wallet_listtransactions.py                 | ✓ Passed  | 4 s
wallet_listtransactions.py --descriptors   | ✓ Passed  | 3 s
wallet_multiwallet.py                      | ✓ Passed  | 40 s
wallet_multiwallet.py --usecli             | ✓ Passed  | 9 s
wallet_reorgsrestore.py                    | ✓ Passed  | 4 s
wallet_resendwallettransactions.py         | ✓ Passed  | 3 s
wallet_send.py                             | ✓ Passed  | 8 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_disallow_prune.py                  | ○ Skipped | 0 s
chronik_pause.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_tx.py                              | ○ Skipped | 0 s
chronik_ws.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  | 1295 s (accumulated) 
Runtime: 259 s

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

Tail of the build log:

[432/482] Running utility command for check-bitcoin-coinstatsindex_tests
[433/482] Running utility command for check-bitcoin-walletdb_tests
[434/482] bitcoin: testing psbt_wallet_tests
[435/482] bitcoin: testing merkle_tests
[436/482] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/wallet/test/wallet_test_fixture.cpp.o
[437/482] Running utility command for check-bitcoin-psbt_wallet_tests
[438/482] Running utility command for check-bitcoin-merkle_tests
[439/482] bitcoin: testing logging_tests
[440/482] Running utility command for check-bitcoin-logging_tests
[441/482] bitcoin: testing miner_tests
[442/482] bitcoin: testing denialofservice_tests
[443/482] Running utility command for check-bitcoin-miner_tests
[444/482] Running utility command for check-bitcoin-denialofservice_tests
[445/482] bitcoin: testing rcu_tests
[446/482] bitcoin: testing init_tests
[447/482] Running utility command for check-bitcoin-rcu_tests
[448/482] Running utility command for check-bitcoin-init_tests
[449/482] bitcoin: testing wallet_crypto_tests
[450/482] Running utility command for check-bitcoin-wallet_crypto_tests
[451/482] bitcoin: testing txrequest_tests
[452/482] Running utility command for check-bitcoin-txrequest_tests
[453/482] bitcoin: testing coinselector_tests
[454/482] Running utility command for check-bitcoin-coinselector_tests
[455/482] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/paymentservertests.cpp.o
[456/482] Building CXX object src/seeder/test/CMakeFiles/test-seeder.dir/fixture.cpp.o
[457/482] Linking CXX executable src/seeder/test/test-seeder
[458/482] bitcoin: testing blockcheck_tests
[459/482] Running utility command for check-bitcoin-blockcheck_tests
[460/482] seeder: testing message_writer_tests
[461/482] seeder: testing parse_name_tests
[462/482] seeder: testing options_tests
[463/482] seeder: testing p2p_messaging_tests
FAILED: src/seeder/test/CMakeFiles/check-seeder-p2p_messaging_tests 
cd /work/abc-ci-builds/build-clang-tidy/src/seeder/test && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-clang-tidy/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-clang-tidy/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-clang-tidy/test/log/seeder-p2p_messaging_tests.log /work/abc-ci-builds/build-clang-tidy/src/seeder/test/test-seeder --run_test=p2p_messaging_tests --logger=HRF,message:JUNIT,message,seeder-p2p_messaging_tests.xml --catch_system_errors=no
Running 3 test cases...
unknown location(0): fatal error: in "p2p_messaging_tests/process_version_msg": std::ios_base::failure[abi:cxx11]: CDataStream::ignore(): end of data: iostream error
../../src/seeder/test/p2p_messaging_tests.cpp(86): last checkpoint

*** 1 failure is detected in the test module "Seeder Test Suite"
[464/482] Running utility command for check-seeder-message_writer_tests
[465/482] Running utility command for check-seeder-parse_name_tests
[466/482] Running utility command for check-seeder-options_tests
[467/482] seeder: testing write_name_tests
[468/482] Running utility command for check-seeder-write_name_tests
[469/482] bitcoin: testing wallet_tests
[470/482] Running utility command for check-bitcoin-wallet_tests
[471/482] bitcoin: testing transaction_tests
[472/482] Running utility command for check-bitcoin-transaction_tests
[473/482] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o
[474/482] bitcoin: testing coins_tests
[475/482] Running utility command for check-bitcoin-coins_tests
[476/482] Running bitcoin test suite
PASSED: bitcoin test suite
[477/482] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o
[478/482] Linking CXX executable src/qt/test/test_bitcoin-qt
[479/482] bitcoin-qt: testing test_bitcoin-qt
[480/482] 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:

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                      | ○ 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  | 850 s (accumulated) 
Runtime: 170 s

[180/450] Test Bitcoin RPC authentication...
...
----------------------------------------------------------------------
Ran 3 tests in 0.005s

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

OK
[188/450] Running avalanche test suite
PASSED: avalanche test suite
[191/450] Running pow test suite
PASSED: pow test suite
[198/450] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[200/450] 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:30:
../../src/test/script_tests.cpp: In member function ‘void script_tests::script_build::test_method()’:
../../src/test/script_tests.cpp:540:22: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without
  540 | BOOST_AUTO_TEST_CASE(script_build) {
      |                      ^~~~~~~~~~~~
[206/450] seeder: testing p2p_messaging_tests
FAILED: src/seeder/test/CMakeFiles/check-seeder-p2p_messaging_tests 
cd /work/abc-ci-builds/build-without-wallet/src/seeder/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/seeder-p2p_messaging_tests.log /work/abc-ci-builds/build-without-wallet/src/seeder/test/test-seeder --run_test=p2p_messaging_tests --logger=HRF,message:JUNIT,message,seeder-p2p_messaging_tests.xml --catch_system_errors=no
Running 3 test cases...
unknown location(0): fatal error: in "p2p_messaging_tests/process_version_msg": std::ios_base::failure[abi:cxx11]: CDataStream::ignore(): end of data: iostream error
../../src/seeder/test/p2p_messaging_tests.cpp(85): last checkpoint

*** 1 failure is detected in the test module "Seeder Test Suite"
[447/450] 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:

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_disallow_prune.py                  | ○ Skipped | 0 s
chronik_pause.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_tx.py                              | ○ Skipped | 0 s
chronik_ws.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  | 2000 s (accumulated) 
Runtime: 400 s

[162/490] Test Bitcoin RPC authentication...
...
----------------------------------------------------------------------
Ran 3 tests in 0.008s

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

OK
[395/490] Running secp256k1 test suite
PASSED: secp256k1 test suite
[449/490] Running pow test suite
PASSED: pow test suite
[454/490] seeder: testing p2p_messaging_tests
FAILED: src/seeder/test/CMakeFiles/check-seeder-p2p_messaging_tests 
cd /work/abc-ci-builds/build-debug/src/seeder/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/seeder-p2p_messaging_tests.log /work/abc-ci-builds/build-debug/src/seeder/test/test-seeder --run_test=p2p_messaging_tests --logger=HRF,message:JUNIT,message,seeder-p2p_messaging_tests.xml --catch_system_errors=no
Running 3 test cases...
unknown location(0): fatal error: in "p2p_messaging_tests/process_version_msg": std::ios_base::failure[abi:cxx11]: CDataStream::ignore(): end of data: iostream error
../../src/seeder/test/p2p_messaging_tests.cpp(85): last checkpoint

*** 1 failure is detected in the test module "Seeder Test Suite"
[468/490] Running avalanche test suite
PASSED: avalanche test suite
[472/490] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[487/490] 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_import_rescan.py                    | ✓ Passed  | 7 s
wallet_import_with_label.py                | ✓ Passed  | 1 s
wallet_importdescriptors.py                | ✓ Passed  | 4 s
wallet_importmulti.py                      | ✓ Passed  | 3 s
wallet_importprunedfunds.py                | ✓ Passed  | 2 s
wallet_importprunedfunds.py --descriptors  | ✓ Passed  | 1 s
wallet_keypool.py                          | ✓ Passed  | 3 s
wallet_keypool_topup.py                    | ✓ Passed  | 3 s
wallet_keypool_topup.py --descriptors      | ✓ Passed  | 3 s
wallet_labels.py                           | ✓ Passed  | 1 s
wallet_labels.py --descriptors             | ✓ Passed  | 1 s
wallet_listreceivedby.py                   | ✓ Passed  | 5 s
wallet_listsinceblock.py                   | ✓ Passed  | 4 s
wallet_listsinceblock.py --descriptors     | ✓ Passed  | 2 s
wallet_listtransactions.py                 | ✓ Passed  | 4 s
wallet_listtransactions.py --descriptors   | ✓ Passed  | 3 s
wallet_multiwallet.py                      | ✓ Passed  | 38 s
wallet_multiwallet.py --usecli             | ✓ Passed  | 9 s
wallet_reorgsrestore.py                    | ✓ Passed  | 3 s
wallet_resendwallettransactions.py         | ✓ Passed  | 13 s
wallet_send.py                             | ✓ Passed  | 8 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_disallow_prune.py                  | ○ Skipped | 0 s
chronik_pause.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_tx.py                              | ○ Skipped | 0 s
chronik_ws.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  | 1293 s (accumulated) 
Runtime: 259 s

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

fix the version message also in the tests

This is still missing a proper test for the content of the version message. Only the version is tested.

rebase onto D14868 to be able to test, and inline CreateVersionMessage in the test

PiRK published this revision for review.Nov 28 2023, 17:05
Fabien added a subscriber: Fabien.
Fabien added inline comments.
src/seeder/bitcoin.cpp
59 ↗(On Diff #43295)

Actually we could also ignore the nonce, but no big deal it's not expensive to deserialize an int

This revision is now accepted and ready to land.Nov 28 2023, 17:23
This revision was automatically updated to reflect the committed changes.