Closed Wollac closed 9 months ago
@Wollac I want to try this issue, May I claim this?
@dyxushuai Sorry for the late reply. This is a pretty tricky issue, but feel free to check it out!
Will be fixed when revm
is updated to include https://github.com/bluealloy/revm/pull/978
This issue was fixed by https://github.com/risc0/zeth/pull/76, I think it's time to close it.
This issue was fixed by #76, I think it's time to close it.
cc @Wollac
Yes thanks!
Currently,
zeth
is tested against theGeneralStateTests
of ethereum/tests. However, while each of these tests is tested for correct execution on the host, only a handful of them are actually executed on the guest by default.If you manually run all of them in the guest, some of them will fail due to a
SlotNotFound
panic. This happens when the EVM inside the guest tries to access storage slots that are not part of the guest's input.Steps to reproduce
For example, the following test fails because of this issue:
returndatacopy_initial_big_sum.json
. To run this exact test, change the following line https://github.com/risc0/zeth/blob/eed232b61532aa41e4520d44beb9cb0bffd4dcd1/testing/ef-tests/tests/executor.rs#L34 toThis returns
This indicates, that for this artificial case, when
revm
is run on the host it does not access storage slot0x0
of account0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6
. However, when running in the guest, it does.