Last Comment Bug 728686 - JS_NewPropertyIterator disables IGC
: JS_NewPropertyIterator disables IGC
Status: VERIFIED FIXED
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Trunk
: All All
: -- normal with 6 votes (vote)
: mozilla13
Assigned To: Bill McCloskey (:billm)
:
Mentors:
: 728683 728701 728702 (view as bug list)
Depends on:
Blocks: IncrementalGC 728683 728701 728702 732787
  Show dependency treegraph
 
Reported: 2012-02-19 07:28 PST by Kyle Huey [:khuey] (khuey@mozilla.com)
Modified: 2012-06-11 08:04 PDT (History)
42 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
patch (961 bytes, patch)
2012-02-21 10:30 PST, Bill McCloskey (:billm)
igor: review+
Details | Diff | Review

Description Kyle Huey [:khuey] (khuey@mozilla.com) 2012-02-19 07:28:01 PST
2771        cx->runtime->gcIncrementalEnabled = false;

>	mozjs.dll!NewObject(JSContext * cx, js::Class * clasp, js::types::TypeObject * type, JSObject * parent, js::gc::AllocKind kind)  Line 2771	C++
 	mozjs.dll!js::NewObjectWithClassProto(JSContext * cx, js::Class * clasp, JSObject * proto, JSObject * parent, js::gc::AllocKind kind)  Line 2857 + 0xf bytes	C++
 	mozjs.dll!JS_NewPropertyIterator(JSContext * cx, JSObject * obj)  Line 4337 + 0x52 bytes	C++
 	mozjs.dll!js::ctypes::ExtractStructField(JSContext * cx, JS::Value val, JSObject * * typeObj)  Line 3994 + 0x9 bytes	C++
 	mozjs.dll!js::ctypes::StructType::DefineInternal(JSContext * cx, JSObject * typeObj, JSObject * fieldsObj)  Line 4159 + 0x1a bytes	C++
 	mozjs.dll!js::ctypes::StructType::Create(JSContext * cx, unsigned int argc, JS::Value * vp)  Line 4104 + 0x12 bytes	C++
 	mozjs.dll!js::InvokeKernel(JSContext * cx, js::CallArgs args, js::MaybeConstruct construct)  Line 499 + 0x10 bytes	C++
 	mozjs.dll!js::Interpret(JSContext * cx, js::StackFrame * entryFrame, js::InterpMode interpMode)  Line 2694 + 0x11 bytes	C++
 	mozjs.dll!js::RunScript(JSContext * cx, JSScript * script, js::StackFrame * fp)  Line 454 + 0x7 bytes	C++
 	mozjs.dll!js::InvokeKernel(JSContext * cx, js::CallArgs args, js::MaybeConstruct construct)  Line 518	C++
 	mozjs.dll!js::Invoke(JSContext * cx, const JS::Value & thisv, const JS::Value & fval, unsigned int argc, JS::Value * argv, JS::Value * rval)  Line 549 + 0x13 bytes	C++
 	mozjs.dll!js::InvokeGetterOrSetter(JSContext * cx, JSObject * obj, const JS::Value & fval, unsigned int argc, JS::Value * argv, JS::Value * rval)  Line 623 + 0x30 bytes	C++
 	mozjs.dll!js::Shape::get(JSContext * cx, JSObject * receiver, JSObject * obj, JSObject * pobj, JS::Value * vp)  Line 287 + 0x25 bytes	C++
 	mozjs.dll!js::GetPropertyHelper(JSContext * cx, JSObject * obj, int id, unsigned int getHow, JS::Value * vp)  Line 5297 + 0xed bytes	C++
 	mozjs.dll!js::GetPropertyOperation(JSContext * cx, unsigned char * pc, const JS::Value & lval, JS::Value * vp)  Line 283 + 0xd bytes	C++
 	mozjs.dll!js::Interpret(JSContext * cx, js::StackFrame * entryFrame, js::InterpMode interpMode)  Line 2567 + 0x17 bytes	C++
 	mozjs.dll!js::RunScript(JSContext * cx, JSScript * script, js::StackFrame * fp)  Line 454 + 0x7 bytes	C++
 	mozjs.dll!js::ExecuteKernel(JSContext * cx, JSScript * script, JSObject & scopeChain, const JS::Value & thisv, js::ExecuteType type, js::StackFrame * evalInFrame, JS::Value * result)  Line 658	C++
 	mozjs.dll!js::Execute(JSContext * cx, JSScript * script, JSObject & scopeChainArg, JS::Value * rval)  Line 698 + 0x27 bytes	C++
 	mozjs.dll!JS_ExecuteScriptVersion(JSContext * cx, JSObject * obj, JSScript * script, JS::Value * rval, JSVersion version)  Line 5308 + 0x20 bytes	C++
