-
Notifications
You must be signed in to change notification settings - Fork 219
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
fix(xsnap): do not leak through vat termination race #5643
Conversation
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.
I started to take a look... it's more than I can look at urgently. I don't object to this going forward, though it seems to introduce significant technical-debt to re-sync endo (in place of the patch). I'd prefer to see an issue about cleaning that up.
@dckc the patches will become redundant and be removed at the next endo sync. I've used this approach before to incorporate endo changes into agoric-sdk without going through a full blown version bump, and it has worked well. cc @kriskowal |
61bccdf
to
5a1135c
Compare
5a1135c
to
f957c8f
Compare
547d722
to
384024a
Compare
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.
Reviewed just the non-Endo changes since those have separate review.
This patch approach seems fine to me. It's the norm when syncing Endo deps to remove stale patches. (These will fail otherwise.)
The snapshot does not seem to accumulate any significant program objects.
I can't tell whether this is evidence that the motivating observation is gone.
Approving because this appears to be strictly an improvement, whether it fully solves the problem or not.
f957c8f
to
bea100e
Compare
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.
I'm not qualified to review the implementation of racePromises
(maybe @erights or @kriskowal ?), but the use of it within xsnap.js
looks good to me.
bea100e
to
e46d1cb
Compare
I re-integrated the patches of endo PR that now landed, and rebased to not layer on top of the measurement work. @kriskowal depending on how #5576 goes, let decide whether when to merge this. |
ba9dc71
to
08ec858
Compare
08ec858
to
c6a200e
Compare
@Mergifyio refresh |
✅ Pull request refreshed |
refs: #5507
Description
Security Considerations
None
Documentation Considerations
We should have some documentation for developers regarding the memory leak risks of promises.
Testing Considerations
Tested locally with the loadgen. The snapshot does not seem to accumulate any significant program objects.