Skip to content

Turn on evm tracing for EELS#1174

Merged
marioevz merged 2 commits intoethereum:mainfrom
fselmo:eels-tracing
Feb 13, 2025
Merged

Turn on evm tracing for EELS#1174
marioevz merged 2 commits intoethereum:mainfrom
fselmo:eels-tracing

Conversation

@fselmo
Copy link
Collaborator

@fselmo fselmo commented Feb 4, 2025

🗒️ Description

  • Always send trace, and if it's set to True, send a known temp directory output-basedir to the EELS server / daemon. The server will include the full trace, using the output-basedir to store  the trace .jsonl files to be collected as expected by EEST.

🔗 Related Issues

ethereum/execution-specs#1109

✅ Checklist

  • All: Set appropriate labels for the changes.
  • All: Considered squashing commits to improve commit history.
  • All: Added an entry to CHANGELOG.md.
  • All: Considered updating the online docs in the ./docs/ directory.
  • n/a Tests: All converted JSON/YML tests from ethereum/tests have been added to converted-ethereum-tests.txt.
  • n/a Tests: A PR with removal of converted JSON/YML tests from ethereum/tests have been opened.
  • n/a Tests: Included the type and version of evm t8n tool used to locally execute test cases: e.g., ref with commit hash or geth 1.13.1-stable-3f40e65.
  • n/a Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.

@fselmo fselmo added scope:evm Scope: evm_transition_tool package type:feat type: Feature t8ntools Third party t8n tools support labels Feb 4, 2025
@fselmo fselmo self-assigned this Feb 4, 2025
@fselmo fselmo marked this pull request as ready for review February 4, 2025 15:44
@fselmo
Copy link
Collaborator Author

fselmo commented Feb 4, 2025

I left a comment on ethereum/execution-specs#1109 but it looks like merging into master there will cause conflicts with ethereum.rlp. Which branches would be best to PR against between EELS and EEST?


edit: maybe the add-ethereum-rlp-with-uv-0.5.15 branch here?

@fselmo fselmo changed the title Turn on evm tracing for EELS: Turn on evm tracing for EELS Feb 4, 2025
@danceratopz
Copy link
Member

I left a comment on ethereum/execution-specs#1109 but it looks like merging into master there will cause conflicts with ethereum.rlp. Which branches would be best to PR against between EELS and EEST?

edit: maybe the add-ethereum-rlp-with-uv-0.5.15 branch here?

@fselmo thanks for this!

The background is:

  • Sam created a new RLP library, https://pypi.org/project/ethereum-rlp/.
  • execution-specs master now uses this library instead of the previously locally (to execution-specs) implemented ethereum.rlp.
  • execution-spec-tests uses an older version of execution-specs (pinned in uv.lock) and still uses ethereum.rlp instead of ethereum-rlp.

I'll need to double-check, but I think we only need to move EEST from ethereum.rlp to the new ethereum-rlp package and then we can bump our dependencies to the current master ref of execution-specs.

I'll have go at moving EEST to ethereum-rlp.

@fselmo
Copy link
Collaborator Author

fselmo commented Feb 5, 2025

Thanks @danceratopz for the background. I knew there was an update needed somewhere, was just unsure which branch made sense here but that clears it up 👍🏼

Copy link
Member

@marioevz marioevz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works great, we have to wait until the EELS PR is merged, and include an updated reference to the new EELS commit in this PR, just like #1181 did.

@winsvega
Copy link

once we have access to evm tracing, can we add expect verification type for a certain type of exception during vm exec?

@marioevz
Copy link
Member

once we have access to evm tracing, can we add expect verification type for a certain type of exception during vm exec?

I think that's a different issue. Tracing is just to aid on debugging.

fselmo and others added 2 commits February 13, 2025 16:03
- Always send ``trace``, and if it's set to ``True``, send a known
  temp ``output-basedir`` to the EELS server / daemon. The server
  will include the full trace, using the ``output-basedir`` to store
  the trace ``.jsonl`` files to be collected as expected by EEST.
Copy link
Member

@marioevz marioevz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Locally tested and works great.

I've added a commit to bump the commit to the one where EELS merged the functionality on their side.

Thanks so much for this, it's such a nice feature to have when debugging :)

@fselmo
Copy link
Collaborator Author

fselmo commented Feb 13, 2025

@marioevz sounds good. Thanks for picking up the commit hash update 👍🏼

@marioevz marioevz merged commit 52eb1bb into ethereum:main Feb 13, 2025
11 checks passed
@fselmo fselmo deleted the eels-tracing branch February 13, 2025 16:19
felix314159 pushed a commit to felix314159/execution-spec-tests that referenced this pull request May 16, 2025
* Turn on evm tracing for EELS:

- Always send ``trace``, and if it's set to ``True``, send a known
  temp ``output-basedir`` to the EELS server / daemon. The server
  will include the full trace, using the ``output-basedir`` to store
  the trace ``.jsonl`` files to be collected as expected by EEST.

* chore(tox,ci,uv.lock): Update EELS reference commit to support tracing

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope:evm Scope: evm_transition_tool package t8ntools Third party t8n tools support type:feat type: Feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants