Skip to content

Possible deadlock introduced in anvil >= 1.1.0 #10452

Open
@MartinquaXD

Description

@MartinquaXD

Component

Anvil

Have you ensured that all of these are up to date?

  • Foundry
  • Foundryup

What version of Foundry are you on?

No response

What version of Foundryup are you on?

No response

What command(s) is the bug in?

No response

Operating System

None

Describe the bug

We are using anvil for e2e tests. Most of the tests use an empty testnet (i.e. default anvil) but some rely on a forked network (i.e. --fork-url ). Our forked e2e tests started failing with v1.1.0 but worked fine with v1.0.0. The tests using empty testnets don't seem to be affected by the switch to the new version.

Unfortunately the errors always happen in CI but so far never when I ran the tests locally which makes debugging this more difficult. From what I can tell it seems like anvil can get stuck (perhaps a deadlock?) after receiving a evm_mine request (presumably only for forked setups).
This also looks like a race condition. When I ran anvil with RUST_LOG=debug which introduces some overhead due to excessive logging the issue happened less often.
Please see this PR for some more context of the investigation.

Given that this is probably a PITA to debug because reproducing this locally wasn't possible so far I could use our CI to do a git bisect to hopefully find the culprit. Please let me know if this is necessary since this will be quite time consuming.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-anvilCommand: anvilP-highPriority: highT-bugType: bug

    Type

    No type

    Projects

    Status

    In Progress

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions