Closed
Bug 528507
Opened 16 years ago
Closed 16 years ago
TM: Crash [@ JS_CallTracer]
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
VERIFIED
FIXED
| Tracking | Status | |
|---|---|---|
| status1.9.2 | --- | unaffected |
| status1.9.1 | --- | unaffected |
People
(Reporter: gkw, Assigned: gal)
References
Details
(Keywords: crash, regression, testcase, Whiteboard: [sg:critical?][ccbr], fixed-in-tracemonkey)
Crash Data
Attachments
(1 file)
|
1.42 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
(new Function("for (e in ((\
function f(m, n) { \
((function g(aaaaaa, p) {\
if (aaaaaa.length == p) {\
return p\
}\
var x = aaaaaa[p];\
a = g(aaaaaa, p + 1);\
gczeal(2)\
})([0, 0, Infinity, 0, Infinity, Infinity, 0, Infinity], 0));\
s = m[n] + f(m, n)\
})([0], 0))()) \
for each(a in [0]) {}\
"))()
crashes js debug shell with -j at JS_CallTracer at 0xdadadfec, setting security-sensitive due to scary address.
Stack:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000dadadfec
Crashed Thread: 0
Thread 0 Crashed:
0 js-dbg-tm-darwin 0x0006c3e2 JS_CallTracer + 384
1 js-dbg-tm-darwin 0x0006cadf js_TraceStackFrame + 691
2 js-dbg-tm-darwin 0x0006d482 js_TraceContext + 596
3 js-dbg-tm-darwin 0x0006daae js_TraceRuntime + 172
4 js-dbg-tm-darwin 0x0006ec6d js_GC + 1013
5 js-dbg-tm-darwin 0x0006f906 __ZL20RefillDoubleFreeListP9JSContext + 206
6 js-dbg-tm-darwin 0x0006faef js_NewDoubleInRootedValue + 221
7 js-dbg-tm-darwin 0x00143d05 js_NativeToValue(JSContext*, long&, JSTraceType_, double*) + 555
8 js-dbg-tm-darwin 0x001710ad FlushNativeStackFrameVisitor::visitStackSlots(long*, unsigned long, JSStackFrame*) + 267
9 js-dbg-tm-darwin 0x00162896 bool VisitFrameSlots<FlushNativeStackFrameVisitor>(FlushNativeStackFrameVisitor&, unsigned int, JSStackFrame*, JSStackFrame*) + 344
10 js-dbg-tm-darwin 0x00162776 bool VisitFrameSlots<FlushNativeStackFrameVisitor>(FlushNativeStackFrameVisitor&, unsigned int, JSStackFrame*, JSStackFrame*) + 56
11 js-dbg-tm-darwin 0x001629fc bool VisitStackSlots<FlushNativeStackFrameVisitor>(FlushNativeStackFrameVisitor&, JSContext*, unsigned int) + 54
12 js-dbg-tm-darwin 0x00162a6c __ZL21FlushNativeStackFrameP9JSContextjPK12JSTraceType_PdP12JSStackFramej + 106
13 js-dbg-tm-darwin 0x001640c7 __ZL9LeaveTreeR11InterpStateP10VMSideExit + 2253
14 js-dbg-tm-darwin 0x00165803 __ZL11ExecuteTreeP9JSContextP12TreeFragmentRjPP10VMSideExit + 1769
15 js-dbg-tm-darwin 0x00166a59 js_MonitorLoopEdge(JSContext*, unsigned int&, RecordReason) + 955
16 js-dbg-tm-darwin 0x000896ab js_Interpret + 93369
17 js-dbg-tm-darwin 0x0009bfed js_Execute + 1169
18 js-dbg-tm-darwin 0x000117f2 JS_ExecuteScript + 54
19 js-dbg-tm-darwin 0x0000a827 __ZL7ProcessP9JSContextP8JSObjectPci + 1347
20 js-dbg-tm-darwin 0x0000b1f0 __ZL11ProcessArgsP9JSContextP8JSObjectPPci + 2272
21 js-dbg-tm-darwin 0x0000b5bd main + 953 (js.cpp:4841)
22 js-dbg-tm-darwin 0x000023bb _start + 209
23 js-dbg-tm-darwin 0x000022e9 start + 41
| Reporter | ||
Comment 1•16 years ago
|
||
(Not exactly the smallest) regression window:
http://hg.mozilla.org/tracemonkey/pushloghtml?fromchange=970cd5f87f42&tochange=c159b69e34a1
| Reporter | ||
Updated•16 years ago
|
Whiteboard: [ccbr]
Sorry, I should have noticed this earlier. I think this is your patch, Andreas.
js_NewDoubleInRootedValue() can now re-enter the GC even if we're on trace.
| Reporter | ||
Comment 3•16 years ago
|
||
Confirming to be bug 508140, tm changeset 34680:c4e383beacfb did not crash, but 34681:c159b69e34a1 did.
Blocks: 508140
| Assignee | ||
Comment 4•16 years ago
|
||
Yeah, my patch. Taking.
| Assignee | ||
Updated•16 years ago
|
Assignee: general → gal
| Assignee | ||
Comment 5•16 years ago
|
||
The Refill*FreeList code is enormously ugly and convoluted. The loop is really hard to understand and the possible states involved are difficult to grasp. This patch makes it quite a bit uglier. We should rewrite the code for clarity and less re-use (unroll the loop) once igor has merged the two versions of it (I assume that will happen soon with the bitmap for everything change).
| Assignee | ||
Updated•16 years ago
|
Attachment #412347 -
Flags: review?(dvander)
| Assignee | ||
Comment 6•16 years ago
|
||
This is only on TM so I think we can open this up.
Updated•16 years ago
|
Attachment #412347 -
Flags: review?(dvander) → review+
I would re-run the old trace-tests or cases from bug 523947 to make sure we haven't reopened old wounds.
Updated•16 years ago
|
Whiteboard: [ccbr] → [sg:critical?][ccbr]
| Assignee | ||
Comment 8•16 years ago
|
||
Whiteboard: [sg:critical?][ccbr] → [sg:critical?][ccbr], fixed-in-tracemonkey
Comment 9•16 years ago
|
||
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Updated•15 years ago
|
Updated•15 years ago
|
Crash Signature: [@ JS_CallTracer]
Comment 10•14 years ago
|
||
Tracer has been long gone on trunk, marking verified.
Status: RESOLVED → VERIFIED
Updated•13 years ago
|
Flags: in-testsuite-
You need to log in
before you can comment on or make changes to this bug.
Description
•