Closed Bug 1314028 Opened 5 years ago Closed 5 years ago
_webassembly _compile .html | application crashed [@ JSContext::get Pending Exception(JS::Mutable Handle<JS::Value>)]
58 bytes, text/x-review-board-request
Fortunately, it looks like the crashing condition is pretty simple: GetAndClearException() is being called when no exception is pending. This seems to be called by AbruptRejectPromise which was just added in bug 1313049. So what this test is doing is calling worker.terminate() when that worker has a bunch of pending promises. I believe terminate() uses the interrupt callback to abruptly terminate, so I expect that is why, even though JS::ForOfIterator::init() is returning false, no exception is pending. So I expect the fix is to handle the !cx->isExceptionPending() case.
(In reply to Luke Wagner [:luke] from comment #1) > So I expect the fix is to handle the !cx->isExceptionPending() > case. Yeah, except I'm not sure how much handling there is to do, really. I *think* just bailing is the best we can do in this situation, so the patch I just asked for review for does that.
Comment on attachment 8807349 [details] Bug 1314028 - Don't try to handle uncatchable exceptions in AbruptRejectPromise. https://reviewboard.mozilla.org/r/90526/#review90250 Makes sense.
Attachment #8807349 - Flags: review?(luke) → review+
Pushed by firstname.lastname@example.org: https://hg.mozilla.org/integration/mozilla-inbound/rev/c71bdc18c5c7 Don't try to handle uncatchable exceptions in AbruptRejectPromise. r=luke
You need to log in before you can comment on or make changes to this bug.