Skip to content

Recover from failed BTC transaction submission #6947

@brice-stacks

Description

@brice-stacks

I noticed a devnet run get stuck when attempting to boot into epoch 3.0. I believe what happened was the following scenario:

  1. Node attempted to submit a block commit transaction
  2. The submission failed for some reason, network issue in this case
  3. The node later attempts to resubmit the same block commit
  4. It never actually tries, because it thinks that same transaction has already been sent.

The node should be able to know that this block commit was not successfully sent and should therefore allow it to be resubmitted.

See logs below:

2026-03-02 16:51:52.333 | Mar  2 21:51:52.333188 ERRO Bitcoin RPC error: transaction submission failed - Rpc(NetworkIO(Os { code: 101, kind: NetworkUnreachable, message: "Network unreachable" }))
2026-03-02 16:51:52.333 | Mar  2 21:51:52.333229 WARN Failed to submit block-commit bitcoin transaction: Transaction submission failed: Rpc(NetworkIO(Os { code: 101, kind: NetworkUnreachable, message: "Network unreachable" }))
2026-03-02 16:51:52.333 | Mar  2 21:51:52.333233 WARN Relayer failed to issue block commit, err: BurnchainSubmissionFailed(TransactionSubmissionFailed("Rpc(NetworkIO(Os { code: 101, kind: NetworkUnreachable, message: \"Network unreachable\" }))"))
2026-03-02 16:51:52.337 | Mar  2 21:51:52.336992 INFO PoX recipient chosen, recipient: 1a-f4f12ce3c0efbfb5e9f826e0e702e8e33ff72671, block_height: 146, stacks_block_hash: 26597c755a142f5c9259756181618a3ec4f3c4d5e9342dd6c9c345e7c257d387
2026-03-02 16:51:52.337 | Mar  2 21:51:52.337035 INFO PoX recipient chosen, recipient: 1a-f4f12ce3c0efbfb5e9f826e0e702e8e33ff72671, block_height: 146, stacks_block_hash: 26597c755a142f5c9259756181618a3ec4f3c4d5e9342dd6c9c345e7c257d387
2026-03-02 16:51:52.341 | Mar  2 21:51:52.341891 ERRO Bitcoin RPC failure: checking tx confirmation Rpc(Service(JsonRpcError { code: -5, message: "Invalid or non-wallet transaction id", data: None }))
2026-03-02 16:51:52.342 | Mar  2 21:51:52.342466 INFO Abort attempt to re-submit identical LeaderBlockCommit
2026-03-02 16:51:52.342 | Mar  2 21:51:52.342472 WARN Failed to submit block-commit bitcoin transaction: Identical operation, not submitting
2026-03-02 16:51:52.342 | Mar  2 21:51:52.342474 WARN Relayer failed to issue block commit, err: BurnchainSubmissionFailed(IdenticalOperation)
2026-03-02 16:51:52.343 | Mar  2 21:51:52.343592 INFO PoX recipient chosen, recipient: 1a-f4f12ce3c0efbfb5e9f826e0e702e8e33ff72671, block_height: 146, stacks_block_hash: 26597c755a142f5c9259756181618a3ec4f3c4d5e9342dd6c9c345e7c257d387
2026-03-02 16:51:52.343 | Mar  2 21:51:52.343607 INFO PoX recipient chosen, recipient: 1a-f4f12ce3c0efbfb5e9f826e0e702e8e33ff72671, block_height: 146, stacks_block_hash: 26597c755a142f5c9259756181618a3ec4f3c4d5e9342dd6c9c345e7c257d387
2026-03-02 16:51:52.346 | Mar  2 21:51:52.346917 ERRO Bitcoin RPC failure: checking tx confirmation Rpc(Service(JsonRpcError { code: -5, message: "Invalid or non-wallet transaction id", data: None }))
2026-03-02 16:51:52.347 | Mar  2 21:51:52.347651 INFO Abort attempt to re-submit identical LeaderBlockCommit
2026-03-02 16:51:52.347 | Mar  2 21:51:52.347657 WARN Failed to submit block-commit bitcoin transaction: Identical operation, not submitting
2026-03-02 16:51:52.347 | Mar  2 21:51:52.347658 WARN Relayer failed to issue block commit, err: BurnchainSubmissionFailed(IdenticalOperation)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Status: 🆕 New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions