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

Check execution trace differences for v16 #8757

Closed
arajasek opened this issue May 30, 2022 · 3 comments
Closed

Check execution trace differences for v16 #8757

arajasek opened this issue May 30, 2022 · 3 comments
Labels
P2 P2: Should be resolved
Milestone

Comments

@arajasek
Copy link
Contributor

We have a new stream of execution trace info with v16 as we upgrade to the FVM. While care has been taken to make sure the same amount of information is captured, there may be unintended changes in the format / shape of the returned information.

We should remove any such changes if possible -- ideally the output of exec traces with the FVM will be identical to the current output we get on the LegacyVM. This way we guarantee no UX issues arising from the v16 changes, as users won't observe any difference.

@arajasek arajasek added this to the Network v16 milestone May 30, 2022
@arajasek arajasek added the P2 P2: Should be resolved label May 30, 2022
@arajasek
Copy link
Contributor Author

arajasek commented May 30, 2022

Suggested approach:

  • Replay an "interesting" message on the v16 caterpillarnet / butterflynet, getting its execution trace. Anything that involves (at least) one internal message is a good fit -- I think PreCommitSector (with deals), ProveReplicaUpdates, DisputeWindowedPost could all be good choices, as well as the implicit Cron call to the power actor.
  • Replay the same message type on mainnet / calibnet today
  • Compare and contrast the outputs. Anything trivially different between should be fixed to be the same. Anything non-trivial might need discussion.
  • Do the same, but this time grabbing the HTML and JSON outputs. Make sure they're well-formed (and essentially the same) as the LegacyVM.

@arajasek
Copy link
Contributor Author

We should also test an MsigAprrove, since that is the message that's most relevant to our known users of this feature.

@geoff-vball
Copy link
Contributor

Note: In nv16, subcall exec traces are no longer populated by default, to get the previous behaviour you must set the env var LOTUS_VM_ENABLE_TRACING=1 (this was formerly LOTUS_VM_ENABLE_GAS_TRACING_VERY_SLOW.

One small change was made in #8804 to make the exec traces line up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P2 P2: Should be resolved
Projects
None yet
Development

No branches or pull requests

2 participants