Closed
Bug 516262
Opened 15 years ago
Closed 15 years ago
Crash [@ js_Interpret] or "Assertion failure: script->nfixed == 2, at ../jsinterp.cpp"
Categories
(Core :: JavaScript Engine, defect, P1)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla1.9.2
People
(Reporter: gkw, Assigned: brendan)
References
Details
(4 keywords, Whiteboard: fixed-in-tracemonkey [ccbr])
Crash Data
Attachments
(1 file)
1.52 KB,
patch
|
Details | Diff | Splinter Review |
y=0 var z [#1#] crashes js opt shell at js_Interpret at null on TM tip (changeset: 32240:01fc5bf1d21a) without -j and asserts debug at Assertion failure: script->nfixed == 2, at ../jsinterp.cpp:1568 (Pass in as a CLI argument to get it to assert/crash) autoBisect shows this is probably related to bug 514981: The first bad revision is: changeset: 32201:c19b0d06d076 user: Brendan Eich date: Wed Sep 09 20:21:15 2009 -0700 summary: Bug 514981 - JSStackFrame::sharp{Array,Depth} should be locals allocated due to #n[#=] usage (r=igor). === $ cat 2interesting/w4811-reduced.js y=0 var z [#1#] $ Mozilla/32240/js-dbg-tm-darwin 2interesting/w4811-reduced.js Assertion failure: script->nfixed == 2, at ../jsinterp.cpp:1568 $ Mozilla/32240/js-opt-tm-darwin 2interesting/w4811-reduced.js Bus error === Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000 Crashed Thread: 0 Thread 0 Crashed: 0 js-opt-tm-darwin 0x00053c7a js_Interpret + 23498 1 js-opt-tm-darwin 0x0005dc61 js_Execute + 385 2 js-opt-tm-darwin 0x0000d53c JS_ExecuteScript + 60 3 js-opt-tm-darwin 0x00004270 Process(JSContext*, JSObject*, char*, int) + 1616 4 js-opt-tm-darwin 0x0000746f main + 879 5 js-opt-tm-darwin 0x0000196b _start + 209 6 js-opt-tm-darwin 0x00001899 start + 41
Flags: blocking1.9.2?
Reporter | ||
Updated•15 years ago
|
Whiteboard: [ccbr]
Assignee | ||
Comment 1•15 years ago
|
||
The code shown in the patch was not self-consistent (look for all occurrences of script->nfixed - 2). D'oh! Gary, thanks for all the fuzzing! /be
Assignee | ||
Updated•15 years ago
|
OS: Mac OS X → All
Priority: -- → P1
Hardware: x86 → All
Target Milestone: --- → mozilla1.9.2
Updated•15 years ago
|
Flags: blocking1.9.2? → blocking1.9.2+
Comment 2•15 years ago
|
||
Comment on attachment 400403 [details] [diff] [review] fix We should define a constant like SHARP_LOCAL_COUNT and use it, not just a plain 2, which is confusing with all those args - 2. Also the patch should use either memcpy/loop or a static assert that SHARP_LOCAL_COUNT is 2 when initializing the slots. At least this will be self-commenting. r+ with this fixed.
Attachment #400403 -
Flags: review?(igor)
Assignee | ||
Comment 3•15 years ago
|
||
Thanks, I opted for static assert (in two files, mainly as you say to document the unrolled short loop or similar dependency on #array/#depth being the two and only two sharp locals). Fixed in tm: http://hg.mozilla.org/tracemonkey/rev/d23e05e857b3 /be
Whiteboard: [ccbr] → fixed-in-tracemonkey [ccbr]
Comment 4•15 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/d23e05e857b3
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Updated•15 years ago
|
Flags: blocking1.9.2+ → blocking1.9.2?
Comment 5•15 years ago
|
||
Did/should this land on mozilla-1.9.2? @js_Interpret is the topcrash on Firefox 3.6b1 by an order of magnitude.
Flags: blocking1.9.2? → blocking1.9.2+
Updated•15 years ago
|
Flags: blocking1.9.2+ → blocking1.9.2-
Comment 6•15 years ago
|
||
Bug 514981 did not land on 192
Updated•13 years ago
|
Crash Signature: [@ js_Interpret]
You need to log in
before you can comment on or make changes to this bug.
Description
•