-
Notifications
You must be signed in to change notification settings - Fork 20.3k
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
eth/tracers/logger: support tracing system calls #30923
base: master
Are you sure you want to change the base?
Conversation
Question how do you activate the struct logger on a block level? is it through the blocktest command? |
Yeah I hit this issue during debugging, just setting the tracer in VMConfig around a system call. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Sorry you have to approve again, I pushed something. |
Ah hold on for the json logger we are omitting the system call traces. I'm wondering if it can lead to inconsistent results for |
I don't think it will make a difference there. Right now, when tracing a system call with the struct logger, it just panics with nil pointer dereference. The PR fixes it to not crash and print the logs instead. |
Running the test
Vs
If you squint hard you can see the difference from |
I still don't understand how my change causes this difference |
I hate it that I can't the cool trick from the json logger on these 2.
Basically in the json logger the tracing gets disabled during system calls. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
The struct logger relies on the
OnTxStart
hook to store the execution context. In order to support tracing system calls, the logger also needs to listen to theOnSystemCallStartV2
hook.