Closed Bug 640604 Opened 15 years ago Closed 14 years ago

Assertion failure: !cx->thread->data.conservativeGC.requestThreshold

Categories

(Core :: JavaScript Engine, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: bc, Unassigned)

References

()

Details

(Keywords: assertion)

Related socorro signature: mozalloc_abort(char const* const) | NS_DebugBreak_P | nsCycleCollectingAutoRefCnt::decr(nsISupports*) 0. This is not that easy to reproduce. Do not set up your environment with MOZ_NO_REMOTE, NO_EM_RESTART, XPCOM_DEBUG_BREAK, etc. You *may* need to enable popups. 1. http://www.fnuz.com/watch_free_online.php?q=x%2Bfiles%26cat=series 2. Let it run for a while (several minutes at least) 3. Exit Firefox 4. Click Ignore on the Assertion dialogs. 5. Assertion failure: !cx->thread->data.conservativeGC.requestThreshold, at c:/work/mozilla/builds/2.0.0/mozilla/js/src/xpconnect/src/nsXPConnect.cpp:402 In the nsXPConnect::Collect frame - cx 0x02fab330 {link={...} defaultVersion=JSVERSION_DEFAULT versionOverride=JSVERSION_DEFAULT ...} JSContext * + link {next=0x03010a30 prev=0x01d9d5a0 } JSCListStr defaultVersion JSVERSION_DEFAULT JSVersion versionOverride JSVERSION_DEFAULT JSVersion hasVersionOverride false bool throwing 0 int + exception {data={...} } js::Value runOptions 10761 unsigned int + localeCallbacks 0x02fab778 {localeToUpperCase=0x11130c70 localeToLowerCase=0x11130e20 localeCompare=0x11130ea0 ...} JSLocaleCallbacks * + resolvingTable 0x03c47cc0 {ops=0x00a596b4 data=0x00000000 hashShift=28 ...} JSDHashTable * generatingError 0 unsigned char stackLimit 720897 unsigned int scriptStackQuota 536733696 unsigned int + runtime 0x01c9c5c0 {atomsCompartment=0x01c9d3a8 atomsCompartmentIsLocked=false compartments={...} ...} JSRuntime * const + compartment 0x01d9e270 {rt=0x01c9c5c0 principals=0x01d4c1f4 chunk=0x00000000 ...} JSCompartment * + regs 0x00000000 {sp=??? pc=??? fp=??? } JSFrameRegs * + tempPool {first={...} current=0x02fab374 arenasize=4056 ...} JSArenaPool + regExpPool {first={...} current=0x02fab394 arenasize=4056 ...} JSArenaPool + globalObject 0x028c20d8 {lastProp=0x00c1528c map=0x00c1528c clasp=0x00c0ef88 ...} JSObject * + sharpObjectMap {depth=0 sharpgen=0 table=0x00000000 } JSSharpObjectMap + busyArrays {impl=??? } js::HashSet<JSObject *,js::DefaultHasher<JSObject *>,js::SystemAllocPolicy> + argumentFormatMap 0x02f96168 {format=0x125e1e6c "%ip" length=3 formatter=0x11147cf0 ...} JSArgumentFormatMap * + lastMessage 0x00000000 <Bad Ptr> char * logfp 0x00000000 void * + logPrevPc 0x00000000 <Bad Ptr> unsigned char * errorReporter 0x10cc2cd0 NS_ScriptErrorReporter(JSContext *, const char *, JSErrorReport *) void (JSContext *, const char *, JSErrorReport *)* operationCallback 0x10cc3c40 nsJSContext::DOMOperationCallback(JSContext *) int (JSContext *)* interpLevel 0 unsigned int data 0x01d91650 void * data2 0x02f96110 void * + currentSegment 0x00000000 {cx=??? previousInContext=??? previousInMemory=??? ...} js::StackSegment * + thread 0x01cfe7e0 {contextList={...} id=0x010a6c60 suspendCount=1 ...} JSThread * outstandingRequests 2 unsigned int + threadLinks {next=0x03010b48 prev=0x01d9d6b8 } JSCListStr + autoGCRooters 0x00000000 {down=??? tag=??? context=??? } js::AutoGCRooter * + debugHooks 0x01c9c77c {interruptHook=0x00000000 interruptHookData=0x00000000 newScriptHook=0x00000000 ...} const JSDebugHooks * + securityCallbacks 0x00000000 {checkObjectAccess=??? principalsTranscoder=??? findObjectPrincipals=??? ...} JSSecurityCallbacks * resolveFlags 0 unsigned int rngSeed 1286308152765 __int64 + iterValue {data={...} } js::Value traceJitEnabled true bool methodJitEnabled false bool profilingEnabled false bool + dstOffsetCache {offsetMilliseconds=0 rangeStartSeconds=-9223372036854775808 rangeEndSeconds=-9223372036854775808 ...} DSTOffsetCache + enumerators 0x00000000 {lastProp=??? map=??? clasp=??? ...} JSObject * + genStack {mBegin=0x02fab4c0 mLength=0 mCapacity=2 ...} js::Vector<JSGenerator *,2,js::SystemAllocPolicy> + gcBackgroundFree 0x00000000 {thread=??? wakeup=??? sweepingDone=??? ...} js::GCHelperThread * - cx->thread 0x01cfe7e0 {contextList={...} id=0x010a6c60 suspendCount=1 ...} JSThread * + contextList {next=0x01d9d6b8 prev=0x161590c8 } JSCListStr id 0x010a6c60 void * suspendCount 1 unsigned int checkRequestDepth 0 unsigned int + data {requestDepth=1 onTraceCompartment=0x00000000 recordingCompartment=0x00000000 ...} JSThreadData - cx->thread->data {requestDepth=1 onTraceCompartment=0x00000000 recordingCompartment=0x00000000 ...} JSThreadData requestDepth 1 unsigned int + onTraceCompartment 0x00000000 {rt=??? principals=??? chunk=??? ...} JSCompartment * + recordingCompartment 0x00000000 {rt=??? principals=??? chunk=??? ...} JSCompartment * + profilingCompartment 0x00000000 {rt=??? principals=??? chunk=??? ...} JSCompartment * interruptFlags 0 volatile long + stackSpace {base=0x02370000 commitEnd=0x02410000 end=0x02770000 ...} js::StackSpace waiveGCQuota false bool + gsnCache {code=0x00000000 <Bad Ptr> table={...} } JSGSNCache + propertyCache {table=0x01cfe84c empty=0 } js::PropertyCache maxCodeCacheBytes 16777216 unsigned long dtoaState 0x01d0e8d8 DtoaState * + nativeStackBase 0x00130000 unsigned int * + pendingProxyOperation 0x00000000 {next=??? object=??? } JSPendingProxyOperation * + conservativeGC {nativeStackTop=0x0012d1d0 registerSnapshot={...} requestThreshold=1 } js::ConservativeGCThreadData - cx->thread->data.conservativeGC {nativeStackTop=0x0012d1d0 registerSnapshot={...} requestThreshold=1 } js::ConservativeGCThreadData + nativeStackTop 0x0012d1d0 unsigned int * + registerSnapshot {jmpbuf=0x01d0e864 words=0x01d0e864 } js::ConservativeGCThreadData::<unnamed-tag> requestThreshold 1 unsigned int cx->thread->data.conservativeGC.requestThreshold 1 unsigned int cx->thread->data.requestDepth 1 unsigned int - this 0x01c9a8d0 {mRefCnt={...} _mOwningThread={...} mRuntime=0x01c9a998 ...} nsXPConnect * const + nsIXPConnect {...} nsIXPConnect + nsIThreadObserver {...} nsIThreadObserver + nsSupportsWeakReference {mProxy=0x00000000 } nsSupportsWeakReference + nsCycleCollectionJSRuntime {...} nsCycleCollectionJSRuntime + nsCycleCollectionParticipant {...} nsCycleCollectionParticipant + nsIJSRuntimeService {...} nsIJSRuntimeService + nsIThreadJSContextStack {...} nsIThreadJSContextStack + mRefCnt {mValue=11 } nsAutoRefCnt + _mOwningThread {mThread=0x010a6c60 } nsAutoOwningThread + gSelf 0x01c9a8c0 {mRefCnt={...} _mOwningThread={...} mRuntime=0x01c9a998 ...} nsXPConnect * gOnceAliveNowDead 0 int + mRuntime 0x01c9a998 {mStrIDs=0x01c9a998 mStrJSVals=0x01c9a9e0 mXPConnect=0x01c9a8c0 ...} XPCJSRuntime * + mInterfaceInfoManager {mRawPtr=0x018d18d0 } nsCOMPtr<nsIInterfaceInfoSuperManager> + mDefaultSecurityManager 0x01cfdde8 {mRefCnt={...} _mOwningThread={...} mOriginToPolicyMap=0x03c4de18 ...} nsIXPCSecurityManager * mDefaultSecurityManagerFlags 63 unsigned short mShuttingDown 0 int + mCycleCollectionContext {mRawPtr=0x00000000 } nsAutoPtr<XPCCallContext> + mScopes {...} nsBaseHashtable<nsPtrHashKey<void const >,nsISupports *,nsISupports *> + mBackstagePass {mRawPtr=0x01d9e1ac } nsCOMPtr<nsIXPCScriptable> gReportAllJSExceptions 0 unsigned int gDebugMode 0 int gDesiredDebugMode 0 int + gScriptSecurityManager 0x01cfdde8 {mRefCnt={...} _mOwningThread={...} mOriginToPolicyMap=0x03c4de18 ...} nsIScriptSecurityManager * mozjs.dll!JS_Assert(const char * s=0x125aca1c, const char * file=0x125ac9d0, int ln=402) Line 73 C++ > xul.dll!nsXPConnect::Collect() Line 402 + 0x29 bytes C++ xul.dll!nsXPConnect::GarbageCollect() Line 414 C++ xul.dll!nsJSContext::GarbageCollectNow() Line 3273 C++ xul.dll!GCTimerFired(nsITimer * aTimer=0x0cd7cfe8, void * aClosure=0x00000000) Line 3322 C++ xul.dll!nsTimerImpl::Fire() Line 425 + 0xe bytes C++ xul.dll!nsTimerEvent::Run() Line 519 C++ xul.dll!nsThread::ProcessNextEvent(int mayWait=1, int * result=0x0012d308) Line 633 + 0x19 bytes C++ xul.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x01884738, int mayWait=1) Line 250 + 0x16 bytes C++ xul.dll!nsThread::Shutdown() Line 492 + 0xb bytes C++ xul.dll!nsSound::PurgeLastSound() Line 140 C++ xul.dll!nsSound::~nsSound() Line 135 C++ xul.dll!nsSound::`scalar deleting destructor'() + 0xf bytes C++ xul.dll!nsSound::Release() Line 124 + 0x133 bytes C++ xul.dll!DoDeferredRelease<nsISupports *>(nsTArray<nsISupports *,nsTArrayDefaultAllocator> & array={...}) Line 622 + 0xe bytes C++ xul.dll!XPCJSRuntime::GCCallback(JSContext * cx=0x02fab330, JSGCStatus status=JSGC_END) Line 931 + 0xf bytes C++ xul.dll!DOMGCCallback(JSContext * cx=0x02fab330, JSGCStatus status=JSGC_END) Line 3500 + 0x17 bytes C++ mozjs.dll!js_GC(JSContext * cx=0x02fab330, JSCompartment * comp=0x00000000, JSGCInvocationKind gckind=GC_NORMAL) Line 2829 + 0x9 bytes C++ mozjs.dll!JS_GC(JSContext * cx=0x02fab330) Line 2662 + 0xd bytes C++ xul.dll!nsXPConnect::Collect() Line 405 + 0xa bytes C++ xul.dll!nsXPConnect::GarbageCollect() Line 414 C++ xul.dll!nsJSContext::GarbageCollectNow() Line 3273 C++ xul.dll!GCTimerFired(nsITimer * aTimer=0x168d0fb0, void * aClosure=0x00000000) Line 3322 C++ xul.dll!nsTimerImpl::Fire() Line 425 + 0xe bytes C++ xul.dll!nsTimerEvent::Run() Line 519 C++ xul.dll!nsThread::ProcessNextEvent(int mayWait=0, int * result=0x0012d760) Line 633 + 0x19 bytes C++ xul.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x01884738, int mayWait=0) Line 250 + 0x16 bytes C++ xul.dll!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate * aDelegate=0x010af390) Line 110 + 0xe bytes C++ See also Bug 629643
fyi, I still have this in vs' debugger in case you need it.
no longer reproducible on Beta/11, Aurora/12, Nightly/13
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.