Closed
Bug 940088
Opened 11 years ago
Closed 11 years ago
Assertion failure: jit::IsIonEnabled(cx), at jit/Ion.cpp
Categories
(Core :: JavaScript Engine: JIT, defect)
Tracking
()
RESOLVED
FIXED
mozilla28
Tracking | Status | |
---|---|---|
firefox28 | --- | affected |
People
(Reporter: gkw, Assigned: shu)
Details
(Keywords: assertion, regression, testcase, Whiteboard: [jsbugmon:])
Attachments
(2 files)
7.98 KB,
text/plain
|
Details | |
1.11 KB,
patch
|
nmatsakis
:
review+
|
Details | Diff | Splinter Review |
ParallelArray(8, function() { return setJitCompilerOption('ion.enable', 0) }) asserts js debug shell on m-c changeset f2adb62d07eb without any CLI arguments at Assertion failure: jit::IsIonEnabled(cx), at jit/Ion.cpp My configure flags are: CC="clang -Qunused-arguments" AR=ar CXX="clang++ -Qunused-arguments" sh ./configure --target=x86_64-apple-darwin12.5.0 --enable-optimize --enable-debug --enable-profiling --enable-gczeal --enable-debug-symbols --enable-methodjit --enable-type-inference --disable-tests --with-ccache --enable-threadsafe <other NSPR options>
Reporter | ||
Comment 1•11 years ago
|
||
autoBisect shows this is probably related to the following changeset: The first bad revision is: changeset: http://hg.mozilla.org/mozilla-central/rev/666d2f3254ab user: masaya iseki date: Tue Oct 22 17:47:00 2013 +0100 summary: Bug 909997 - Add JS compiler options at runtime to expand differential testing; r=nbp" Not sure if this is correct, this might be a pre-existing bug exposed by bug 909997. Since this involves ParallelArrays, setting needinfo? from Shu-yu.
status-firefox28:
--- → affected
Flags: needinfo?(shu)
Updated•11 years ago
|
Whiteboard: [jsbugmon:update] → [jsbugmon:]
Comment 2•11 years ago
|
||
JSBugMon: Cannot process bug: Unable to automatically reproduce, please track manually.
Reporter | ||
Comment 3•11 years ago
|
||
(In reply to Christian Holler (:decoder) from comment #2) > JSBugMon: Cannot process bug: Unable to automatically reproduce, please > track manually. This needs a threadsafe shell to reproduce.
Comment 4•11 years ago
|
||
(In reply to Gary Kwong [:gkw] [:nth10sd] (yes, still catching up on bugmail) from comment #1) > autoBisect shows this is probably related to the following changeset: > > The first bad revision is: > summary: Bug 909997 - Add JS compiler options at runtime to expand > differential testing; r=nbp" > > Not sure if this is correct, this might be a pre-existing bug exposed by bug > 909997. Since this involves ParallelArrays, setting needinfo? from Shu-yu. Shu: Note that setJitCompilerOption is changing the flag at the time of the call instead of changing it at the end of the JS execution, as the about:config flag will do. So the issue might be that the ForkSlice is reading the state of the flag when it is created and select a path which depends on Ion activation, while the function with the ForkSlice might change the state. Still I wonder if this cannot be replicated as preferences might be changed during a call to an interruption callback.
Assignee | ||
Comment 5•11 years ago
|
||
Move the FastInvokeGuard inside the loop body so it recomputes useIon_.
Attachment #8341191 -
Flags: review?(nmatsakis)
Assignee | ||
Updated•11 years ago
|
Assignee: general → shu
Status: NEW → ASSIGNED
Assignee | ||
Updated•11 years ago
|
Flags: needinfo?(shu)
Comment 6•11 years ago
|
||
Comment on attachment 8341191 [details] [diff] [review] Fix assumption that Ion stays enabled across warmup in ForkJoin. Review of attachment 8341191 [details] [diff] [review]: ----------------------------------------------------------------- What is the point of using FastInvokeGuard in the first place, then?
Assignee | ||
Comment 7•11 years ago
|
||
(In reply to Niko Matsakis [:nmatsakis] from comment #6) > Comment on attachment 8341191 [details] [diff] [review] > Fix assumption that Ion stays enabled across warmup in ForkJoin. > > Review of attachment 8341191 [details] [diff] [review]: > ----------------------------------------------------------------- > > What is the point of using FastInvokeGuard in the first place, then? Well I assume it's still faster than Invoke even if it's reconstructed per loop iter. Could also add a new method to update the ionEnabled flag.
Comment 8•11 years ago
|
||
Comment on attachment 8341191 [details] [diff] [review] Fix assumption that Ion stays enabled across warmup in ForkJoin. Review of attachment 8341191 [details] [diff] [review]: ----------------------------------------------------------------- What is the point of using FastInvokeGuard in the first place, then?
Attachment #8341191 -
Flags: review?(nmatsakis) → review+
Assignee | ||
Comment 9•11 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/c2fa44046af3
Comment 10•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/c2fa44046af3
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
You need to log in
before you can comment on or make changes to this bug.
Description
•