Skip to content
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.

Ganache transactions become stuck in queued state with manual nonce management and concurrent senders #4522

Open
kdelwat opened this issue Sep 5, 2023 · 0 comments
Labels

Comments

@kdelwat
Copy link

kdelwat commented Sep 5, 2023

I use Ganache as a local development server for an application which uses manual nonce management, and has concurrent senders of transactions from the same origin / Ethereum account.

Occasionally, and apparently non-deterministically, transactions will get stuck in the txpool in the queued state. The txpool_content RPC command shows the transaction has been assigned a nonce (e.g. 2), and checking the sender account using eth_getTransactionCount shows that the account nonce is up to the same nonce (2). I would expect that the transaction is then unqueued and mined.

Some thoughts:

  • This appears to happen only when transaction nonces are backfilled (a tx with an earlier nonce is sent after one with a later nonce).
  • This could be related to or the same bug as Ganache unpredictably drop transactions #4487
  • I have tried --chain.asyncRequestProcessing=false per the above issue and it doesn't resolve the problem
  • This occurs with both instamine and a block time

Reproduction

This can be tricky to reproduce because it's race-condition-y / non-deterministic. I've set up a repo here with a minimal example that fails. Note that I often have to run this multiple times (>5) until I see the failure case.

https://github.com/kdelwat/ganache-repro

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants