-
Notifications
You must be signed in to change notification settings - Fork 207
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
Unserialized errors are remote #2769
Conversation
6fe4566
to
935404e
Compare
a716aed
to
a8e8f0a
Compare
I did #2773 to test whether the job stuck above in CI has anything to do with this PR. |
ef88ed1
to
3d962a7
Compare
We wanted to have the |
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.
Code changes seem fine. Consider the errorCount=0
thing but not too long.
Overall, as we figure out #2780, I'm expecting to see this converge into a form where the original error is tagged with a composite identifier that holds 1: a weakly-globally-unique-ish randomly-generated Swingset instance identifier, 2: a unique-within-that-Swingset vat ID, 3: a unique-within-that-vat Error counter. When this serialized error migrates to a different system, the Error
object created during deserialization should retain all that, plus get marked with the triple of identifiers from the point of deserialization. If it travels further, I'm on the fence as to whether we accumulate the full trail of breadcrumbs, or we throw out all but the first (origin) and last.
4f4703e
to
11b8c29
Compare
This PR does not provide enhanced console output until it is using a ses that incorporates endojs/endo#649 , which is not yet released, and will be after the ses 0.12.6 release. Until then, this PR doesn't break anything but also doesn't contribute much value. |
If linked with endojs/endo#649 , then
marshal
will cause unserialized errors to be identified as such when shown on the console. This tagging is invisible to unprivileged code.If linked before that PR, then this PR has no effect. Thus, it can be merged before a SES containing that other PR is released.
Well, almost no effect. As a place holder for @dtribble's better pseudo-pseudo-random-number-generator, the remote error tagging simply starts the counter at 10000 instead of 0. This will help a bit but will still be confusing.