Closed Bug 749461 Opened 12 years ago Closed 12 years ago

crash in nsGlobalWindow::cycleCollection::CanSkipReal

Categories

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

defect
Not set
critical

Tracking

()

RESOLVED DUPLICATE of bug 749182

People

(Reporter: marcia, Unassigned)

References

Details

(Keywords: crash)

Crash Data

This bug was filed from the Socorro interface and is 
report bp-d2ecca87-5f51-4828-87ae-957c02120426 .
============================================================= 

Seen while looking at trunk crash stats. https://crash-stats.mozilla.com/report/list?signature=nsGlobalWindow::cycleCollection::CanSkipReal%28void*,%20bool%29 - crash are all Windows. A high percentage of these appear to be startup crashes.

Possible regression ranged based on crash-stats: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=75c7378c87b6&tochange=cc5254f9825f


0 		        @0xdc6de978 	
1 	xul.dll 	nsGlobalWindow::cycleCollection::CanSkipReal 	dom/base/nsGlobalWindow.cpp:1454
2 	xul.dll 	nsPurpleBuffer::RemoveSkippable 	xpcom/base/nsCycleCollector.cpp:2125
3 	xul.dll 	nsCycleCollector::ForgetSkippable 	xpcom/base/nsCycleCollector.cpp:2149
4 	xul.dll 	nsCycleCollector_forgetSkippable 	xpcom/base/nsCycleCollector.cpp:3570
5 	xul.dll 	TimerFireForgetSkippable 	dom/base/nsJSEnvironment.cpp:3099
6 	xul.dll 	CCTimerFired 	dom/base/nsJSEnvironment.cpp:3158
7 	xul.dll 	nsTimerImpl::Fire 	xpcom/threads/nsTimerImpl.cpp:508
8 	xul.dll 	nsTimerEvent::Run 	xpcom/threads/nsTimerImpl.cpp:591
9 	xul.dll 	nsThread::ProcessNextEvent 	xpcom/threads/nsThread.cpp:656
10 	xul.dll 	mozilla::ipc::MessagePump::Run 	ipc/glue/MessagePump.cpp:110
11 	xul.dll 	MessageLoop::RunHandler 	ipc/chromium/src/base/message_loop.cc:201
12 	xul.dll 	MessageLoop::Run 	ipc/chromium/src/base/message_loop.cc:175
13 	xul.dll 	nsBaseAppShell::Run 	widget/xpwidgets/nsBaseAppShell.cpp:189
14 	xul.dll 	nsAppShell::Run 	widget/windows/nsAppShell.cpp:267
15 	xul.dll 	nsAppStartup::Run 	toolkit/components/startup/nsAppStartup.cpp:295
16 	xul.dll 	XREMain::XRE_mainRun 	toolkit/xre/nsAppRunner.cpp:3780
17 	xul.dll 	XREMain::XRE_main 	toolkit/xre/nsAppRunner.cpp:3857
18 	xul.dll 	XRE_main 	toolkit/xre/nsAppRunner.cpp:3933
19 	firefox.exe 	wmain 	toolkit/xre/nsWindowsWMain.cpp:107
20 	firefox.exe 	__tmainCRTStartup 	crtexe.c:552
21 	kernel32.dll 	BaseThreadInitThunk 	
22 	ntdll.dll 	__RtlUserThreadStart 	
23 	ntdll.dll 	_RtlUserThreadStart
I backed out bug 747675 to see if it could have caused this.

Another perhaps a bit scary thing is  Bug 695480.
(I don't know how bug 747675 could have caused this, but backing it out for testing was easy.)
Bug 695480 cuts off references to windows.  Could it somehow kill a window and leave it around in the purple buffer?  Though given that the patch only kills wrappers, I'm not sure how that would happen.  The actual window should still only go away via ref counting, I assume, which should clear out the purple buffer.
Crash Signature: [@ nsGlobalWindow::cycleCollection::CanSkipReal(void*, bool)] → [@ nsGlobalWindow::cycleCollection::CanSkipReal(void*, bool)] [@ nsPurpleBuffer::RemoveSkippable(bool) ]
Crash Signature: [@ nsGlobalWindow::cycleCollection::CanSkipReal(void*, bool)] [@ nsPurpleBuffer::RemoveSkippable(bool) ] → [@ nsGlobalWindow::cycleCollection::CanSkipReal(void*, bool)] [@ nsPurpleBuffer::RemoveSkippable(bool) ] [@ @0x0 | nsGlobalWindow::cycleCollection::CanSkipReal(void*, bool) ]
Crash Signature: [@ nsGlobalWindow::cycleCollection::CanSkipReal(void*, bool)] [@ nsPurpleBuffer::RemoveSkippable(bool) ] [@ @0x0 | nsGlobalWindow::cycleCollection::CanSkipReal(void*, bool) ] → [@ nsGlobalWindow::cycleCollection::CanSkipReal(void*, bool)] [@ nsPurpleBuffer::RemoveSkippable(bool) ] [@ @0x0 | nsGlobalWindow::cycleCollection::CanSkipReal(void*, bool) ] [@ ChildFinder::NoteXPCOMChild ]
OS: Windows NT → All
Hardware: x86 → All
It only happened in 15.0a1/20120426. It's fixed by bug 749182.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.