Skip to content

bug(anvil): anvil overflows + panic on cast send with extremely large value #10688

Closed as not planned
@ARR552

Description

@ARR552

Component

Anvil

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

  • Foundry
  • Foundryup

What version of Foundry are you on?

forge Version: 1.2.1-nightly Commit SHA: 65650a6 Build Timestamp: 2025-05-28T06:02:53.137211290Z (1748412173) Build Profile: maxperf

What version of Foundryup are you on?

foundryup: 1.1.0

What command(s) is the bug in?

No response

Operating System

Linux

Describe the bug

Steps to reproduce:
Run anvil and send a tx to force an overflow

cast send 0x5f5dB0D4D58310F53713eF4Df80ba6717868A9f8 --value 100000000000000000000000000000000000000ether --private-key 0xa......1 --rpc-url http://127.0.0.1:33268/  --gas-price 1000gwei --gas-limit 21000 --legacy
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. Visit https://book.getfoundry.sh/announcements for more information. 
To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. 

Error: error sending request for url (http://127.0.0.1:33268/)

Context:
- Error #0: client error (SendRequest)
- Error #1: connection closed before message completed

Anvil log:

eth_getTransactionCount
eth_sendRawTransaction
The application panicked (crashed).
Message:  Uint conversion error: Overflow(256, 337622765642898738890454548373825388544, 340282366920938463463374607431768211455)
Location: crates/anvil/src/eth/backend/mem/mod.rs:2843

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

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                ⋮ 8 frames hidden ⋮                               
   9: <anvil::eth::backend::mem::Backend as anvil::eth::backend::validate::TransactionValidator>::validate_pool_transaction_for::h6c94fc2918597a7d
      at <unknown source file>:<unknown line>
  10: <anvil::eth::backend::mem::Backend as anvil::eth::backend::validate::TransactionValidator>::validate_pool_transaction::{{closure}}::h72a3b566dbb11e4e
      at <unknown source file>:<unknown line>
  11: anvil::eth::api::EthApi::send_raw_transaction::{{closure}}::he486d1e61ebbd48d
      at <unknown source file>:<unknown line>
  12: anvil::eth::api::EthApi::execute::{{closure}}::hd3ed76054da7c50b
      at <unknown source file>:<unknown line>
  13: <anvil::server::handler::HttpEthRpcHandler as anvil_server::RpcHandler>::on_request::{{closure}}::h2839bd9f3e2a8369
      at <unknown source file>:<unknown line>
  14: anvil_server::RpcHandler::on_call::{{closure}}::hfa847ede5b645cda
      at <unknown source file>:<unknown line>
  15: anvil_server::handler::handle_call::{{closure}}::h114dec59b9045af7
      at <unknown source file>:<unknown line>
  16: <F as axum::handler::Handler<(M,T1,T2),S>>::call::{{closure}}::h80ea8c169834a234
      at <unknown source file>:<unknown line>
  17: <tower::util::map_response::MapResponseFuture<F,N> as core::future::future::Future>::poll::ha924cd304147781b
      at <unknown source file>:<unknown line>
  18: <axum::routing::route::RouteFuture<E> as core::future::future::Future>::poll::h3f12ce908cd50a6d
      at <unknown source file>:<unknown line>
  19: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll::hff13a3498f8070ee
      at <unknown source file>:<unknown line>
  20: <tower::util::map_response::MapResponseFuture<F,N> as core::future::future::Future>::poll::h3362d8172dc6443e
      at <unknown source file>:<unknown line>
  21: <axum::routing::route::RouteFuture<E> as core::future::future::Future>::poll::h3f12ce908cd50a6d
      at <unknown source file>:<unknown line>
  22: <tower::util::map_response::MapResponseFuture<F,N> as core::future::future::Future>::poll::h73547b5acfc2aca2
      at <unknown source file>:<unknown line>
  23: hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T>::poll_write::h9904c71a1387bcaa
      at <unknown source file>:<unknown line>
  24: <axum::serve::Serve<M,S> as core::future::into_future::IntoFuture>::into_future::{{closure}}::{{closure}}::h21bac096afd206a3
      at <unknown source file>:<unknown line>
  25: tokio::runtime::task::raw::poll::h7afc0d443890f8aa
      at <unknown source file>:<unknown line>
  26: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hd2df613673a362e2
      at <unknown source file>:<unknown line>
  27: tokio::runtime::scheduler::multi_thread::worker::run::h0a3e82b705c1cf6e
      at <unknown source file>:<unknown line>
  28: tokio::runtime::task::raw::poll::h93f1499bd1b9df8d
      at <unknown source file>:<unknown line>
  29: std::sys::backtrace::__rust_begin_short_backtrace::h15446e0975b11f88
      at <unknown source file>:<unknown line>
  30: core::ops::function::FnOnce::call_once{{vtable.shim}}::h49928655ff2bc1b4
      at <unknown source file>:<unknown line>
  31: std::sys::pal::unix::thread::Thread::new::thread_start::hcc5ed016d554f327
      at <unknown source file>:<unknown line>
  32: clone<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.
Aborted (core dumped)

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