Last Comment Bug 705945 - "ASSERTION: MemoryReporterMallocSizeOf: computedSize is too small" (JSObject::sizeOfSlotsArray)
: "ASSERTION: MemoryReporterMallocSizeOf: computedSize is too small" (JSObject:...
Status: RESOLVED FIXED
: assertion
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Trunk
: x86_64 Mac OS X
: -- normal (vote)
: ---
Assigned To: general
:
Mentors:
Depends on: 715453
Blocks: 698968
  Show dependency treegraph
 
Reported: 2011-11-28 17:09 PST by Jesse Ruderman
Modified: 2012-01-06 21:03 PST (History)
6 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
stack and gdb info (15.16 KB, text/plain)
2011-11-28 17:09 PST, Jesse Ruderman
no flags Details

Description Jesse Ruderman 2011-11-28 17:09:29 PST
Created attachment 577435 [details]
stack and gdb info

###!!! ASSERTION: MemoryReporterMallocSizeOf: computedSize is too small: 'usable < computedSize * 2 || usable <= 16 || computedSize == 0', file /Users/jruderman/trees/mozilla-central/xpcom/base/nsMemoryReporterManager.cpp, line 862

I hit this with a testcase that just opens about:memory, but only in certain profiles.

I'm using a non-jemalloc build; I haven't tried one with jemalloc.

The assertion was added in bug 698968.
Comment 1 Nicholas Nethercote [:njn] 2011-11-28 17:15:03 PST
The key things:

 (gdb) p usable
 $1 = 256
 (gdb) p computedSize
 $2 = 120
 (gdb) p numDynamicSlots
 $3 = &JSObject::numDynamicSlots(unsigned long) const
 (gdb) p numSlots()
 $4 = 19
 (gdb) p numDynamicSlots(numSlots())
 $5 = 15

15 slots is 120 bytes, so |computedSize| matches |numDynamicSlots(numSlots())|.  But if we asked the allocator for 120 bytes we'd get 128, not 256.  So it's likely that the object had more slots at one point and then got shrunk and something went wrong -- either the dynamic slots weren't realloc'd to be smaller, or the recording of the number of slots is wrong.  (We saw something like the latter case previously.)
Comment 2 :Irving Reid (No longer working on Firefox) 2011-11-29 08:22:42 PST
Comment on attachment 577435 [details]
stack and gdb info

I'm getting lots of these in Thunderbird debug builds also. They all appear to be under the same stack path as in Jesse Ruderman's backtrace, through JSObject::sizeOfSlotsArray
Comment 3 Nicholas Nethercote [:njn] 2011-12-13 20:44:11 PST
Jesse, are you still getting these?  I'm hoping Objshrink's landing has fixed them.
Comment 4 :Irving Reid (No longer working on Firefox) 2011-12-15 11:06:23 PST
I am no longer seeing these on Thunderbird daily.
Comment 5 Jesse Ruderman 2011-12-17 23:32:03 PST
Yes, I still get these, at least on Linux.
Comment 6 :Irving Reid (No longer working on Firefox) 2011-12-21 06:42:12 PST
(In reply to Irving Reid (:irving) from comment #4)
> I am no longer seeing these on Thunderbird daily.

Spoke too soon. Started seeing them again, though not as often as before. This is in a slightly different place than Jesse's attachment.

###!!! ASSERTION: NS_MEMORY_REPORTER_CHECK_SIZES: computedSize is too small: 'usable < computedSize * 2 || usable <= 16 || computedSize == 0', file /Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCJSRuntime.cpp, line 1240

Breakpoint 5, NS_DebugBreak_P (aSeverity=1, aStr=0x1037a4118 "NS_MEMORY_REPORTER_CHECK_SIZES: computedSize is too small", aExpr=0x1037a40d8 "usable < computedSize * 2 || usable <= 16 || computedSize == 0", aFile=0x1038912b8 "/Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCJSRuntime.cpp", aLine=1240) at /Users/ireid/tbird/comm-central/mozilla/xpcom/base/nsDebugImpl.cpp:351
351	   PR_ATOMIC_INCREMENT(&gAssertionCount);
(gdb) where
#0  NS_DebugBreak_P (aSeverity=1, aStr=0x1037a4118 "NS_MEMORY_REPORTER_CHECK_SIZES: computedSize is too small", aExpr=0x1037a40d8 "usable < computedSize * 2 || usable <= 16 || computedSize == 0", aFile=0x1038912b8 "/Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCJSRuntime.cpp", aLine=1240) at /Users/ireid/tbird/comm-central/mozilla/xpcom/base/nsDebugImpl.cpp:351
#1  0x00000001021fe1e5 in (anonymous namespace)::JsMallocSizeOf (ptr=0x124172200, computedSize=64) at /Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCJSRuntime.cpp:1240
#2  0x00000001034e9783 in JSObject::dynamicSlotSize (this=0x127d41180, mallocSizeOf=0x1021fe148 <(anonymous namespace)::JsMallocSizeOf(void const*, unsigned long)>) at jsobjinlines.h:1271
#3  0x0000000103448a63 in js::GetObjectDynamicSlotSize (obj=0x127d41180, mallocSizeOf=0x1021fe148 <(anonymous namespace)::JsMallocSizeOf(void const*, unsigned long)>) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsfriendapi.cpp:190
#4  0x00000001021fdde5 in (anonymous namespace)::CellCallback (cx=0x11ac6a9d0, vdata=0x7fff5fbf2870, thing=0x127d41180, traceKind=JSTRACE_OBJECT, thingSize=64) at /Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCJSRuntime.cpp:1309
#5  0x00000001034613ae in js::IterateCellCallbackOp::operator() (this=0x7fff5fbf25c8, cell=0x127d41180) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsgc.cpp:3100
#6  0x0000000103467094 in js::gc::ForEachArenaAndCell<js::IterateArenaCallbackOp, js::IterateCellCallbackOp> (compartment=0x11a1d1000, thingKind=js::gc::FINALIZE_OBJECT4_BACKGROUND, arenaOp={cx = 0x11ac6a9d0, data = 0x7fff5fbf2870, callback = 0x1021fac5d <(anonymous namespace)::ArenaCallback(JSContext*, void*, js::gc::Arena*, JSGCTraceKind, unsigned long)>, traceKind = JSTRACE_OBJECT, thingSize = 64}, cellOp={cx = 0x11ac6a9d0, data = 0x7fff5fbf2870, callback = 0x1021fdcf3 <(anonymous namespace)::CellCallback(JSContext*, void*, void*, JSGCTraceKind, unsigned long)>, traceKind = JSTRACE_OBJECT, thingSize = 64}) at jsgcinlines.h:245
#7  0x000000010345e0d3 in js::IterateCompartmentsArenasCells (cx=0x11ac6a9d0, data=0x7fff5fbf2870, compartmentCallback=0x1021fe032 <(anonymous namespace)::CompartmentCallback(JSContext*, void*, JSCompartment*)>, arenaCallback=0x1021fac5d <(anonymous namespace)::ArenaCallback(JSContext*, void*, js::gc::Arena*, JSGCTraceKind, unsigned long)>, cellCallback=0x1021fdcf3 <(anonymous namespace)::CellCallback(JSContext*, void*, void*, JSGCTraceKind, unsigned long)>) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsgc.cpp:3130
#8  0x00000001021fe566 in mozilla::xpconnect::memory::CollectCompartmentStatsForRuntime (rt=0x11a134000, data=0x7fff5fbf2870) at /Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCJSRuntime.cpp:1585
#9  0x0000000102204a38 in XPConnectJSCompartmentsMultiReporter::CollectReports (this=0x1188c97c0, callback=0x11ad18c80, closure=0x11ad18c60) at /Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCJSRuntime.cpp:2029
#10 0x0000000102e994fb in nsMemoryReporterManager::GetExplicit (this=0x118629bc0, aExplicit=0x7fff5fbf2e80) at /Users/ireid/tbird/comm-central/mozilla/xpcom/base/nsMemoryReporterManager.cpp:751
#11 0x0000000102e9d471 in NS_InvokeByIndex_P (that=0x118629bc0, methodIndex=11, paramCount=1, params=0x7fff5fbf2e80) at /Users/ireid/tbird/comm-central/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_unix.cpp:195
#12 0x0000000102227a16 in CallMethodHelper::Invoke (this=0x7fff5fbf2e40) at /Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCWrappedNative.cpp:2919
#13 0x000000010222a2df in CallMethodHelper::Call (this=0x7fff5fbf2e40) at /Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCWrappedNative.cpp:2250
#14 0x0000000102223d90 in XPCWrappedNative::CallMethod (ccx=@0x7fff5fbf3000, mode=XPCWrappedNative::CALL_GETTER) at /Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCWrappedNative.cpp:2216
#15 0x0000000102233f8d in XPCWrappedNative::GetAttribute (ccx=@0x7fff5fbf3000) at xpcprivate.h:2677
#16 0x000000010222f4f7 in XPC_WN_GetterSetter (cx=0x1003ce7e0, argc=0, vp=0x11a497148) at /Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1602
#17 0x00000001034ba5e6 in js::CallJSNative (cx=0x1003ce7e0, native=0x10222f207 <XPC_WN_GetterSetter(JSContext*, unsigned int, JS::Value*)>, args=@0x7fff5fbf3250) at jscntxtinlines.h:311
#18 0x00000001034b7bb3 in js::InvokeKernel (cx=0x1003ce7e0, args={<js::CallReceiver> = {usedRval_ = false, argv_ = 0x11a497158}, argc_ = 0}, construct=js::NO_CONSTRUCT) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsinterp.cpp:625
#19 0x000000010340e9bb in js::Invoke (cx=0x1003ce7e0, args=@0x7fff5fbf3300, construct=js::NO_CONSTRUCT) at jsinterp.h:165
#20 0x00000001034b80b2 in js::Invoke (cx=0x1003ce7e0, thisv=@0x7fff5fbf33a0, fval=@0x7fff5fbf3400, argc=0, argv=0x0, rval=0x7fff5fbf4200) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsinterp.cpp:675
#21 0x00000001034b81a4 in js::InvokeGetterOrSetter (cx=0x1003ce7e0, obj=0x1229634f0, fval=@0x7fff5fbf3400, argc=0, argv=0x0, rval=0x7fff5fbf4200) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsinterp.cpp:710
#22 0x00000001034ec142 in js::Shape::get (this=0x11b33de20, cx=0x1003ce7e0, receiver=0x1229634f0, obj=0x1229634f0, pobj=0x1229634f0, vp=0x7fff5fbf4200) at jsscopeinlines.h:243
#23 0x00000001034d2a4e in js_NativeGetInline (cx=0x1003ce7e0, receiver=0x1229634f0, obj=0x1229634f0, pobj=0x1229634f0, shape=0x11b33de20, getHow=1, vp=0x7fff5fbf4200) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsobj.cpp:5830
#24 0x00000001034d779c in js_GetPropertyHelperInline (cx=0x1003ce7e0, obj=0x1229634f0, receiver=0x1229634f0, id={asBits = 4748733184}, getHow=1, vp=0x7fff5fbf4200) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsobj.cpp:5990
#25 0x00000001034d7a60 in js_GetPropertyHelper (cx=0x1003ce7e0, obj=0x1229634f0, id={asBits = 4748733184}, getHow=1, vp=0x7fff5fbf4200) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsobj.cpp:5999
#26 0x00000001034a8f82 in js::Interpret (cx=0x1003ce7e0, entryFrame=0x11a497048, interpMode=js::JSINTERP_NORMAL) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsinterp.cpp:3108
#27 0x00000001034b755d in js::RunScript (cx=0x1003ce7e0, script=0x11b0c4180, fp=0x11a497048) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsinterp.cpp:580
#28 0x00000001034b7c92 in js::InvokeKernel (cx=0x1003ce7e0, args={<js::CallReceiver> = {usedRval_ = false, argv_ = 0x11a497030}, argc_ = 3}, construct=js::NO_CONSTRUCT) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsinterp.cpp:643
#29 0x000000010340e9bb in js::Invoke (cx=0x1003ce7e0, args=@0x7fff5fbf48d0, construct=js::NO_CONSTRUCT) at jsinterp.h:165
#30 0x00000001034b80b2 in js::Invoke (cx=0x1003ce7e0, thisv=@0x7fff5fbf49a0, fval=@0x7fff5fbf4968, argc=3, argv=0x7fff5fbf5080, rval=0x7fff5fbf4da0) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsinterp.cpp:675
#31 0x00000001033d80fe in JS_CallFunctionValue (cx=0x1003ce7e0, obj=0x11b0536c0, fval={data = {asBits = 18445477441063091776, debugView = {payload47 = 4748738112, tag = JSVAL_TAG_OBJECT}, s = {payload = {i32 = 453770816, u32 = 453770816, why = 453770816}}, asDouble = -nan(0xb80011b0bfe40), asPtr = 0xfffb80011b0bfe40, asWord = 18445477441063091776}}, argc=3, argv=0x7fff5fbf5080, rval=0x7fff5fbf4da0) at /Users/ireid/tbird/comm-central/mozilla/js/src/jsapi.cpp:5213
#32 0x0000000102217d34 in nsXPCWrappedJSClass::CallMethod (this=0x11ac997e0, wrapper=0x11ad03780, methodIndex=3, info=0x118654f08, nativeParams=0x7fff5fbf51d0) at /Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCWrappedJSClass.cpp:1530
#33 0x000000010220e9b6 in nsXPCWrappedJS::CallMethod (this=0x11ad03780, methodIndex=3, info=0x118654f08, params=0x7fff5fbf51d0) at /Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCWrappedJS.cpp:611
#34 0x0000000102e9eaac in PrepareAndDispatch (self=0x11afd8060, methodIndex=3, args=0x7fff5fbf5350, gpregs=0x7fff5fbf52d0, fpregs=0x7fff5fbf5300) at /Users/ireid/tbird/comm-central/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_64_darwin.cpp:153
#35 0x0000000102e9d50b in SharedStub () at xpt_struct.h:334
#36 0x0000000102e2d272 in nsObserverList::NotifyObservers (this=0x11c70a5e8, aSubject=0x0, aTopic=0x10380316c "cycle-collector-begin", someData=0x0) at /Users/ireid/tbird/comm-central/mozilla/xpcom/ds/nsObserverList.cpp:130
#37 0x0000000102e2e253 in nsObserverService::NotifyObservers (this=0x11861fbf0, aSubject=0x0, aTopic=0x10380316c "cycle-collector-begin", someData=0x0) at /Users/ireid/tbird/comm-central/mozilla/xpcom/ds/nsObserverService.cpp:182
#38 0x0000000102e90e62 in nsCycleCollector::PrepareForCollection (this=0x1003e9000, aWhiteNodes=0x7fff5fbf5470) at /Users/ireid/tbird/comm-central/mozilla/xpcom/base/nsCycleCollector.cpp:2734
#39 0x0000000102e95e06 in nsCycleCollectorRunner::Collect (this=0x100347590, aListener=0x0) at /Users/ireid/tbird/comm-central/mozilla/xpcom/base/nsCycleCollector.cpp:3619
#40 0x0000000102e92b1d in nsCycleCollector_collect (aListener=0x0) at /Users/ireid/tbird/comm-central/mozilla/xpcom/base/nsCycleCollector.cpp:3699
#41 0x0000000101c9d67d in nsJSContext::CycleCollectNow (aListener=0x0) at /Users/ireid/tbird/comm-central/mozilla/dom/base/nsJSEnvironment.cpp:3251
#42 0x0000000101c9d860 in CCTimerFired (aTimer=0x11adac740, aClosure=0x0) at /Users/ireid/tbird/comm-central/mozilla/dom/base/nsJSEnvironment.cpp:3298
#43 0x0000000102e7faba in nsTimerImpl::Fire (this=0x11adac740) at /Users/ireid/tbird/comm-central/mozilla/xpcom/threads/nsTimerImpl.cpp:428
#44 0x0000000102e7fda2 in nsTimerEvent::Run (this=0x11ac24040) at /Users/ireid/tbird/comm-central/mozilla/xpcom/threads/nsTimerImpl.cpp:524
#45 0x0000000102e78400 in nsThread::ProcessNextEvent (this=0x100338b80, mayWait=false, result=0x7fff5fbfd54f) at /Users/ireid/tbird/comm-central/mozilla/xpcom/threads/nsThread.cpp:660
#46 0x0000000102e075aa in NS_ProcessPendingEvents_P (thread=0x100338b80, timeout=20) at /Users/ireid/tbird/objdir-comm-central-default/mozilla/xpcom/build/nsThreadUtils.cpp:195
#47 0x00000001026e2695 in nsBaseAppShell::NativeEventCallback (this=0x100308740) at /Users/ireid/tbird/comm-central/mozilla/widget/src/xpwidgets/nsBaseAppShell.cpp:130
#48 0x000000010268de00 in nsAppShell::ProcessGeckoEvents (aInfo=0x100308740) at /Users/ireid/tbird/comm-central/mozilla/widget/src/cocoa/nsAppShell.mm:440
#49 0x00007fff827d73d1 in __CFRunLoopDoSources0 ()
#50 0x00007fff827d55c9 in __CFRunLoopRun ()
#51 0x00007fff827d4d8f in CFRunLoopRunSpecific ()
#52 0x00007fff855a074e in RunCurrentEventLoopInMode ()
#53 0x00007fff855a0553 in ReceiveNextEventCommon ()
#54 0x00007fff855a040c in BlockUntilNextEventMatchingListInMode ()
#55 0x00007fff83d6ceb2 in _DPSNextEvent ()
#56 0x00007fff83d6c801 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#57 0x000000010268c0ca in -[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (self=0x11883fce0, _cmd=0x7fff84464138, mask=18446744073709551615, expiration=0x11b12ef50, mode=0x7fff70557390, flag=1 '\001') at /Users/ireid/tbird/comm-central/mozilla/widget/src/cocoa/nsAppShell.mm:207
#58 0x00007fff83d3268f in -[NSApplication run] ()
#59 0x000000010268d714 in nsAppShell::Run (this=0x100308740) at /Users/ireid/tbird/comm-central/mozilla/widget/src/cocoa/nsAppShell.mm:794
#60 0x00000001023e3237 in nsAppStartup::Run (this=0x118857a10) at /Users/ireid/tbird/comm-central/mozilla/toolkit/components/startup/nsAppStartup.cpp:220
#61 0x000000010122e566 in XRE_main (argc=1, argv=0x7fff5fbff798, aAppData=0x100305a90) at /Users/ireid/tbird/comm-central/mozilla/toolkit/xre/nsAppRunner.cpp:3524
#62 0x0000000100001c57 in do_main (exePath=0x7fff5fbff360 "/Users/ireid/tbird/objdir-comm-central-default/mozilla/dist/DailyDebug.app/Contents/MacOS/libxpcom.dylib", argc=1, argv=0x7fff5fbff798) at /Users/ireid/tbird/comm-central/mail/app/nsMailApp.cpp:143
#63 0x0000000100001e94 in main (argc=1, argv=0x7fff5fbff798) at /Users/ireid/tbird/comm-central/mail/app/nsMailApp.cpp:226
(gdb) 
(gdb) p mallocSizeOf
$3 = (JSMallocSizeOfFun) 0x1021fe148 <(anonymous namespace)::JsMallocSizeOf(void const*, unsigned long)>
(gdb) f 1
#1  0x00000001021fe1e5 in (anonymous namespace)::JsMallocSizeOf (ptr=0x124172200, computedSize=64) at /Users/ireid/tbird/comm-central/mozilla/js/xpconnect/src/XPCJSRuntime.cpp:1240
1240	NS_MEMORY_REPORTER_MALLOC_SIZEOF_FUN(JsMallocSizeOf, "js")
(gdb) l
1235	    XPCPerThreadData::ShutDown();
1236	}
1237	
1238	namespace {
1239	
1240	NS_MEMORY_REPORTER_MALLOC_SIZEOF_FUN(JsMallocSizeOf, "js")
1241	
1242	void
1243	CompartmentCallback(JSContext *cx, void *vdata, JSCompartment *compartment)
1244	{
(gdb) p *ptr
Attempt to dereference a generic pointer.
(gdb) f 2
#2  0x00000001034e9783 in JSObject::dynamicSlotSize (this=0x127d41180, mallocSizeOf=0x1021fe148 <(anonymous namespace)::JsMallocSizeOf(void const*, unsigned long)>) at jsobjinlines.h:1271
1271	        size += mallocSizeOf ? mallocSizeOf(slots, bytes) : bytes;
(gdb) p *slots
$4 = {
  value = {
    data = {
      asBits = 18445477441277495360, 
      debugView = {
        payload47 = 4963141696, 
        tag = JSVAL_TAG_OBJECT
      }, 
      s = {
        payload = {
          i32 = 668174400, 
          u32 = 668174400, 
          why = 668174400
        }
      }, 
      asDouble = -nan(0xb800127d38840), 
      asPtr = 0xfffb800127d38840, 
      asWord = 18445477441277495360
    }
  }
}
Comment 7 Phil Ringnalda (:philor, back in August) 2012-01-05 00:45:25 PST
http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-inbound-linux64-debug/1325741004/mozilla-inbound_fedora64-debug_test-mochitest-other-build602.txt.gz (not the tbpl parsed version, because tbpl chokes trying to parse it)

grep "ASSERTION: NS_MEMORY_REPORTER_CHECK_SIZES" ./mozilla-inbound_fedora64-debug_test-mochitest-other-build602.txt | wc -l
   23323
Comment 8 Nicholas Nethercote [:njn] 2012-01-05 01:55:42 PST
The one in comment 7 is different, it's from the nsAtomTable reporter:

###!!! ASSERTION: NS_MEMORY_REPORTER_CHECK_SIZES: computedSize is too small: 'usable < computedSize * 2 || usable <= 16 || computedSize == 0', file /builds/slave/m-in-lnx64-dbg/build/xpcom/base/nsMemoryReporterManager.cpp, line 522
AtomImpl::SizeOfIncludingThis [xpcom/ds/nsAtomTable.cpp:459]
SizeOfEntryExcludingThisEnumerator [obj-firefox/xpcom/build/pldhash.cpp:810]
PL_DHashTableEnumerate [obj-firefox/xpcom/build/pldhash.cpp:755]
PL_DHashTableSizeOfExcludingThis [obj-firefox/xpcom/build/pldhash.cpp:828]
MemoryReporter_AtomTable::GetAmount [xpcom/base/nsMemoryReporterManager.cpp:533]
Comment 9 Nicholas Nethercote [:njn] 2012-01-06 21:03:37 PST
This assertion was just removed in bug 715453.

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