Using Fedora 41:
# gcc (GCC) 15.1.1 20250521 (Red Hat 15.1.1-2)
dnf install git cmake gcc-c++ make python3 libevent-devel boost-devel sqlite-devel zeromq-devel systemtap-sdt-devel ccache
git clone https://github.com/bitcoin/bitcoin
cd bitcoin
cmake -B build -DSANITIZERS=undefined
cmake --build build
./build/test/functional/test_runner.py p2p_message_capture.py
./build/test/functional/test_runner.py p2p_message_capture.py
<snip>
stdout:
2025-06-24T13:21:52.543212Z TestFramework (INFO): PRNG seed is: 7493633970328004406
2025-06-24T13:21:52.545101Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20250624_132152/p2p_message_capture_0
2025-06-24T13:21:52.970276Z TestFramework (INFO): Stopping nodes
stderr:
Traceback (most recent call last):
File "/root/bitcoin/build/test/functional/p2p_message_capture.py", line 72, in <module>
MessageCaptureTest(__file__).main()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/bitcoin/test/functional/test_framework/test_framework.py", line 214, in main
exit_code = self.shutdown()
File "/root/bitcoin/test/functional/test_framework/test_framework.py", line 376, in shutdown
self.stop_nodes()
~~~~~~~~~~~~~~~^^
File "/root/bitcoin/test/functional/test_framework/test_framework.py", line 625, in stop_nodes
node.wait_until_stopped()
~~~~~~~~~~~~~~~~~~~~~~~^^
File "/root/bitcoin/test/functional/test_framework/test_node.py", line 460, in wait_until_stopped
self.wait_until(lambda: self.is_node_stopped(**kwargs), timeout=timeout)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/bitcoin/test/functional/test_framework/test_node.py", line 862, in wait_until
return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.timeout_factor, check_interval=check_interval)
File "/root/bitcoin/test/functional/test_framework/util.py", line 314, in wait_until_helper_internal
if predicate():
~~~~~~~~~^^
File "/root/bitcoin/test/functional/test_framework/test_node.py", line 460, in <lambda>
self.wait_until(lambda: self.is_node_stopped(**kwargs), timeout=timeout)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/root/bitcoin/test/functional/test_framework/test_node.py", line 445, in is_node_stopped
raise AssertionError("Unexpected stderr {} != {}".format(stderr, expected_stderr))
AssertionError: Unexpected stderr /root/bitcoin/src/streams.cpp:85:24: runtime error: null pointer passed as argument 1, which is declared to never be null !=
[node 0] Cleaning up leftover process