I tried this on an RPI5 with Clang version 22.0.0 (aarch64) for fa173ec59a9dcc2e7956366344d68999d1d1249e.
It seems to trigger similar valgrind false positives on aarch64 - the updated suppression doesn’t seem to cover it, see:
02026-02-14T19:42:42.017831Z TestFramework (ERROR): Unexpected exception
1Traceback (most recent call last):
2 File "/mnt/my_storage/bitcoin/test/functional/test_framework/test_framework.py", line 138, in main
3 self.setup()
4 ~~~~~~~~~~^^
5 File "/mnt/my_storage/bitcoin/test/functional/test_framework/test_framework.py", line 272, in setup
6 self.setup_network()
7 ~~~~~~~~~~~~~~~~~~^^
8 File "/mnt/my_storage/bitcoin/test/functional/test_framework/test_framework.py", line 363, in setup_network
9 self.setup_nodes()
10 ~~~~~~~~~~~~~~~~^^
11 File "/mnt/my_storage/bitcoin/test/functional/test_framework/test_framework.py", line 385, in setup_nodes
12 self.start_nodes()
13 ~~~~~~~~~~~~~~~~^^
14 File "/mnt/my_storage/bitcoin/test/functional/test_framework/test_framework.py", line 531, in start_nodes
15 node.wait_for_rpc_connection()
16 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
17 File "/mnt/my_storage/bitcoin/test/functional/test_framework/test_node.py", line 316, in wait_for_rpc_connection
18 raise FailedToStartError(self._node_msg(
19 f'bitcoind exited with status {self.process.returncode} during initialization. {str_error}'))
20test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status 1 during initialization. ==68399== Use of uninitialised value of size 8
21==68399== at 0x22AD68: _M_is_engaged (optional:563)
22==68399== by 0x22AD68: operator=<node::BlockfileCursor> (optional:1036)
23==68399== by 0x22AD68: node::BlockManager::LoadBlockIndexDB(std::optional<uint256> const&) (???:565)
24==68399== by 0x46C717: ChainstateManager::LoadBlockIndex() (../src/validation.cpp:4939)
25==68399== by 0x241A8F: node::CompleteChainstateInitialization(ChainstateManager&, node::ChainstateLoadOptions const&) (../src/node/chainstate.cpp:43)
26==68399== by 0x24142B: node::LoadChainstate(ChainstateManager&, kernel::CacheSizes const&, node::ChainstateLoadOptions const&) (../src/node/chainstate.cpp:184)
27==68399== by 0x1950C7: operator() (../src/init.cpp:1392)
28==68399== by 0x1950C7: operator()<(lambda at ../src/init.cpp:1392:45)> (???:1386)
29==68399== by 0x1950C7: InitAndLoadChainstate(node::NodeContext&, bool, bool, kernel::CacheSizes const&, ArgsManager const&) (???:1392)
30==68399== by 0x18FE6B: AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) (../src/init.cpp:1809)
31==68399== by 0x17BA97: AppInit (../src/bitcoind.cpp:242)
32==68399== by 0x17BA97: main (???:283)
33==68399==
34{
35 <insert_a_suppression_name_here>
36 Memcheck:Value8
37 fun:_M_is_engaged
38 fun:operator=<node::BlockfileCursor>
39 fun:_ZN4node12BlockManager16LoadBlockIndexDBERKSt8optionalI7uint256E
40 fun:_ZN17ChainstateManager14LoadBlockIndexEv
41 fun:_ZN4nodeL32CompleteChainstateInitializationER17ChainstateManagerRKNS_21ChainstateLoadOptionsE
42 fun:_ZN4node14LoadChainstateER17ChainstateManagerRKN6kernel10CacheSizesERKNS_21ChainstateLoadOptionsE
43 fun:operator()
44 fun:operator()<(lambda at ../src/init.cpp:1392:45)>
45 fun:_ZL21InitAndLoadChainstateRN4node11NodeContextEbbRKN6kernel10CacheSizesERK11ArgsManager
46 fun:_Z11AppInitMainRN4node11NodeContextEPN10interfaces21BlockAndHeaderTipInfoE
47 fun:AppInit
48 fun:main
49}
50==68399==
51==68399== Exit program on first error (--exit-on-first-error=yes)
52************************