Skip to content
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 various concurrency and tracing issues #6

Merged
merged 8 commits into from
Aug 6, 2024

Conversation

BrianBland
Copy link
Collaborator

@BrianBland BrianBland commented Jul 23, 2024

This changeset fixes a variety of concurrency edge cases and race conditions, which are more pronounced during heavyweight benchmarking such as when opcode tracing is enabled.

  • Wait up to 2 hours, in 10 second increments, for the engine API to finish syncing before executing the benchmarks. This appears to be necessary for certain Reth configurations, as the engine may perform some sync-related operations on startup.
  • Lock around calls to RecordBlockStats
  • Only stop processing blocks/stats after all stats have been recorded
  • Refactor the opcode tracing to improve handling of static calls and gas refunds

@BrianBland BrianBland changed the title Wait for engine sync on startup Fix various concurrency issues Aug 5, 2024
@BrianBland BrianBland changed the title Fix various concurrency issues Fix various concurrency and tracing issues Aug 5, 2024
@BrianBland BrianBland merged commit 7b047f7 into danyalprout:main Aug 6, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant