Closed Bug 502707 Opened 13 years ago Closed 11 years ago

"ASSERTION: oops??? ssl socket is not idle at the time it is being destroyed" from imgRequest::~imgRequest

Categories

(Core :: Security: PSM, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jruderman, Unassigned)

References

Details

(Keywords: assertion, Whiteboard: [psm-logic][psm-tcpip])

###!!! ASSERTION: oops??? ssl socket is not idle at the time it is being destroyed: 'mSSLState != ssl_pending_write && mSSLState != ssl_pending_read', file /Users/jruderman/central/security/manager/ssl/src/nsNSSIOLayer.cpp, line 181

I can't reproduce, but I got a stack trace using XPCOM_DEBUG_BREAK=stack and tools/rb/fix-macosx-stack.pl.

There was a <body style="background: url(https://bugzilla.mozilla.org/attachment.cgi?id=165273&action=view)"> involved.

nsSSLSocketThreadData::~nsSSLSocketThreadData() (respcmn.c:)
nsSSLSocketThreadData::~nsSSLSocketThreadData() (respcmn.c:)
nsNSSSocketInfo::~nsNSSSocketInfo() (respcmn.c:)
nsNSSSocketInfo::Release() (respcmn.c:)
nsCOMPtr_base::~nsCOMPtr_base() (pldhash.c:)
nsCOMPtr<nsISupports>::~nsCOMPtr() (/var/tmp/gcc/gcc-5465~16/src/gcc/libgcc2.c:)
nsCOMPtr<nsISupports>::~nsCOMPtr() (/var/tmp/gcc/gcc-5465~16/src/gcc/libgcc2.c:)
imgRequest::~imgRequest() (/var/tmp/gcc/gcc-5465~16/src/gcc/libgcc2.c:)
imgRequest::Release() (/var/tmp/gcc/gcc-5465~16/src/gcc/libgcc2.c:)
nsRefPtr<imgRequest>::~nsRefPtr() (/var/tmp/gcc/gcc-5465~16/src/gcc/libgcc2.c:)
nsRefPtr<imgRequest>::~nsRefPtr() (/var/tmp/gcc/gcc-5465~16/src/gcc/libgcc2.c:)
imgRequestProxy::~imgRequestProxy() (/var/tmp/gcc/gcc-5465~16/src/gcc/libgcc2.c:)
imgRequestProxy::Release() (/var/tmp/gcc/gcc-5465~16/src/gcc/libgcc2.c:)
nsCOMPtr<imgIRequest>::~nsCOMPtr() (nsUnicharUtils.cpp:)
nsCOMPtr<imgIRequest>::~nsCOMPtr() (nsUnicharUtils.cpp:)
nsCSSValue::Image::~Image() (nsUnicharUtils.cpp:)
nsCSSValue::Image::~Image() (nsUnicharUtils.cpp:)
nsCSSValue::Image::Release() (nsUnicharUtils.cpp:)
nsCSSValue::DoReset() (nsUnicharUtils.cpp:)
nsCSSValue::Reset() (nsUnicharUtils.cpp:)
nsCSSValue::~nsCSSValue() (nsUnicharUtils.cpp:)
nsCSSValue::~nsCSSValue() (nsUnicharUtils.cpp:)
nsCSSValueList::~nsCSSValueList() (nsUnicharUtils.cpp:)
nsCSSValueList::~nsCSSValueList() (nsUnicharUtils.cpp:)
nsCSSCompressedDataBlock::Destroy() (nsUnicharUtils.cpp:)
nsCSSDeclaration::~nsCSSDeclaration() (nsUnicharUtils.cpp:)
nsCSSDeclaration::~nsCSSDeclaration() (nsUnicharUtils.cpp:)
nsCSSDeclaration::Release() (nsUnicharUtils.cpp:)
CSSStyleRuleImpl::~CSSStyleRuleImpl() (nsUnicharUtils.cpp:)
nsCSSRule::Release() (nsUnicharUtils.cpp:)
CSSStyleRuleImpl::Release() (nsUnicharUtils.cpp:)
nsAttrValue::EnsureEmptyMiscContainer() (nsUnicharUtils.cpp:)
nsAttrValue::Reset() (nsUnicharUtils.cpp:)
nsAttrValue::ResetIfSet() (nsUnicharUtils.cpp:)
nsAttrValue::~nsAttrValue() (nsUnicharUtils.cpp:)
nsAttrValue::~nsAttrValue() (nsUnicharUtils.cpp:)
nsAttrAndChildArray::InternalAttr::~InternalAttr() (nsUnicharUtils.cpp:)
nsAttrAndChildArray::InternalAttr::~InternalAttr() (nsUnicharUtils.cpp:)
nsAttrAndChildArray::Clear() (nsUnicharUtils.cpp:)
nsAttrAndChildArray::~nsAttrAndChildArray() (nsUnicharUtils.cpp:)
nsAttrAndChildArray::~nsAttrAndChildArray() (nsUnicharUtils.cpp:)
nsGenericElement::~nsGenericElement() (nsUnicharUtils.cpp:)
nsStyledElement::~nsStyledElement() (nsUnicharUtils.cpp:)
nsMappedAttributeElement::~nsMappedAttributeElement() (nsUnicharUtils.cpp:)
nsGenericHTMLElement::~nsGenericHTMLElement() (nsUnicharUtils.cpp:)
nsHTMLBodyElement::~nsHTMLBodyElement() (nsUnicharUtils.cpp:)
nsNodeUtils::LastRelease(nsINode*) (nsUnicharUtils.cpp:)
nsGenericElement::Release() (nsUnicharUtils.cpp:)
nsHTMLBodyElement::Release() (nsUnicharUtils.cpp:)
nsAttrAndChildArray::Clear() (nsUnicharUtils.cpp:)
nsAttrAndChildArray::~nsAttrAndChildArray() (nsUnicharUtils.cpp:)
nsAttrAndChildArray::~nsAttrAndChildArray() (nsUnicharUtils.cpp:)
nsGenericElement::~nsGenericElement() (nsUnicharUtils.cpp:)
nsStyledElement::~nsStyledElement() (nsUnicharUtils.cpp:)
nsMappedAttributeElement::~nsMappedAttributeElement() (nsUnicharUtils.cpp:)
nsGenericHTMLElement::~nsGenericHTMLElement() (nsUnicharUtils.cpp:)
nsHTMLHtmlElement::~nsHTMLHtmlElement() (nsUnicharUtils.cpp:)
nsNodeUtils::LastRelease(nsINode*) (nsUnicharUtils.cpp:)
nsGenericElement::Release() (nsUnicharUtils.cpp:)
nsHTMLHtmlElement::Release() (nsUnicharUtils.cpp:)
nsCOMPtr<nsINode>::assign_assuming_AddRef(nsINode*) (nsUnicharUtils.cpp:)
nsCOMPtr<nsINode>::assign_with_AddRef(nsISupports*) (nsUnicharUtils.cpp:)
nsCOMPtr<nsINode>::operator=(nsINode*) (nsUnicharUtils.cpp:)
nsDocument::~nsDocument() (nsUnicharUtils.cpp:)
nsHTMLDocument::~nsHTMLDocument() (nsUnicharUtils.cpp:)
nsNodeUtils::LastRelease(nsINode*) (nsUnicharUtils.cpp:)
nsDocument::Release() (nsUnicharUtils.cpp:)
nsHTMLDocument::Release() (nsUnicharUtils.cpp:)
nsCOMPtr<nsIDocument>::~nsCOMPtr() (nsUnicharUtils.cpp:)
nsCOMPtr<nsIDocument>::~nsCOMPtr() (nsUnicharUtils.cpp:)
nsPresContext::~nsPresContext() (nsUnicharUtils.cpp:)
nsPresContext::~nsPresContext() (nsUnicharUtils.cpp:)
nsPresContext::Release() (nsUnicharUtils.cpp:)
nsCOMPtr<nsPresContext>::~nsCOMPtr() (nsUnicharUtils.cpp:)
nsCOMPtr<nsPresContext>::~nsCOMPtr() (nsUnicharUtils.cpp:)
nsDOMEvent::~nsDOMEvent() (nsUnicharUtils.cpp:)
nsDOMEvent::Release() (nsUnicharUtils.cpp:)
void DoDeferredRelease<nsISupports*>(nsTArray<nsISupports*>&) (/Users/jruderman/central/obj-ff/js/src/xpconnect/src/dom_quickstubs.h:)
XPCJSRuntime::GCCallback(JSContext*, JSGCStatus) (/Users/jruderman/central/obj-ff/js/src/xpconnect/src/dom_quickstubs.h:)
DOMGCCallback(JSContext*, JSGCStatus) (nsUnicharUtils.cpp:)
js_GC (/Users/jruderman/central/obj-ff/js/src/jsautokw.h:)
JS_GC (/Users/jruderman/central/obj-ff/js/src/jsautokw.h:)
nsXREDirProvider::DoShutdown() (nsProfileLock.cpp:)
ScopedXPCOMStartup::~ScopedXPCOMStartup() (nsProfileLock.cpp:)
ScopedXPCOMStartup::~ScopedXPCOMStartup() (nsProfileLock.cpp:)
XRE_main (nsProfileLock.cpp:)
main (/Users/jruderman/central/browser/app/nsBrowserApp.cpp:)
_start (/Users/jruderman/central/browser/app/nsBrowserApp.cpp:)
start (/Users/jruderman/central/browser/app/nsBrowserApp.cpp:)
Assignee: kaie → nobody
Whiteboard: [psm-logic][psm-tcpip]
This assertion has been removed by bug 674147, and the redesign of the threading means that this specific kind of situation (about the socket being idle or not) doesn't happen.
Status: NEW → RESOLVED
Closed: 11 years ago
Depends on: 674147
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.