qa: `p2p_ibd_stalling.py --v1transport` fails #32090

issue hebasto opened this issue on March 18, 2025
  1. hebasto commented at 9:12 AM on March 18, 2025: member

    https://github.com/hebasto/bitcoin-core-nightly/actions/runs/13914507401/job/38935007425:

    320/321 - p2p_ibd_stalling.py --v1transport failed, Duration: 484 s
    
    stdout:
    2025-03-18T04:03:23.417000Z TestFramework (INFO): PRNG seed is: 8897219840825193112
    2025-03-18T04:03:23.418000Z TestFramework (INFO): Initializing test directory /home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/test_runner_₿_🏃_20250318_034132/p2p_ibd_stalling_112
    2025-03-18T04:03:23.719000Z TestFramework (INFO): Prepare blocks without sending them to the node
    2025-03-18T04:03:23.783000Z TestFramework (INFO): Check that a staller does not get disconnected if the 1024 block lookahead buffer is filled
    2025-03-18T04:03:26.061000Z TestFramework (INFO): Check that increasing the window beyond 1024 blocks triggers stalling logic
    2025-03-18T04:03:26.876000Z TestFramework (INFO): Check that the stalling peer is disconnected after 2 seconds
    2025-03-18T04:11:26.898000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
            def test_function():
                if check_connected:
                    assert self.is_connected
                return test_function_in()
    '''
    2025-03-18T04:11:26.898000Z TestFramework (ERROR): Assertion failed
    Traceback (most recent call last):
      File "/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/test/functional/test_framework/test_framework.py", line 135, in main
        self.run_test()
        ~~~~~~~~~~~~~^^
      File "/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/build/test/functional/p2p_ibd_stalling.py", line 105, in run_test
        peers[0].wait_for_disconnect()
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
      File "/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/test/functional/test_framework/p2p.py", line 608, in wait_for_disconnect
        self.wait_until(test_function, timeout=timeout, check_connected=False)
        ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/test/functional/test_framework/p2p.py", line 600, in wait_until
        wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
        raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
    AssertionError: Predicate ''''
            def test_function():
                if check_connected:
                    assert self.is_connected
                return test_function_in()
    ''' not true after 480.0 seconds
    2025-03-18T04:11:26.962000Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
    

    System: NetBSD 10.1.

  2. hebasto added the label Tests on Mar 18, 2025
  3. mzumsande commented at 5:20 PM on March 26, 2025: contributor
    2025-03-18T04:11:27.6410272Z  node0 2025-03-18T04:03:24.307185Z (mocktime: 2025-03-18T04:03:24Z) [msghand] [net_processing.cpp:3379] [ProcessMessage] [net] received: headers (82947 bytes) peer=1
    (...)
    2025-03-18T04:11:27.8241273Z  node0 2025-03-18T04:03:24.387659Z (mocktime: 2025-03-18T04:03:24Z) [msghand] [net_processing.cpp:3379] [ProcessMessage] [net] received: headers (82947 bytes) peer=0 
    

    Reason is that the headers messages are received in a different order than they are sent, and as a result of that later the wrong peer is marked for stalling. I opened #32148 adding a sync.

  4. fanquake closed this on Mar 27, 2025

  5. pull[bot] referenced this in commit 5dd6ebc7e1 on Mar 27, 2025

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: 2026-04-17 06:13 UTC

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