You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@dckc I agree with your recommendation and will do that. But reading the code, I am confused how this arose. The detailsToken constructed near lines 72 and 92 are both followed by
Thus, for the detailsTokens made near lines 72 and 92, if we are using the same instance of the assert module and thus the same weakmap, I don't see how hiddenDetails can ever be undefined.
If we are instantiating the assert module twice, so that one doesn't recognize the detailsToken generated by the other, that itself would be a bad problem we need to fix. Can you help me reproduce this?
@dckc ... We never remove it from that weakmap ... I don't see how hiddenDetails can ever be undefined. ... Can you help me reproduce this?
I'm not confident that I can, on node; as I say, this arose in the context of Agoric/agoric-sdk#3039 , which has since been diagnosed as a GC bug in XS that resulted in things getting dropped from WeakMaps.
We construct
detailsToken
as follows:endo/packages/ses/src/error/assert.js
Line 72 in fb06d7d
and similarly on line 92.
Then in
assert.note
, we attempt to stringify it:On XS, this throws
cannot coerce object to string
. On node, likewise:It seems error-prone to try to prevent stringifying
detailsToken
, so I suggest addingtoString()
methods.context:
The moddable folks pointed this out in the course of debugging Agoric/agoric-sdk#3039; it was triggered in trackTurns:
The text was updated successfully, but these errors were encountered: