bitcoin / bitcoin

Bitcoin Core integration/staging tree

Home Page:https://bitcoincore.org/en/download

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Addrman unit test failures

jonatack opened this issue · comments

Seen on current master.

Tentatively traced back to commit 2095df7 ("Add Add_() inner function, fix Add() return semantics") of PR #23380 merged in 994aaaa.

$ src/test/test_bitcoin -t addrman_tests -l error

Running 20 test cases...
test/addrman_tests.cpp(188): error: in "addrman_tests/addrman_simple": check !addrman->Add({CAddress(addr1_dup, NODE_NONE)}, source) has failed
test/addrman_tests.cpp(236): error: in "addrman_tests/addrman_ports": check addr_ret3.ToString() == "250.1.1.1:8333" has failed [250.1.1.1:8334 != 250.1.1.1:8333]
test/addrman_tests.cpp(259): error: in "addrman_tests/addrman_select": check addr_ret2.ToString() == "[::]:0" has failed [250.1.1.1:8333 != [::]:0]
test_bitcoin: addrman.cpp:943: void AddrManImpl::Check() const: Assertion `false' failed.
unknown location(0): fatal error: in "addrman_tests/addrman_select": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(289): last checkpoint
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/addrman_new_collisions": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(299): last checkpoint: "addrman_new_collisions" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/addrman_tried_collisions": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(328): last checkpoint: "addrman_tried_collisions" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/addrman_find": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(358): last checkpoint: "addrman_find" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/addrman_create": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(391): last checkpoint: "addrman_create" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/addrman_delete": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(411): last checkpoint: "addrman_delete" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/addrman_getaddr": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(431): last checkpoint: "addrman_getaddr" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/caddrinfo_get_tried_bucket_legacy": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(491): last checkpoint: "caddrinfo_get_tried_bucket_legacy" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/caddrinfo_get_new_bucket_legacy": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(546): last checkpoint: "caddrinfo_get_new_bucket_legacy" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/caddrinfo_get_tried_bucket": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(624): last checkpoint: "caddrinfo_get_tried_bucket" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/caddrinfo_get_new_bucket": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(679): last checkpoint: "caddrinfo_get_new_bucket" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/addrman_serialization": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(759): last checkpoint: "addrman_serialization" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/remove_invalid": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(824): last checkpoint: "remove_invalid" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/addrman_selecttriedcollision": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(865): last checkpoint: "addrman_selecttriedcollision" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/addrman_noevict": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(897): last checkpoint: "addrman_noevict" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/addrman_evictionworks": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(953): last checkpoint: "addrman_evictionworks" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/load_addrman": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(1007): last checkpoint: "load_addrman" fixture ctor
test_bitcoin: util/system.cpp:656: void ArgsManager::AddArg(const std::string &, const std::string &, unsigned int, const OptionsCategory &): Assertion `ret.second' failed.
unknown location(0): fatal error: in "addrman_tests/load_addrman_corrupted": signal: SIGABRT (application abort requested)
test/addrman_tests.cpp(1052): last checkpoint: "load_addrman_corrupted" fixture ctor

*** 21 failures are detected in the test module "Bitcoin Core Test Suite"
commented

Why is this not happening on CI?

Anyone else seeing the test failures? I build a number of times with Debian Clang 13 and make clean / make distclean to re-check while tracing it down.

That's weird, I can't reproduce these on master (Clang 10, Ubuntu) and and also didn't encounter them while reviewing 23380.

I first started seeing the errors after building to review another PR that involves the addrman tests. Maybe there was an interaction. Just now rebuilt with gcc 11 and did not see the errors. Now rebuilding with clang again.

Now no longer seeing the errors with clang. Ghost in the machine. Thanks @mzumsande for checking and apologies for the noise, closing.