Closed
Bug 626531
Opened 14 years ago
Closed 13 years ago
Valgrind warning in Compartment destructor after OOM (jscompartment.cpp:79)
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: paul.biggar, Unassigned)
References
Details
An allocation failure at allocation 29/211 in ../jit-test/tests/arguments/args-createontrace.js causes problems (detected using bug 624094) Command (from obj directory, using patch from bug 624094): shell/js -A 29 -m -j -p -e "const platform='darwin'; const libdir='../jit-test/lib/';" -f ../jit-test/lib/prolog.js -f ../jit-test/tests/arguments/args-createontrace.js stdout, stderr, exitcode: ('OOM max count: 30\n', 'out of memory\n', 1) Diagnosis: - An OOM should give an exit code of 5, which is what made me notice this. that's pretty benign, but the valgrind warning looks serious. Stack trace (from valgrind): Conditional jump or move depends on uninitialised value(s) at: JSCompartment::~JSCompartment() (jscompartment.cpp:79) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7717) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7718) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7748) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7749) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7750) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7776) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7777) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7783) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7788) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7793) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7798) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7803) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7808) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: js::FinishJIT(js::TraceMonitor*) (jstracer.cpp:7813) by: JSCompartment::~JSCompartment() (jscompartment.cpp:83) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566) Conditional jump or move depends on uninitialised value(s) at: JSCompartment::~JSCompartment() (jscompartment.cpp:86) by: js::gc::NewCompartment(JSContext*, JSPrincipals*) (jsgc.cpp:2869) by: JS_NewCompartmentAndGlobalObject (jsapi.cpp:2959) by: NewGlobalObject(JSContext*) (js.cpp:5342) by: Shell(JSContext*, int, char**, char**) (js.cpp:5390) by: main (js.cpp:5566)
Reporter | ||
Comment 1•13 years ago
|
||
(In reply to comment #0) > An allocation failure at allocation 29/211 in > ../jit-test/tests/arguments/args-createontrace.js causes problems (detected > using bug 624094) The numbers (29/211) bit rot very quickly (any update to compartments, contexts, propertytree, etc change them), and I hadn't started recording stack traces of the OOMed allocation, and I no longer treat a return code of 1 as suspect, so I can't reproduce this easily. I'll put it on the backburner, and once the OOM failures are killed, we can look at non-crashing errors caused by OOMs like this one.
Reporter | ||
Comment 2•13 years ago
|
||
I don't see this anymore.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•