Re: weird assertion failure in js::NewContext (JS60)

Steve Fink <[email protected]> Thu, 28 Mar 2019 13:18:18 -0700
Newsgroups gmane.comp.mozilla.devel.jseng
Message-ID <[email protected]>
On 3/28/19 12:34 PM, Kent Williams wrote:
> I found out what my problem was.
>
> My interpreter global is this:
>
> JS::PersistentRooted<JSObject *> global;
>
> So since it's a JS::PersistentRootedObject, it needs this before it's 
> assigned a value:
>
> global.init(context);

Makes sense. I have seen other issues with the ordering of 
JSContext/JSRuntime shutdown that showed up with PersistentRooted. 
Unfortunately, I don't think I backported my fixes to esr60. It doesn't 
look like it would have affected your case, though, since you're looking 
at startup, not shutdown.

> This will cause a problem if there is an active JSAutoRequest.  The 
> init has to happen before entering the request.

Requests are gone on trunk. But I'm not completely clear -- are you 
still having an issue, or does it work to init before any requests?

> I found another request-related issue -- if you're building for 
> Debugging, Spidermonkey throws an error if you call JS::DestroyContext 
> with a request still outstanding.

Is that an issue, or a "don't do that" type of thing?


_______________________________________________
dev-tech-js-engine mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine