Skip to content

Conversation

@zerosnacks
Copy link
Member

@zerosnacks zerosnacks commented Aug 6, 2025

Minor breaking changes, changes should be exact logical equivalents

Possible minor performance regression / new overhead introduced by required boxing of DecodedTraceStep but from local benchmarks we see an overall improvement

  • Bump revm / op-revm to 28
  • Bumps revm-inspectors to revm 28
  • Bumps foundry-fork-db to revm 28

Fixes: #11216

Local benchmarks against uniswap/v4-core:

stable / nightly / revm 28

ran: forge test --mt test_fuzz_swap_beforeSwap_returnsDeltaSpecified

  • 2.10s -> 1.97s -> 1.75s

ran: forge test --mt test_fuzz_swap_beforeSwap_returnsDeltaSpecified -vvvv

  • 3.13s -> 3.14s -> 2.98s

@zerosnacks zerosnacks changed the title Zerosnacks/bump revm panic(forge script): repeated vm.createSelectFork with same RPC causes segfault, previously error Aug 6, 2025
@zerosnacks zerosnacks changed the title panic(forge script): repeated vm.createSelectFork with same RPC causes segfault, previously error fix(forge script): repeated vm.createSelectFork with same RPC causes segfault Aug 6, 2025
@zerosnacks zerosnacks changed the title fix(forge script): repeated vm.createSelectFork with same RPC causes segfault chore(deps): bump to revm 28 Aug 8, 2025
@zerosnacks zerosnacks self-assigned this Aug 8, 2025
@zerosnacks zerosnacks added this to the v1.4.0 milestone Aug 8, 2025
@DaniPopes
Copy link
Member

DaniPopes commented Aug 12, 2025

can do #11216

Comment on lines -211 to -214
// Check if an action has already been set (which would null the instruction pointer)
if interp.bytecode.action.is_some() {
return;
}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To double check @DaniPopes, this is no longer required in revm 28 per #11216 and we can therefore remove it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep

@zerosnacks zerosnacks marked this pull request as ready for review August 18, 2025 12:02
@DaniPopes DaniPopes merged commit f543e6e into master Aug 18, 2025
22 checks passed
@DaniPopes DaniPopes deleted the zerosnacks/bump-revm branch August 18, 2025 12:38
@github-project-automation github-project-automation bot moved this to Done in Foundry Aug 18, 2025
@grandizzy grandizzy moved this from Done to Completed in Foundry Aug 18, 2025
MerkleBoy pushed a commit to MerkleBoy/foundry that referenced this pull request Sep 17, 2025
* bump revm to 24.0.0

* fix clippy

* bump to alloy 1.0.7

* update revm, attempt to fix foundry-rs#11213

* bump incl fix for build issue: bluealloy/revm#2852

* add test to assert segfault no longer occurs

* note ticket

* bump revm to 28

* bump revm related deps

* bump rev alloy-evm clippy

* start fixing clippy, quite a few changes :(

* fix breaking changes introduced in revm 28

* fix merge conflict

* bump foundry-fork-db to 0.17

* fix expected test serialization result change

* remove workaround, nulled instruction pointer is now handled gracefully in revm

---------

Co-authored-by: grandizzy <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Completed

Development

Successfully merging this pull request may close these issues.

chore: remove revm workaround in next bump

5 participants