Skip to content

test: p2p_blocksonly.py intermittently times out under TSAN #7436

Description

@thepastaclaw

p2p_blocksonly.py intermittently times out under the linux64_tsan-test CI configuration while waiting for a transaction to reach the second relay-permission peer.

Expected behavior

After the first peer sends the transaction, the node relays it to the second peer and second_peer.wait_for_tx(txid) completes.

Actual behavior

In #7434's TSAN job, all three functional-test attempts timed out at p2p_blocksonly.py:77 after 240 seconds:

second_peer.wait_for_tx(txid)
AssertionError: Predicate ... not true after 240.0 seconds

The node log shows that it accepted the transaction into the mempool and queued the inventory for peer 1:

PushInv -- adding new inv: tx 1a379b... peer=1
AcceptToMemoryPool: peer=0: accepted 1a379b...

The P2P test peer nevertheless did not observe the transaction before the timeout. There was no ThreadSanitizer report.

Failed run/job: https://github.com/dashpay/dash/actions/runs/29054104936/job/86243970080

The triggering PR changes only LLMQ signature-share preverification and its unit tests; it does not touch transaction relay, the P2P test framework, or p2p_blocksonly.py. Other test configurations passed on the same head, so this failure appears unrelated and timing-sensitive.

To reproduce

Run the functional test repeatedly with the TSAN build/configuration, especially under CI load:

test/functional/p2p_blocksonly.py

The observed failure reproduced on all three automatic attempts within one CI job, but has not yet been reproduced locally.

System information

Potential investigation areas are whether mocktime advancement leaves the normal inventory trickle/send scheduling stalled under TSAN, and whether the test should explicitly synchronize the send path before waiting for the second peer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions