"ASSERTION: Oops! You're asking for a weak reference to an object that doesn't support that." during shutdown, nsCategoryCache<nsIContentSniffer>::~nsCategoryCache() ?

RESOLVED DUPLICATE of bug 594222

Status

()

Core
XPCOM
RESOLVED DUPLICATE of bug 594222
9 years ago
8 years ago

People

(Reporter: Jesse Ruderman, Unassigned)

Tracking

({assertion})

Trunk
x86
Mac OS X
assertion
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

9 years ago
Can't repro, but got a stack trace thanks to XPCOM_DEBUG_BREAK=stack and fix-macosx-stack.pl.  I think I've hit this bug multiple times.

###!!! ASSERTION: Oops!  You're asking for a weak reference to an object that doesn't support that.: 'factoryPtr', file nsWeakReference.cpp, line 109

NS_GetWeakReference(nsISupports*, unsigned int*) 
do_GetWeakReference(nsISupports*, unsigned int*)
nsObserverList::RemoveObserver(nsIObserver*)
nsObserverService::RemoveObserver(nsIObserver*, char const*)
nsCategoryObserver::RemoveObservers()
nsCategoryObserver::ListenerDied()
nsCategoryCache<nsIContentSniffer>::~nsCategoryCache()
imgRequest::~imgRequest()
imgRequest::Release()
nsRefPtr<imgRequest>::~nsRefPtr()
imgRequestProxy::~imgRequestProxy()
imgRequestProxy::Release()
nsCOMPtr<imgIRequest>::~nsCOMPtr()
nsCSSValue::Image::~Image()
nsCSSValue::Image::Release()
nsCSSValue::DoReset()
nsCSSValue::Reset()
nsCSSValue::~nsCSSValue()
nsCSSValueList::~nsCSSValueList()
nsCSSCompressedDataBlock::Destroy()
nsCSSDeclaration::~nsCSSDeclaration()
nsCSSDeclaration::Release()
CSSStyleRuleImpl::~CSSStyleRuleImpl()
nsCSSRule::Release()
CSSStyleRuleImpl::Release()
nsAttrValue::EnsureEmptyMiscContainer()
nsAttrValue::Reset()
nsAttrValue::ResetIfSet()
nsAttrValue::~nsAttrValue()
nsAttrAndChildArray::InternalAttr::~InternalAttr()
nsAttrAndChildArray::Clear()
nsAttrAndChildArray::~nsAttrAndChildArray()
nsGenericElement::~nsGenericElement()
nsStyledElement::~nsStyledElement()
nsMappedAttributeElement::~nsMappedAttributeElement()
nsGenericHTMLElement::~nsGenericHTMLElement()
nsHTMLSpanElement::~nsHTMLSpanElement()
nsNodeUtils::LastRelease(nsINode*)
nsGenericElement::Release()
nsHTMLSpanElement::Release()
nsXPCOMCycleCollectionParticipant::Unroot(void*)
nsCycleCollector::CollectWhite()
nsCycleCollector::FinishCollection()
nsCycleCollector_finishCollection()
_ZL25XPCCycleCollectGCCallbackP9JSContext10JSGCStatus
js_GC
JS_GC
nsXPConnect::Collect()
nsCycleCollector::Collect(unsigned int)
nsCycleCollector_collect()
nsJSContext::CC()
nsJSContext::IntervalCC()
nsJSContext::CCIfUserInactive()
GCTimerFired(nsITimer*, void*)
nsTimerImpl::Fire()
nsTimerEvent::Run()
nsThread::ProcessNextEvent(int, int*)
NS_ProcessPendingEvents_P(nsIThread*, unsigned int)
mozilla::ShutdownXPCOM(nsIServiceManager*)
NS_ShutdownXPCOM_P
ScopedXPCOMStartup::~ScopedXPCOMStartup()
XRE_main
main
start
This looks like an observer service bug to me.  You'll get this assert any time RemoveObserver is called on an observer that doesn't implement weak references and isn't actually observing the topic...

Observer service should probably QI to nsISupportsWeakReference directly to avoid the assert.  Or something.
Component: Networking → XPCOM
QA Contact: networking → xpcom
(Reporter)

Comment 2

8 years ago
Created attachment 445071 [details]
more recent stack from linux

Updated

8 years ago
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 594222
You need to log in before you can comment on or make changes to this bug.