Skip to content

bug(forge test): panic crash on foundry v1.1+ #10552

@0xTimepunk

Description

@0xTimepunk

Component

Forge

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

  • Foundry
  • Foundryup

What version of Foundry are you on?

forge Version: 1.2.0-dev Commit SHA: 4107ae0 Build Timestamp: 2025-05-19T13:08:27.408307000Z (1747660107) Build Profile: release

What version of Foundryup are you on?

foundryup: 1.0.1

What command(s) is the bug in?

forge test --jobs 10

Operating System

macOS (Apple Silicon)

Describe the bug

Whenever test or coverage is ran, there is a random crash. This crash is present in version 1.1. By suggestion of @grandizzy updated to #10546 with foundryup --pr 10546because we thought usage of vm.cool was the problem (however there is no direct usage of it anywhere in our /src, but we can't say for sure in our libs)

We were using ffi to call apis with SURL , but this is now disabled through the codebase (mocks now used) and the bug is still present:

Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 4.89s (1.45ms CPU time)
The application panicked (crashed).
Message:  called `Option::unwrap()` on a `None` value
Location: /Users/timepunk/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/revm-19.7.0/src/journaled_state.rs:402

This is a bug. Consider reporting it at https://github.com/foundry-rs/foundry

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                ⋮ 9 frames hidden ⋮                               
  10: core::panicking::panic::h49eb163a6c085f1c
      at <unknown source file>:<unknown line>
  11: core::option::unwrap_failed::h2ae15f0d32988266
      at <unknown source file>:<unknown line>
  12: <core::iter::adapters::rev::Rev<I> as core::iter::traits::iterator::Iterator>::try_fold::h2a57210fa4f26ea6
      at <unknown source file>:<unknown line>
  13: revm::handler::mainnet::execution::call_return::h4601ab5cf339bcbf
      at <unknown source file>:<unknown line>
  14: core::ops::function::Fn::call::h26670057e514e122
      at <unknown source file>:<unknown line>
  15: revm::evm::Evm<EXT,DB>::transact_preverified_inner::h917d199f45d3768d
      at <unknown source file>:<unknown line>
  16: revm::evm::Evm<EXT,DB>::transact::hf17bd4d401d674cd
      at <unknown source file>:<unknown line>
  17: foundry_evm_core::backend::cow::CowBackend::inspect::h87090e8bd20a6b3e
      at <unknown source file>:<unknown line>
  18: foundry_evm::executors::Executor::call_with_env::hfb5d250b516667e0
      at <unknown source file>:<unknown line>
  19: foundry_evm::executors::Executor::call::h2c3c3107897b6d44
      at <unknown source file>:<unknown line>
  20: forge::runner::FunctionRunner::run::h1e1a6701692e9a3a
      at <unknown source file>:<unknown line>
  21: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut::h93625126a662e136
      at <unknown source file>:<unknown line>
  22: rayon::iter::plumbing::Folder::consume_iter::ha4c03dbd26932c17
      at <unknown source file>:<unknown line>
  23: rayon::iter::plumbing::bridge_producer_consumer::helper::h7821e50db04c3550
      at <unknown source file>:<unknown line>
  24: rayon_core::join::join_context::{{closure}}::h38e9ebb975e0a605
      at <unknown source file>:<unknown line>
  25: rayon::iter::plumbing::bridge_producer_consumer::helper::h7821e50db04c3550
      at <unknown source file>:<unknown line>
  26: rayon_core::join::join_context::{{closure}}::h38e9ebb975e0a605
      at <unknown source file>:<unknown line>
  27: rayon::iter::plumbing::bridge_producer_consumer::helper::h7821e50db04c3550
      at <unknown source file>:<unknown line>
  28: rayon_core::join::join_context::{{closure}}::h38e9ebb975e0a605
      at <unknown source file>:<unknown line>
  29: rayon::iter::plumbing::bridge_producer_consumer::helper::h7821e50db04c3550
      at <unknown source file>:<unknown line>
  30: rayon_core::join::join_context::{{closure}}::h38e9ebb975e0a605
      at <unknown source file>:<unknown line>
  31: rayon::iter::plumbing::bridge_producer_consumer::helper::h7821e50db04c3550
      at <unknown source file>:<unknown line>
  32: rayon::iter::extend::fast_collect::h77edbe5c3f023486
      at <unknown source file>:<unknown line>
  33: rayon::iter::extend::<impl rayon::iter::ParallelExtend<(K,V)> for alloc::collections::btree::map::BTreeMap<K,V>>::par_extend::h77b46ad038b57483
      at <unknown source file>:<unknown line>
  34: forge::runner::ContractRunner::run_tests::h340284e4cb4bb3ab
      at <unknown source file>:<unknown line>
  35: forge::multi_runner::MultiContractRunner::run_test_suite::he976af034b72ec82
      at <unknown source file>:<unknown line>
  36: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut::hf004e71e1e8d74bb
      at <unknown source file>:<unknown line>
  37: rayon::iter::plumbing::bridge_producer_consumer::helper::hd4020b432c11aa1f
      at <unknown source file>:<unknown line>
  38: rayon_core::join::join_context::{{closure}}::h74199bd401ea0ace
      at <unknown source file>:<unknown line>
  39: rayon::iter::plumbing::bridge_producer_consumer::helper::hd4020b432c11aa1f
      at <unknown source file>:<unknown line>
  40: rayon_core::join::join_context::{{closure}}::h74199bd401ea0ace
      at <unknown source file>:<unknown line>
  41: rayon_core::join::join_context::{{closure}}::h74199bd401ea0ace
      at <unknown source file>:<unknown line>
  42: <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute::hdd8c4af5a55104a8
      at <unknown source file>:<unknown line>
  43: rayon_core::registry::WorkerThread::wait_until_cold::ha20c3b8710539712
      at <unknown source file>:<unknown line>
  44: rayon_core::registry::ThreadBuilder::run::h0396c8455b4ae909
      at <unknown source file>:<unknown line>
  45: std::sys::backtrace::__rust_begin_short_backtrace::h04160d4a69df84a9
      at <unknown source file>:<unknown line>
  46: core::ops::function::FnOnce::call_once{{vtable.shim}}::hd4992d6975cb3c49
      at <unknown source file>:<unknown line>
  47: std::sys::pal::unix::thread::Thread::new::thread_start::hdb877a8060df0ba1
      at <unknown source file>:<unknown line>
  48: __pthread_cond_wait<unknown>
      at <unknown source file>:<unknown line>

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.
make: *** [ftest] Abort trap: 6

@grandizzy tracking here so that it can be followed up in terms of fixes

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions