qa: failure in p2p_private_broadcast.py #34387

issue Sjors openend this issue on January 23, 2026
  1. Sjors commented at 7:56 am on January 23, 2026: member

    Noticed on the test-each-commit job for #32857:

    https://github.com/bitcoin/bitcoin/actions/runs/21254115595/job/61163625701?pr=32857

     0 node1 2026-01-22T16:33:40.225497Z [http] [httpserver.cpp:308] [http_request_cb] [http] Received a POST request for / from 127.0.0.1:40648 
     1 node1 2026-01-22T16:33:40.225559Z [httpworker.1] [rpc/request.cpp:243] [parse] [rpc] ThreadRPCServer method=getrawmempool user=__cookie__ 
     2 test  2026-01-22T16:33:40.276527Z TestFramework.utils (ERROR): wait_until() failed. Predicate: '''' 
     3                                           self.wait_until(lambda: len(tx_receiver.getrawmempool()) > 0)
     4                                   '''
     5 test  2026-01-22T16:33:40.276665Z TestFramework (ERROR): Unexpected exception 
     6                                   Traceback (most recent call last):
     7                                     File "/home/runner/work/bitcoin/bitcoin/test/functional/test_framework/test_framework.py", line 142, in main
     8                                       self.run_test()
     9                                     File "/home/runner/work/bitcoin/bitcoin/ci_build/test/functional/p2p_private_broadcast.py", line 331, in run_test
    10                                       self.wait_until(lambda: len(tx_receiver.getrawmempool()) > 0)
    11                                     File "/home/runner/work/bitcoin/bitcoin/test/functional/test_framework/test_framework.py", line 746, in wait_until
    12                                       return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
    13                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    14                                     File "/home/runner/work/bitcoin/bitcoin/test/functional/test_framework/util.py", line 420, in wait_until_helper_internal
    15                                       raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
    16                                   AssertionError: Predicate ''''
    17                                           self.wait_until(lambda: len(tx_receiver.getrawmempool()) > 0)
    18                                   ''' not true after 60 seconds
    19 test  2026-01-22T16:33:40.277541Z TestFramework (DEBUG): Closing down network thread 
    20 test  2026-01-22T16:33:40.327831Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later. 
    
  2. fanquake added the label CI failed on Jan 23, 2026
  3. fanquake commented at 8:00 am on January 23, 2026: member
    cc @vasild
  4. vasild commented at 11:44 am on January 23, 2026: contributor

    The failure is because a network-specific connection sneaked before the private broadcast one. It is a race in the test, I am considering how to best resolve it.

    Longer explanation: the tx originator bitcoind makes 10 initial connections as expected (apparently none of them are to Tor). Then the test sends a private broadcast and expects that the next connection to be made is a private broadcast and thus redirects it to nodes[1] instead of to a dummy Python P2P node. So, nodes[1] receives the network specific connection to Tor instead of the private broadcast connection. So, nodes[1] never receives the transaction and its mempool stays empty.

  5. vasild referenced this in commit 590a7b2595 on Jan 26, 2026
  6. vasild commented at 12:05 pm on January 26, 2026: contributor
  7. vasild referenced this in commit d92bd0b8fd on Jan 27, 2026
  8. vasild referenced this in commit 8b312c9b95 on Jan 30, 2026
  9. vasild referenced this in commit 13ba8bd63b on Jan 30, 2026
  10. vasild referenced this in commit f8b625685e on Feb 2, 2026
  11. vasild referenced this in commit 8aa763d464 on Feb 4, 2026

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-02-17 12:13 UTC

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