Closed Bug 1465693 Opened 6 years ago Closed 6 years ago

Assertion failure: cx->options().werror(), at js/src/jsexn.cpp:660 with runOffThreadScript

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox-esr52 --- wontfix
firefox-esr60 --- wontfix
firefox60 --- wontfix
firefox61 --- wontfix
firefox62 --- fixed

People

(Reporter: gkw, Assigned: jandem)

References

Details

(4 keywords, Whiteboard: [jsbugmon:update])

Attachments

(2 files)

The following testcase crashes on mozilla-central revision 3931f461c8e8 (build with --enable-debug, run with --fuzzing-safe --no-baseline --no-ion):

")}";
options("strict", "werror");
offThreadCompileScript("function f(){return 1;''");
options("strict", "werror");
runOffThreadScript();

Backtrace:

#0  0x000055d8a2ab6b18 in js::ErrorToException (cx=<optimized out>, reportp=0x7f631c453650, callback=<optimized out>, userRef=<optimized out>) at js/src/jsexn.cpp:660
#1  0x000055d8a2bfb752 in js::GlobalHelperThreadState::finishParseTask<js::GlobalHelperThreadState::finishParseTask(JSContext*, js::ParseTaskKind, JS::OffThreadToken*)::<lambda(js::ParseTask*)> > (finishCallback=..., token=<optimized out>, kind=<optimized out>, cx=0x7f631d817000, this=<optimized out>) at js/src/vm/HelperThreads.cpp:1685
#2  js::GlobalHelperThreadState::finishParseTask (this=<optimized out>, cx=0x7f631d817000, kind=<optimized out>, token=<optimized out>) at js/src/vm/HelperThreads.cpp:1707
#3  0x000055d8a2bfba5e in js::GlobalHelperThreadState::finishScriptParseTask (this=<optimized out>, cx=<optimized out>, token=<optimized out>) at js/src/vm/HelperThreads.cpp:1773
#4  0x000055d8a24e7ec3 in runOffThreadScript (cx=0x7f631d817000, argc=<optimized out>, vp=<optimized out>) at js/src/shell/js.cpp:4740
/snip

For detailed crash information, see attachment.
autobisectjs shows this is probably related to the following changeset:

The first bad revision is:
changeset:   https://hg.mozilla.org/mozilla-central/rev/b2eb560ec7c8
user:        Jan de Mooij
date:        Tue May 31 08:07:00 2016 +0200
summary:     Bug 1274922 part 5 - Remove JSEXN_NONE and add JSEXN_WARN. r=jorendorff

Jan, is bug 1274922 a likely regressor?
Blocks: 1274922
Flags: needinfo?(jdemooij)
(In reply to Gary Kwong [:gkw] [:nth10sd] from comment #2)
> date:        Tue May 31 08:07:00 2016 +0200

Ah, almost exactly 2 years ago :)

Stupid werror, I think we should just remove it (bug 1275508). I'll take a look today.
Attached patch PatchSplinter Review
werror is used by some parts of the test suite unfortunately so we can't simply remove it yet.

I think for this bug we should just throw an exception in the shell when we try to toggle warnings-as-errors when there are off-thread jobs. We could probably also fix this in CompileError::throwError, but I don't want to make that code more complicated just for werror silliness.
Assignee: nobody → jdemooij
Status: NEW → ASSIGNED
Flags: needinfo?(jdemooij)
Attachment #8983047 - Flags: review?(jcoppeard)
Comment on attachment 8983047 [details] [diff] [review]
Patch

Review of attachment 8983047 [details] [diff] [review]:
-----------------------------------------------------------------

LGTM.
Attachment #8983047 - Flags: review?(jcoppeard) → review+
Pushed by jandemooij@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/21a438d7881d
Disallow toggling werror in the JS shell when there are off-thread jobs. r=jonco
https://hg.mozilla.org/mozilla-central/rev/21a438d7881d
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: