MenuClose
Stuck or wrongly failed Relayer transactions
Three bugs still open in OpenZeppelin Relayer 1.8.0 leave transactions stuck, or mark one Failed after it was mined. Each leaves a line in the log you can search for. The table matches the line to the bug; the notes have the reproduction, the cause and the workarounds in full.
Match the log line
| Log line | Bug | Fix status | Meanwhile |
|---|---|---|---|
max attempts reached, failing job job_, then records in sent with status_reason "Nonce too high (attempt N)" and no nonce gaps detected on every health run | #843: after a burst of RPC errors on a chain that rejects nonce gaps, the counter runs ahead of the chain and the gap does not close while transactions keep arriving. Reproduced on 1.8.0. | Maintainers' PR #862, approved 2026-08-21 and again 2026-10-14, open; it applies to networks tagged arbitrum-based. On the tagged reproduction it cleared the jam within about a minute in two runs, where 1.8.0 held the gap until intake stopped. Outside PR #844, open: the rewind did not fire while transactions kept arriving. | Several rpc_urls with failover; alert on the first line and on sent records with no sent_at; keep intake below what the relayer can resubmit. |
Nonce N consumed externally (on-chain nonce: M). | #817: a transaction that was mined is finalized as Failed when a lagging RPC still answers null for its receipt. A 1.5.0 regression; reproduced on 1.8.0. | Maintainers' PR #899, open. Built at d4b0574 and run four times on 2026-10-08: the mined transaction was still finalized as Failed every time. | A slower speed than fastest; one consistent RPC endpoint rather than a load-balanced pool; alert on nonce consumed externally and look the hash up before acting on the failed webhook. |
bumped gas price does not meet minimum requirement, every few seconds, with the transaction left in submitted | #808: once a transaction's fee reaches gas_price_cap, the minimum bump can never be met, so it is never resent, even after gas falls. 1.5.0 to 1.8.0; reproduced on 1.8.0. | No pull request. | Real headroom above your normal bumped fees, or no cap; alert on the line; with Redis storage, change the cap with PATCH /. |
Fix status as of 2026-10-15. None of the three issues has a maintainer comment yet; the maintainers' fixes are the pull requests named in the table. A fix counts here when it is in a release, not when a pull request is approved.
How these were reproduced
Each one runs on a laptop with Docker: the unmodified Relayer image, anvil, and a small proxy that plays the part of the failing provider (rejecting nonce gaps, returning 503s, or hiding a receipt for a few minutes). The compose files, drivers and logs are public: relayer-843-repro, relayer-817-repro and relayer-808-repro. Pull requests that claim to fix one of them are run against the same setup, with the stock release as a control.
Before you upgrade
The 1.4 to 1.8 notes list what changed and what is still open. Teams that run the stack themselves can have each new release run against these reproductions and their own configuration, on a local chain with a test key, before it reaches production: $299 a month, and the first check is free (pricing).