-
Notifications
You must be signed in to change notification settings - Fork 39
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
Investigate and fix panic #1208
Comments
This panic happens during snapshot generation. Fendermint traverses the state tree to dump it into a CAR file. Since we use the DAG-CBOR codec extensively, we traverse links within objects addressed by CIDs with the DAG-CBOR multicodec in order to make sure we save all reachable objects. What's happening here is that an object was saved with the state tree that happened to be invalid DAG-CBOR, yet it was addressed with that multicodec. So our assertion fails, which is correct, although it's rather disruptive to panic here. Instead of panicking, we should log the error as a warning and abort snapshot generation. That won't solve the original problem though. From what I understand this was reported by the Basin team (cc @sanderpick), so it's very likely that they're saving state tree objects under a DAG-CBOR multicodec that are not proper CBOR. |
@raulk not yet. @joewagner is looking in this but hasn't been able to reproduce it. He's going to sync up with @sam701 soon to take another look. |
It panics here https://github.com/consensus-shipyard/ipc/blob/main/fendermint/vm/interpreter/src/fvm/state/snapshot.rs#L252
The text was updated successfully, but these errors were encountered: