-
Notifications
You must be signed in to change notification settings - Fork 357
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
Fix weight limits in evm tracing runtimes #3210
Merged
Merged
+144
−13
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
WASM runtime size check:Compared to target branchMoonbase runtime: 2420 KB (no changes) 🚨 Moonbeam runtime: 2400 KB (no changes) ✅ Moonriver runtime: 2412 KB (no changes) 🚨 Compared to latest release (runtime-3501)Moonbase runtime: 2420 KB (+468 KB compared to latest release) 🚨 Moonbeam runtime: 2400 KB (+460 KB compared to latest release) Moonriver runtime: 2412 KB (+472 KB compared to latest release) 🚨 |
Coverage Report@@ Coverage Diff @@
## master rq/fix-over-weight-when-tracing +/- ##
===================================================================
- Coverage 74.57% 74.56% -0.01%
Files 381 381
+ Lines 96700 96746 +46
===================================================================
+ Hits 72114 72130 +16
+ Misses 24586 24616 +30
|
This reverts commit a58f24a.
stiiifff
reviewed
Mar 10, 2025
stiiifff
approved these changes
Mar 10, 2025
2 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
B7-runtimenoteworthy
Changes should be noted in any runtime-upgrade release notes
D3-trivial
PR contains trivial changes in a runtime directory that do not require an audit
not-breaking
Does not need to be mentioned in breaking changes
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does it do?
The changes included in this pull request fix the weight limits used in evm tracing runtimes.
Runtimes with feature
evm-tracing
enabled introduce additional (ref_time) overhead, since they have special logic to trace ethereum transactions (emitting events for each component:gasometer
,runtime
,evm
) that is then used to fill all the information for (debug_traceTransaction
,trace_filter
, ...) rpc calls.Since the real ref_time in production runtimes is smaller, it means that we could reach the block weight limits when replaying a block in a evm-tracing runtime, and as result skip transactions traces. (Which was the case in moonbeam block 9770044)
What important points should reviewers know?
The fix consists in resetting the previously consumed weight before tracing each ethereum transaction, the fix only affects code under
evm-tracing
, which is not included in any production runtime.