Closed
Bug 698871
Opened 15 years ago
Closed 14 years ago
[ObjShrink]: GC related crash [@ JSObject::lastProperty] or [@ getObjectParent]
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: decoder, Unassigned)
References
Details
(Keywords: crash, testcase)
Crash Data
Attachments
(2 files)
The attached testcase crashes on jaegermonkey branch revision f951e9151626 (run with -m -n -a), tested on 64 bit.
| Reporter | ||
Comment 1•15 years ago
|
||
Backtrace:
==38292== Invalid read of size 8
==38292== at 0x412EAA: JSObject::lastProperty() const (jsobj.h:482)
==38292== by 0x4152CD: JSObject::isNative() const (jsobjinlines.h:1121)
==38292== by 0x52EE47: LookupPropertyWithFlagsInline(JSContext*, JSObject*, jsid, unsigned int, JSObject**, JSProperty**) (jsobj.cpp:5596)
==38292== by 0x52F04B: js::LookupPropertyWithFlags(JSContext*, JSObject*, jsid, unsigned int, JSObject**, JSProperty**) (jsobj.cpp:5654)
==38292== by 0x53094B: js_SetPropertyHelper(JSContext*, JSObject*, jsid, unsigned int, JS::Value*, int) (jsobj.cpp:6214)
==38292== by 0x44D2C8: array_setGeneric(JSContext*, JSObject*, jsid, JS::Value*, int) (jsarray.cpp:931)
==38292== by 0x529453: JSObject::nonNativeSetProperty(JSContext*, jsid, JS::Value*, int) (jsobj.cpp:3669)
==38292== by 0x442D1F: JSObject::setGeneric(JSContext*, jsid, JS::Value*, int) (jsobjinlines.h:141)
==38292== by 0x4F4B91: js::Interpret(JSContext*, js::StackFrame*, js::InterpMode) (jsinterp.cpp:3627)
==38292== by 0x6F12E5: js::mjit::EnterMethodJIT(JSContext*, js::StackFrame*, void*, JS::Value*, bool) (MethodJIT.cpp:1015)
==38292== by 0x6F1470: CheckStackAndEnterMethodJIT(JSContext*, js::StackFrame*, void*, bool) (MethodJIT.cpp:1046)
==38292== by 0x6F1553: js::mjit::JaegerShot(JSContext*, bool) (MethodJIT.cpp:1063)
==38292== Address 0xdadadadadadadada is not stack'd, malloc'd or (recently) free'd
| Reporter | ||
Updated•15 years ago
|
Attachment #571133 -
Attachment mime type: text/plain → application/x-gzip
| Reporter | ||
Comment 2•15 years ago
|
||
I suspect this bug being the source of many different failures on the JM branch.
Summary: TI: GC related crash [@ JSObject::lastProperty] → [ObjShrink]: GC related crash [@ JSObject::lastProperty]
Comment 3•14 years ago
|
||
Here's another testcase:
for (e in
eval("\
(function(){\
for(x in [0,0]) {\
try {\
let q;\
with(gc()) {\
for(a in <y>></y>)\
yield;\
z\
}\
} catch(e){}\
}\
})\
")()
) {}
crashes js debug shell on JM changeset 1210706b4576 patched with patch v1 from bug 697279 without any CLI flags at JSObject::lastProperty and crashes js opt shell at getObjectParent.
Hardware: x86_64 → All
Summary: [ObjShrink]: GC related crash [@ JSObject::lastProperty] → [ObjShrink]: GC related crash [@ JSObject::lastProperty] or [@ getObjectParent]
Updated•14 years ago
|
Crash Signature: [@ JSObject::lastProperty] → [@ JSObject::lastProperty]
[@ getObjectParent]
Comment 5•14 years ago
|
||
During array slowification there was an interval where the slowified array appeared to be a newborn, which kept its type from being pinned and led to a later GC crash. This was fixed by bug 684507, which removes isNewborn from JSObject.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•