test: p2p_message_capture.py fails with GCC 14 & undefined sanitizer #32016

issue fanquake openend this issue on March 7, 2025
  1. fanquake commented at 9:59 am on March 7, 2025: member

    Using Fedora 41:

    0# gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)
    1
    2dnf install git cmake gcc-c++ make python3 libevent-devel boost-devel sqlite-devel zeromq-devel systemtap-sdt-devel ccache
    3git clone https://github.com/bitcoin/bitcoin
    4cd bitcoin
    5cmake -B build -DSANITIZERS=undefined
    6cmake --build build -j17
    7./build/test/functional/test_runner.py p2p_message_capture.py
    
     0./build/test/functional/test_runner.py p2p_message_capture.py
     1Temporary test directory at /tmp/test_runner_₿_🏃_20250307_094110
     2Remaining jobs: [p2p_message_capture.py]
     31/1 - p2p_message_capture.py failed, Duration: 1 s
     4
     5stdout:
     62025-03-07T09:41:10.975000Z TestFramework (INFO): PRNG seed is: 1537943552213102426
     72025-03-07T09:41:10.976000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20250307_094110/p2p_message_capture_0
     82025-03-07T09:41:11.673000Z TestFramework (INFO): Stopping nodes
     9
    10
    11stderr:
    12Traceback (most recent call last):
    13  File "/bitcoin/build/test/functional/p2p_message_capture.py", line 72, in <module>
    14    MessageCaptureTest(__file__).main()
    15    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
    16  File "/bitcoin/test/functional/test_framework/test_framework.py", line 159, in main
    17    exit_code = self.shutdown()
    18  File "/bitcoin/test/functional/test_framework/test_framework.py", line 331, in shutdown
    19    self.stop_nodes()
    20    ~~~~~~~~~~~~~~~^^
    21  File "/bitcoin/test/functional/test_framework/test_framework.py", line 603, in stop_nodes
    22    node.wait_until_stopped()
    23    ~~~~~~~~~~~~~~~~~~~~~~~^^
    24  File "/bitcoin/test/functional/test_framework/test_node.py", line 444, in wait_until_stopped
    25    self.wait_until(lambda: self.is_node_stopped(**kwargs), timeout=timeout)
    26    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    27  File "/bitcoin/test/functional/test_framework/test_node.py", line 840, in wait_until
    28    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.timeout_factor, check_interval=check_interval)
    29  File "/bitcoin/test/functional/test_framework/util.py", line 310, in wait_until_helper_internal
    30    if predicate():
    31       ~~~~~~~~~^^
    32  File "/bitcoin/test/functional/test_framework/test_node.py", line 444, in <lambda>
    33    self.wait_until(lambda: self.is_node_stopped(**kwargs), timeout=timeout)
    34                            ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
    35  File "/bitcoin/test/functional/test_framework/test_node.py", line 429, in is_node_stopped
    36    raise AssertionError("Unexpected stderr {} != {}".format(stderr, expected_stderr))
    37AssertionError: Unexpected stderr /bitcoin/src/streams.cpp:85:24: runtime error: null pointer passed as argument 1, which is declared to never be null != 
    38[node 0] Cleaning up leftover process
    
  2. dergoegge commented at 1:27 pm on March 7, 2025: member
  3. instagibbs commented at 7:36 pm on March 27, 2025: member
    I’m seeing this on 13.3.0 fwiw
  4. maflcko added the label Upstream on Mar 27, 2025
  5. maflcko commented at 9:07 pm on March 27, 2025: member

    Maybe related: #28761

    Yeah, it is the same one. It was fixed upstream in the standard as of this year, see https://www.open-std.org/JTC1/SC22/WG14/www/docs/n3466.pdf


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-03-31 09:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me