Closed Bug 386664 Opened 13 years ago Closed 13 years ago

"suspectCurrent should not fail" is failing a lot

Categories

(Core :: XPCOM, defect)

x86
macOS
defect
Not set

Tracking

()

RESOLVED FIXED

People

(Reporter: roc, Assigned: dbaron)

References

Details

Attachments

(1 file)

This assertion fires constantly in my build. Here's a stack trace:

#0  NS_DebugBreak_P (aSeverity=1, aStr=0x13a1128 "suspectCurrent should not fail", aExpr=0x139a808 "res", aFile=0x13a0c90 "/Users/roc/mozilla-checkin/mozilla/xpcom/base/nsCycleCollector.cpp", aLine=2393) at /Users/roc/mozilla-checkin/mozilla/xpcom/base/nsDebugImpl.cpp:259
#1  0x0136c3cc in nsCycleCollector_suspectCurrent (n=0x4319cdc0) at /Users/roc/mozilla-checkin/mozilla/xpcom/base/nsCycleCollector.cpp:2393
#2  0x12a5083d in WrappedNativeSuspecter (table=0x3bf1d440, hdr=0x33a14200, number=0, arg=0x0) at /Users/roc/mozilla-checkin/mozilla/js/src/xpconnect/src/xpcwrappednativescope.cpp:304
#3  0x01035471 in JS_DHashTableEnumerate (table=0x3bf1d440, etor=0x12a507a8 <WrappedNativeSuspecter(JSDHashTable*, JSDHashEntryHdr*, unsigned int, void*)>, arg=0x0) at /Users/roc/mozilla-checkin/mozilla/js/src/jsdhash.c:713
#4  0x12a68df1 in Native2WrappedNativeMap::Enumerate (this=0x3afbf2e0, f=0x12a507a8 <WrappedNativeSuspecter(JSDHashTable*, JSDHashEntryHdr*, unsigned int, void*)>, arg=0x0) at /Users/roc/mozilla-checkin/mozilla/js/src/xpconnect/src/xpcmaps.h:212
#5  0x12a5089b in XPCWrappedNativeScope::SuspectAllWrappers (rt=0x2925c40) at /Users/roc/mozilla-checkin/mozilla/js/src/xpconnect/src/xpcwrappednativescope.cpp:319
#6  0x12a0a101 in nsXPConnect::BeginCycleCollection (this=0x2925c00) at /Users/roc/mozilla-checkin/mozilla/js/src/xpconnect/src/nsXPConnect.cpp:566
#7  0x0136c7db in nsCycleCollector::Collect (this=0x6e3000, aTryCollections=1) at /Users/roc/mozilla-checkin/mozilla/xpcom/base/nsCycleCollector.cpp:1990
#8  0x0136c938 in nsCycleCollector_collect () at /Users/roc/mozilla-checkin/mozilla/xpcom/base/nsCycleCollector.cpp:2411
#9  0x193ddce1 in nsJSContext::DOMBranchCallback (cx=0x43b46e00, script=0x41d99610) at /Users/roc/mozilla-checkin/mozilla/dom/src/base/nsJSEnvironment.cpp:820
#10 0x0135ff07 in nsTimerImpl::Fire (this=0x41d99610) at /Users/roc/mozilla-checkin/mozilla/xpcom/threads/nsTimerImpl.cpp:386
I hit this the other day.  The problem was that we hit a |Fault|, which set the mDoNothing flag.

I'll fix the assertion so that it doesn't fire all the time once we Fault.  But we really need to figure out why we're faulting, which disables cycle collection...
Attached patch patchSplinter Review
Assignee: nobody → dbaron
Status: NEW → ASSIGNED
Attachment #270653 - Flags: superreview?(peterv)
Attachment #270653 - Flags: review?(peterv)
Attachment #270653 - Flags: superreview?(peterv)
Attachment #270653 - Flags: superreview+
Attachment #270653 - Flags: review?(peterv)
Attachment #270653 - Flags: review+
This is what I got on the console just before the faults started in my current session:

###!!! ASSERTION: JS object but unknown to the JS GC?: 'refcount > 0', file /Users/roc/mozilla-checkin/mozilla/js/src/xpconnect/src/nsXPConnect.cpp, line 670
###!!! ASSERTION: Fault in cycle collector: zero refcount (ptr: 2024100)
: 'Not Reached', file /Users/roc/mozilla-checkin/mozilla/xpcom/base/nsCycleCollector.cpp, line 920
Yep, that was the same pair of assertions I got.
I checked in the fix to the assertion a few days ago; I just spun off the underlying issue as bug 386912.
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Flags: in-testsuite-
You need to log in before you can comment on or make changes to this bug.