-
Notifications
You must be signed in to change notification settings - Fork 318
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
Add a new input for modlen = 999188. #405
Conversation
I'm trying to debug why this test fails in A few questions (also explored in more detail there):
Could clarifications on these be given, please? |
You could see the expected storage and gas in result blockchain test. Rationaly in this discussion: |
(Split in sections for clarity.) Storage values
The For the merge commit in this PR - the one being tested in tests/src/GeneralStateTestsFiller/stReturnDataTest/modexp_modsize0_returndatasizeFiller.json Lines 104 to 107 in 9b1f07c
For current latest tests/src/GeneralStateTestsFiller/stReturnDataTest/modexp_modsize0_returndatasizeFiller.json Lines 104 to 107 in 55946c7
The resulting (generated) test files don't have a section for this at all; the information, I assume, is hashed into the block PR merge commit: tests/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize.json Lines 56 to 63 in 9b1f07c
Latest tests/GeneralStateTests/stReturnDataTest/modexp_modsize0_returndatasize.json Lines 56 to 63 in 55946c7
Gas usage
All I can find - in both the "source" and "generated" variants - is gas index (transaction position in block), gas limit (block/transaction), and gas price, but not the amount of gas the transaction is to consume. So, uh... no, I can't see it, or it's not there. :) Could I get an exact link?.. Rationale
That's the same link that I posted - to the PR where I'm battling this test case. :) |
Should I open a separate issue for this, so it gets greater exposure? |
means the storage is expected to be empty. to get the actual result storage look at postState section of a filled blockchain test you could see the gas usage at balance of coinbase account as it is the on getting reward for transaction execution. in a blockchain test that is generated from state test if substract mining reward you will get the gas used by transaction * gas price. gasUsed is usually checked among clients when the test is failing for some reason. it is checked with debug in the step by step transaction execution. it happens rarely. what is your issue with that test? seems like you guessed right the memory allocation check of this test. |
That is mighty strange. The storage for that contract is already filled in the tests/src/GeneralStateTestsFiller/stReturnDataTest/modexp_modsize0_returndatasizeFiller.json Lines 112 to 120 in 9b1f07c
So, for the storage to become empty, it must be cleared; but that would mean The storage value at location The storage value at location
In short: it seems that this test case describes that the call to the precompile fails (at least in the implementation that filled the test JSON), but Hence my previous request for clarification on rationale: is it to test for success or failure?
There is no There is a There is no balance specified for the executing account other than the one before execution. Therefore, I can't perform the suggested calculation. Hence my previous request for clarification on gas use. |
you dont have to worry about expect section actually.
I think this place checks that the data was put in return data buffer. not in memory. |
OK, looks like I was looking at the wrong file then. X_X |
This implements a Byzantium test case
https://docs.google.com/spreadsheets/d/1xat7UI8GtB4ZGVdlK5_XQSHJZaMThi4SrlcL8XMZb5Q/edit#gid=1605675414&range=C46