Skip to content

test: interface_zmq_dash.py InstantLock timeout on branches missing wait_for_instantlock sync fixes #7270

@thepastaclaw

Description

@thepastaclaw

Summary

interface_zmq_dash.py can time out waiting for an InstantLock on older/stale branches that do not contain the later wait_for_instantlock() sync fixes now present on develop.

Failing CI examples

Failure mode

test/functional/interface_zmq_dash.py times out at:

  • DashZMQTest.test_instantsend_publishers()
  • line 300: self.wait_for_instantlock(rpc_raw_tx_1_hash, self.nodes[0])

CI traceback excerpt:

AssertionError: Predicate ''''
    def check_instantlock():
        try:
            return node.getrawtransaction(txid, True)["instantlock"]
        except Exception:
            return False
''' not true after 240.0 seconds

Root cause

This is not caused by PR #7237's own changes.

I verified in the PR worktree:

git log upstream/develop..HEAD -- test/functional/interface_zmq_dash.py test/functional/test_framework/test_framework.py

which returns no commits, so the PR branch itself does not modify the failing test/helper path.

develop already contains the fixes for this exact issue:

  • c79c2d981drefactor: improve is-waiting helper by including mempool sync bump of mocktime
  • d8ac7815e3test: fix additional IS lock sync sites that passed nodes=[self.nodes[0]]

Those commits restore the wait_for_instantlock() behavior to bump mocktime and sync mempools across the relevant nodes, which is required so the MN signer nodes actually see the transaction before InstantLock signing.

The failing branch is behind develop and does not contain those fixes, so it can still hit the old timeout.

Reproduction notes

  1. Use a branch that predates c79c2d981d / d8ac7815e3
  2. Run python3 test/functional/interface_zmq_dash.py in a CI-capable environment with python3-zmq installed
  3. Observe intermittent timeout waiting for getrawtransaction(...)["instantlock"]

Expected behavior

Branches with the current develop test framework fixes should not rely on the old unsynchronized behavior and should avoid this timeout.

Suggested resolution

For stale backport branches, rebase or cherry-pick the helper/test fixes from:

  • c79c2d981d
  • d8ac7815e3

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