-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Unexpectedly high gas usage in delegate transaction on game_of_stakes_3 #3242
Comments
I experienced the same issue even in case of withdraw rewards transaction. |
Something related to hooks most likely. |
@alexanderbez It is actually not. What happens is that the first transaction in the block has an invalid signature which causes the tx processing to abort. Lines 761 to 770 in e855780
However that also means that the context is not overwritten. Lines 732 to 740 in e855780
That function consumes the gas from the Subsequently the whole gas from BeginBlocker is then consumed in the first TX which is too much for the block as normally that gas should have never been consumed. |
Hmmm so the Is something along the following occurring for a given block:
|
@alexanderbez I don't have a PR open. Feel free to open one. It should be as simple as not consuming gas if the tx is aborted (if that's the intended behaviour) Edit: Thinking about possible DoS vectors it would make sense to just consume the gas from the newCtx that has been consumed until the execution was aborted. |
A bit confused actually, as I cannot see how during Edit: As @SLAMPER pointed out, |
We have seen a number of delegate transactions in Game of Stakes fail due to unexpected gas usage.
https://hubble.figment.network/chains/gos3/blocks/19486
Contains an example.
No pattern has been identified except that only delegate transactions appear to demonstrate unexpectedly high gas usage.
This is has also only been observed when adding coins to existing delegation and not when creating a new delegation.
For Admin Use
The text was updated successfully, but these errors were encountered: