qa: p2p_ibd_stalling.py --v1transport fails #32090

issue hebasto openend 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:

     0320/321 - p2p_ibd_stalling.py --v1transport failed, Duration: 484 s
     1
     2stdout:
     32025-03-18T04:03:23.417000Z TestFramework (INFO): PRNG seed is: 8897219840825193112
     42025-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
     52025-03-18T04:03:23.719000Z TestFramework (INFO): Prepare blocks without sending them to the node
     62025-03-18T04:03:23.783000Z TestFramework (INFO): Check that a staller does not get disconnected if the 1024 block lookahead buffer is filled
     72025-03-18T04:03:26.061000Z TestFramework (INFO): Check that increasing the window beyond 1024 blocks triggers stalling logic
     82025-03-18T04:03:26.876000Z TestFramework (INFO): Check that the stalling peer is disconnected after 2 seconds
     92025-03-18T04:11:26.898000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
    10        def test_function():
    11            if check_connected:
    12                assert self.is_connected
    13            return test_function_in()
    14'''
    152025-03-18T04:11:26.898000Z TestFramework (ERROR): Assertion failed
    16Traceback (most recent call last):
    17  File "/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/test/functional/test_framework/test_framework.py", line 135, in main
    18    self.run_test()
    19    ~~~~~~~~~~~~~^^
    20  File "/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/build/test/functional/p2p_ibd_stalling.py", line 105, in run_test
    21    peers[0].wait_for_disconnect()
    22    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
    23  File "/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/test/functional/test_framework/p2p.py", line 608, in wait_for_disconnect
    24    self.wait_until(test_function, timeout=timeout, check_connected=False)
    25    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    26  File "/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/test/functional/test_framework/p2p.py", line 600, in wait_until
    27    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
    28    ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    29  File "/home/runner/work/bitcoin-core-nightly/bitcoin-core-nightly/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    30    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
    31AssertionError: Predicate ''''
    32        def test_function():
    33            if check_connected:
    34                assert self.is_connected
    35            return test_function_in()
    36''' not true after 480.0 seconds
    372025-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
    02025-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
    1(...)
    22025-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


hebasto mzumsande

Labels
Tests


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-28 15:12 UTC

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