Closed
Bug 570132
Opened 15 years ago
Closed 14 years ago
e10s: Chrome process crash at shutdown if connection error exists
Categories
(Core :: IPC, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: jdm, Assigned: jdm)
References
Details
Attachments
(1 file, 1 obsolete file)
1.29 KB,
patch
|
dwitte
:
review+
|
Details | Diff | Splinter Review |
This is another symptom of the underlying problem of bug 565223. The content process crashed during shutdown, then the chrome process died with the following stack: #0 0x0022c416 in ?? () #1 0x03489a81 in raise () from /lib/libc.so.6 #2 0x0348b34a in abort () from /lib/libc.so.6 #3 0x00972f84 in mozalloc_abort (msg=0xbfffdf9c "###!!! ABORT: not on worker thread!: 'mWorkerLoop == MessageLoop::current()', file ../../dist/include/mozilla/ipc/AsyncChannel.h, line 132") at /home/t_mattjo/src/firefox/electrolysis/memory/mozalloc/mozalloc_abort.cpp:73 #4 0x02223f62 in Abort (aMsg=0xbfffdf9c "###!!! ABORT: not on worker thread!: 'mWorkerLoop == MessageLoop::current()', file ../../dist/include/mozilla/ipc/AsyncChannel.h, line 132") at /home/t_mattjo/src/firefox/electrolysis/xpcom/base/nsDebugImpl.cpp:371 #5 0x02223e86 in NS_DebugBreak_P (aSeverity=3, aStr=0x2860b5e "not on worker thread!", aExpr=0x2860b38 "mWorkerLoop == MessageLoop::current()", aFile=0x2860b08 "../../dist/include/mozilla/ipc/AsyncChannel.h", aLine=132) at /home/t_mattjo/src/firefox/electrolysis/xpcom/base/nsDebugImpl.cpp:329 #6 0x0207daf1 in mozilla::ipc::AsyncChannel::AssertWorkerThread (this=0xb7db2d78) at ../../dist/include/mozilla/ipc/AsyncChannel.h:131 #7 0x02085ad7 in mozilla::ipc::RPCChannel::CxxStackFrame::CxxStackFrame(mozilla::ipc::RPCChannel&, mozilla::ipc::RPCChannel::Direction, IPC::Message const*) () from /home/t_mattjo/src/firefox/electrolysis/ff-dbg/dist/bin/libxul.so #8 0x0208339c in mozilla::ipc::RPCChannel::Send (this=0xb7db2d78, msg=0xb069c0d0) at /home/t_mattjo/src/firefox/electrolysis/ipc/glue/RPCChannel.cpp:141 #9 0x020b3271 in mozilla::dom::PContentProcessParent::SendSetOffline (this=0xb7db2d70, offline=@0xbfffe528) at PContentProcessParent.cpp:254 #10 0x02053675 in mozilla::dom::ContentProcessParent::Observe (this=0xb7db2d70, aSubject=0x0, aTopic=0x24c77de "ipc:network:set-offline", aData=0x24c77c8) at /home/t_mattjo/src/firefox/electrolysis/dom/ipc/ContentProcessParent.cpp:328 #11 0x021c7433 in nsObserverList::NotifyObservers (this=0xb382b8f0, aSubject=0x0, aTopic=0x24c77de "ipc:network:set-offline", someData=0x24c77c8) at /home/t_mattjo/src/firefox/electrolysis/xpcom/ds/nsObserverList.cpp:130 #12 0x021c8dd1 in nsObserverService::NotifyObservers (this=0xb7dceaf0, aSubject=0x0, aTopic=0x24c77de "ipc:network:set-offline", someData=0x24c77c8) at /home/t_mattjo/src/firefox/electrolysis/xpcom/ds/nsObserverService.cpp:182 #13 0x00f2b99c in nsIOService::SetOffline (this=0xb7d1f600, offline=1) at /home/t_mattjo/src/firefox/electrolysis/netwerk/base/src/nsIOService.cpp:696 #14 0x00f2c5f2 in nsIOService::Observe (this=0xb7d1f600, subject=0xb7dc0344, topic=0x2895ed0 "xpcom-shutdown", data=0x0) at /home/t_mattjo/src/firefox/electrolysis/netwerk/base/src/nsIOService.cpp:933 #15 0x021c7433 in nsObserverList::NotifyObservers (this=0xb382bcbc, aSubject=0xb7dc0344, aTopic=0x2895ed0 "xpcom-shutdown", someData=0x0) at /home/t_mattjo/src/firefox/electrolysis/xpcom/ds/nsObserverList.cpp:130 #16 0x021c8dd1 in nsObserverService::NotifyObservers (this=0xb7dceaf0, aSubject=0xb7dc0344, aTopic=0x2895ed0 "xpcom-shutdown", someData=0x0) at /home/t_mattjo/src/firefox/electrolysis/xpcom/ds/nsObserverService.cpp:182 #17 0x021bb0b6 in mozilla::ShutdownXPCOM (servMgr=0xb7dc0344) at /home/t_mattjo/src/firefox/electrolysis/xpcom/build/nsXPComInit.cpp:795 #18 0x021baebb in NS_ShutdownXPCOM_P (servMgr=0xb7dc0344) at /home/t_mattjo/src/firefox/electrolysis/xpcom/build/nsXPComInit.cpp:758 #19 0x00eea9e0 in ScopedXPCOMStartup::~ScopedXPCOMStartup (this=0xbfffea80, __in_chrg=<value optimized out>) at /home/t_mattjo/src/firefox/electrolysis/toolkit/xre/nsAppRunner.cpp:1073 #20 0x00ef2a0b in XRE_main (argc=5, argv=0xbfffed94, aAppData=0xb7d0e380) at /home/t_mattjo/src/firefox/electrolysis/toolkit/xre/nsAppRunner.cpp:3668 #21 0x08049807 in main (argc=5, argv=0xbfffed94) at /home/t_mattjo/src/firefox/electrolysis/browser/app/nsBrowserApp.cpp:158 which indicates that the channel was in the error state. We could obviously work around this by adding an |if (mIsAlive)| check to every Send call, but it might be nice to fix this at the root cause (AsyncChannel's error cleanup is too eager).
Assignee | ||
Comment 2•14 years ago
|
||
Let's wrap the Send* calls in alive-ness checks and stop crashing.
Assignee: nobody → josh
Assignee | ||
Comment 3•14 years ago
|
||
Now lacking unrelated changes.
Attachment #455807 -
Attachment is obsolete: true
Attachment #455809 -
Flags: review?(dwitte)
Comment 4•14 years ago
|
||
Comment on attachment 455809 [details] [diff] [review] Patch r=dwitte
Attachment #455809 -
Flags: review?(dwitte) → review+
Assignee | ||
Updated•14 years ago
|
Keywords: checkin-needed
Assignee | ||
Comment 5•14 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/67118cc6dcad
You need to log in
before you can comment on or make changes to this bug.
Description
•