-
Notifications
You must be signed in to change notification settings - Fork 240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
transient storage consensus issue, Cancun #911
Comments
Issue 911 too. Nice |
The original |
Oops, wrong button |
I've tried to repro this, in order to produce a statetest with a differing stateroot (so we can add it to the reference-tests). The naive way, is to
However, I seem to be missing some nuance, because this simple flow does not trigger this. Could you please help me figure out what more is needed to trigger it ? |
I think the issue was that when a call was successful, we were not discarding the relevant snapshot (backup) of transient storage. So, when the parent call of the above mentioned call failed and we used the backups to restore, it was restoring the incorrect backup. So here is what I would suggest.
|
@holiman Starting with the original test from the fuzzer, I have put together a test that does this and stores the differentiating value to state using
|
Thanks. Yeah, I had tried that too, but didn't work. Turns out that I had mismatched |
Testcases for the eels-bugs: - [x] ethereum/execution-specs#911 - [x] ethereum/execution-specs#914 - [x] ethereum/execution-specs#917 --------- Co-authored-by: Guruprasad Kamath <48196632+gurukamath@users.noreply.github.com>
Something related to TSTORE
Original finding
Explainer: they were both in agreement up to
TLOAD
, but in the next op they differed in the stack.I have verified that eels is the odd one out, the others agree with geth.
Here is the minimized test:
Geth ends with
eels ends with
Note, I don't think the out-of-error exit is related. Before minimizing the testcase:
geth
eels
The text was updated successfully, but these errors were encountered: