Closed Bug 1259125 Opened 10 years ago Closed 6 years ago

Crash in [@ nsINode::Slots | nsNodeWeakReference::Release] → [@ IPCError-browser | ShutDownKill ]

Categories

(Core :: DOM: Core & HTML, defect, P3)

48 Branch
All
Windows
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox45 --- affected
firefox46 --- affected
firefox48 --- affected
firefox49 --- affected
firefox51 --- affected
firefox57 --- affected
firefox58 --- affected
firefox59 --- ?

People

(Reporter: alex_mayorga, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: crash, Whiteboard: btpp-backlog)

Crash Data

This bug was filed from the Socorro interface and is report bp-805ce2a6-7ffc-4e92-b6df-721332160321. ============================================================= ¡Hola! 36 crashes (18 startup) like mine in the past month at https://crash-stats.mozilla.com/report/list?product=Firefox&range_unit=days&range_value=28&signature=nsINode%3A%3ASlots ¡Gracias! Alex Crashing Thread (0) Frame Module Signature Source 0 xul.dll nsINode::Slots() dom/base/nsINode.h 1 xul.dll nsNodeWeakReference::Release() dom/base/FragmentOrElement.cpp 2 xul.dll nsCOMPtr_base::~nsCOMPtr_base() xpcom/glue/nsCOMPtr.h 3 xul.dll nsTArray_Impl<nsCOMPtr<nsIWeakReference>, nsTArrayInfallibleAllocator>::DestructRange(unsigned __int64, unsigned __int64) xpcom/glue/nsTArray.h 4 xul.dll nsTArray_Impl<nsCOMPtr<nsIWeakReference>, nsTArrayInfallibleAllocator>::RemoveElementsAt(unsigned __int64, unsigned __int64) xpcom/glue/nsTArray.h 5 xul.dll nsTArray<nsCOMPtr<nsIWeakReference> >::`scalar deleting destructor'(unsigned int) 6 xul.dll nsAutoPtr<nsTArray<nsCOMPtr<nsIWeakReference> > >::~nsAutoPtr<nsTArray<nsCOMPtr<nsIWeakReference> > >() xpcom/base/nsAutoPtr.h 7 xul.dll nsBaseHashtableET<mozilla::dom::CustomElementHashKey, nsAutoPtr<nsTArray<nsCOMPtr<nsIWeakReference> > > >::`scalar deleting destructor'(unsigned int) 8 xul.dll PLDHashTable::~PLDHashTable() xpcom/glue/PLDHashTable.cpp 9 xul.dll mozilla::dom::Registry::~Registry() dom/base/nsDocument.cpp 10 xul.dll mozilla::dom::Registry::`scalar deleting destructor'(unsigned int) 11 xul.dll mozilla::dom::Promise::DeleteCycleCollectable() dom/promise/Promise.cpp 12 xul.dll SnowWhiteKiller::~SnowWhiteKiller() xpcom/base/nsCycleCollector.cpp 13 xul.dll nsCycleCollector::FreeSnowWhite(bool) xpcom/base/nsCycleCollector.cpp 14 xul.dll AsyncFreeSnowWhite::Run() js/xpconnect/src/XPCJSRuntime.cpp 15 xul.dll nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp 16 xul.dll NS_ProcessNextEvent(nsIThread*, bool) xpcom/glue/nsThreadUtils.cpp 17 xul.dll nsXMLHttpRequest::Send(nsIVariant*, mozilla::dom::Nullable<nsXMLHttpRequest::RequestBody> const&) dom/base/nsXMLHttpRequest.cpp 18 xul.dll nsXMLHttpRequest::Send(nsXMLHttpRequest::RequestBody const&) dom/base/nsXMLHttpRequest.h 19 xul.dll nsXMLHttpRequest::Send(JSContext*, nsAString_internal const&, mozilla::ErrorResult&) dom/base/nsXMLHttpRequest.h 20 xul.dll mozilla::dom::XMLHttpRequestBinding::send obj-firefox/dom/bindings/XMLHttpRequestBinding.cpp 21 xul.dll mozilla::dom::GenericBindingMethod(JSContext*, unsigned int, JS::Value*) dom/bindings/BindingUtils.cpp 22 xul.dll js::Invoke(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp 23 xul.dll js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value const*, JS::MutableHandle<JS::Value>) js/src/vm/Interpreter.cpp 24 xul.dll js::jit::DoCallFallback js/src/jit/BaselineIC.cpp 25 @0x9ffba1215c
Component: XPConnect → DOM
(The reports don't look to be the same root cause.) Andrew suspects this is something to do with SnowWhiteKiller (sync XHR is spinning the event loop).
Whiteboard: btpp-backlog
Olli, you might find the crash stack in comment 0 interesting. I think we talked about maybe not running FreeSnowWhite in nested event loops.
Flags: needinfo?(bugs)
I suspect this is just the first thing we run when destroying a node or something, so if we try to destroy a trashed node this signature shows up.
We can't disable SWK to run when spinning event loop, otherwise while showing any modal dialog or running sync XHR we wouldn't free memory.
Flags: needinfo?(bugs)
This might be related to Bug 1257096, given that Promise dtor ends up calling that code.
Updating crash signature to reflect changes to signature generation made in bug 1269817 (although reports older than a week will not be reprocessed), and adding dependency to ShutDownKill metabug. (These probably shouldn't all be separate bugs, but I'm not going to fix that up in a mass-change.)
Blocks: shutdownkill
Crash Signature: [@ nsINode::Slots] → [@ IPCError-browser | ShutDownKill ]
¡Hola! 7 crashes in the past week at https://crash-stats.mozilla.com/signature/?product=Firefox&signature=nsINode%3A%3ASlots from Release(2), Beta(1) and Nightly(2). ¡Gracias! Alex
Crash Signature: [@ IPCError-browser | ShutDownKill ] → [@ IPCError-browser | ShutDownKill ] [@ nsINode::Slots | nsNodeWeakReference::Release]
Summary: crash in nsINode::Slots → crash in nsINode::Slots [@ IPCError-browser | ShutDownKill ]
Crash Signature: [@ IPCError-browser | ShutDownKill ] [@ nsINode::Slots | nsNodeWeakReference::Release] → [@ IPCError-browser | ShutDownKill ] [@ nsINode::Slots | nsNodeWeakReference::Release] https://crash-stats.mozilla.com/search/?signature=%3DIPCError-browser%20%7C%20ShutDownKill&proto_signature=~nsINode%3A%3ASlots%20%7C%20nsNodeWeakReference%3A%3AReleas…
OS: Windows 7 → Windows
Hardware: x86 → All
Summary: crash in nsINode::Slots [@ IPCError-browser | ShutDownKill ] → Crash in [@ nsINode::Slots | nsNodeWeakReference::Release] → [@ IPCError-browser | ShutDownKill ]
Crash Signature: nsNodeWeakReference::Release] https://crash-stats.mozilla.com/search/?signature=%3DIPCError-browser%20%7C%20ShutDownKill&proto_signature=~nsINode%3A%3ASlots%20%7C%20nsNodeWeakReference%3A%3ARelease&product=Firefox&date=%3E%3D2017-06- 07T04%3A23%3A16.000… → nsNodeWeakReference::Release] https://crash-stats.mozilla.com/signature/?product=Firefox&proto_signature=~nsINode%3A%3ASlots%20%7C%20nsNodeWeakReference%3A%3ARelease&signature=IPCError-browser%20%7C%20ShutDownKill&date=%3E%3D2017-06- 07T06%3A13%3A10.000…
Priority: -- → P3
Component: DOM → DOM: Core & HTML

Closing because no crashes reported for 12 weeks.

Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.