Comment 1 Bill McCloskey (:billm) 2012-02-21 10:28:54 PST
*** Bug 728702 has been marked as a duplicate of this bug. ***
Comment 2 Bill McCloskey (:billm) 2012-02-21 10:29:21 PST
*** Bug 728683 has been marked as a duplicate of this bug. ***
Comment 3 Bill McCloskey (:billm) 2012-02-21 10:30:38 PST
Created attachment 599250 [details] [diff] [review]
patch

This fixes the problem. I also pushed a patch to tryserver with the assert that we never disable incremental GC. It's here:
https://tbpl.mozilla.org/?tree=Try&rev=59c49d1a9af2
Comment 4 Bill McCloskey (:billm) 2012-02-21 17:06:24 PST
The try push uncovered some additional problems. I'll file separate bugs for those.
https://hg.mozilla.org/integration/mozilla-inbound/rev/b7f7b63038dd
Comment 5 Phil Ringnalda (:philor) 2012-02-21 20:38:52 PST
Backed out in https://hg.mozilla.org/integration/mozilla-inbound/rev/ad860eb661b7 for a couple of things, one I'm pretty sure about, one I'm only suspicious about.

The mochitest-browser-chrome leaks in https://tbpl.mozilla.org/php/getParsedLog.php?id=9513704&tree=Mozilla-Inbound and https://tbpl.mozilla.org/php/getParsedLog.php?id=9513352&tree=Mozilla-Inbound are not any known intermittent leak, but they are the very same leak your try push had on the same platforms, Win7 and OS X 10.5.

I'd also like to pin the intermittent mochitest-a11y failures in https://tbpl.mozilla.org/php/getParsedLog.php?id=9512956&tree=Mozilla-Inbound and https://tbpl.mozilla.org/php/getParsedLog.php?id=9513843&tree=Mozilla-Inbound and https://tbpl.mozilla.org/php/getParsedLog.php?id=9511828&tree=Mozilla-Inbound on this, but I'm less certain I can.
Comment 6 Phil Ringnalda (:philor) 2012-02-21 20:58:37 PST
Never mind the a11y, probably - the first two were a new failure introduced above your push, the third, which was on you... dunno. Could just be a new intermittent not related to you, could be you.
Comment 7 Bill McCloskey (:billm) 2012-03-12 18:40:54 PDT
https://hg.mozilla.org/integration/mozilla-inbound/rev/85ffbb752398

I was only able to land this after disabling incremental GC by default. The work to fix the leaks will carry on in bug 735099.
Comment 8 Bill McCloskey (:billm) 2012-03-12 22:45:51 PDT
Backed out:
https://hg.mozilla.org/integration/mozilla-inbound/rev/6799a5e6912f
Comment 9 Marco Bonardo [::mak] 2012-03-13 05:53:54 PDT
https://hg.mozilla.org/mozilla-central/rev/85ffbb752398
Comment 10 Marco Bonardo [::mak] 2012-03-13 05:54:29 PDT
sorry, didn't see the backout
Comment 11 Bill McCloskey (:billm) 2012-03-13 08:13:54 PDT
https://hg.mozilla.org/mozilla-central/rev/8d1c74566a0b
Comment 12 Bill McCloskey (:billm) 2012-03-13 17:15:32 PDT
*** Bug 728701 has been marked as a duplicate of this bug. ***
Comment 13 Ioana (away) 2012-06-11 08:04:27 PDT
Verified as fixed on Firefox Aurora(20120609042006), Nightly(20120611030526), and on the latest Firefox 14.0 beta (20120605113340 - I enabled IGC manually on this one before testing).

Since there are no steps in this bug, I used the steps in the 3 duplicate bugs to verify it.

Note You need to log in before you can comment on or make changes to this bug.