-
Notifications
You must be signed in to change notification settings - Fork 897
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
besu evmt8n daemon errors out on test data #5934
Comments
This is a regression on the part of Bonasi Tries. @matkt @garyschulte |
Maybe we should check the Reference test? @garyschulte |
It was working before. It potentially broke 07.19 |
Previously we were using forest for reference tests and t8n, it might be that we are now seeing it because we are using bonsai for these tests. #5686 |
Recreatable with
|
This issue is related to the reference test PR and this thread https://github.com/hyperledger/besu/pull/5686/files#r1312452175. With the bonsai reference test PR, we need the currentStateRoot of the block we want to import. If we don't add it, the referenceTest part will push a default value (there is also an error here because we put HASH.EMPTY instead of Hash.EMPTY_TRIE_HASH 4b2ef68#diff-4a1474d043a039440241468b27b762a601d190bf160e3128d52affce27cf48c3R131). So bonsai will expect to have an empty worldstate as final stateroot.
If I change the json by passing the currentStateRoot, the test works again.
Is this something we need to change in order to be able to ignore the final stateroot during tests? @shemnon @winsvega |
Hm, thats the thing I ask from t8n is to compute the current state root given the account list, txs and evm values. |
Yes but in the JSON test there is nothing to validate the State Root obtained from what I see . Afterwards I think it doesn't cost much to remove the check but it seems strange not to give the expected result in the input of the test |
what about when we generate the test, I don't know the stateRoot, what should I provide? |
Good point 👍 I will see to add a modification to manage this case |
@winsvega is there a simple way to differentiate between when t8n is being used to generate the test versus run the test so we can disable stateroot verification? It might be more useful If we just provide a flag like |
Usually the state verification is done by test runner tools that use t8n for state transition. Yes if you disable it by default, that will fit the t8n interface of other clients |
It can also be that if we put nothing in the field the check is disabled |
This behavior, and only in BonsaiReferenceTestWorldState seems to be the right fix. |
still get this issue for t8n
|
out=$(curl -s --data-raw $req 'http://localhost:3000')
req
.retesteth/besu/setup.sh Besu daemon is listening on port 3000
out
The text was updated successfully, but these errors were encountered: