Closed
Bug 552570
Opened 14 years ago
Closed 14 years ago
Hang in child process on shutdown
Categories
(Core :: IPC, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: jdm, Unassigned)
Details
I've been getting occasional endless hangs on shutdown in the past few days. Here's the gdb stack for the parent: Thread 1 (Thread 0xb789a790 (LWP 13336)): #0 0x00b37416 in __kernel_vsyscall () #1 0x00a709fd in pthread_join () from /lib/libpthread.so.0 #2 0x0219924f in PlatformThread::Join (thread_handle=3074394992) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/platform_thread_posix.cc:119 #3 0x0216981c in base::Thread::Stop (this=0xb76d1300) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/thread.cc:114 #4 0x01f9ece2 in mozilla::ipc::BrowserProcessSubThread::~BrowserProcessSubThread (this=0xb76d1300, __in_chrg=<value optimized out>) at /home/t_mattjo/src/firefox/electrolysis/ipc/glue/BrowserProcessSubThread.cpp:89 #5 0x01f9ed5b in mozilla::ipc::BrowserProcessSubThread::~BrowserProcessSubThread (this=0xb76d1300, __in_chrg=<value optimized out>) at /home/t_mattjo/src/firefox/electrolysis/ipc/glue/BrowserProcessSubThread.cpp:94 #6 0x0208112d in mozilla::ShutdownXPCOM (servMgr=0x0) at /home/t_mattjo/src/firefox/electrolysis/xpcom/build/nsXPComInit.cpp:891 #7 0x02080a7d in NS_ShutdownXPCOM_P (servMgr=0xb76c0224) at /home/t_mattjo/src/firefox/electrolysis/xpcom/build/nsXPComInit.cpp:728 #8 0x00dfa592 in ScopedXPCOMStartup::~ScopedXPCOMStartup (this=0xbfbc9454, __in_chrg=<value optimized out>) at /home/t_mattjo/src/firefox/electrolysis/toolkit/xre/nsAppRunner.cpp:1055 #9 0x00e02a1c in XRE_main (argc=3, argv=0xbfbc9774, aAppData=0xb7616380) at /home/t_mattjo/src/firefox/electrolysis/toolkit/xre/nsAppRunner.cpp:3592 #10 0x08049807 in main (argc=3, argv=0xbfbc9774) at /home/t_mattjo/src/firefox/electrolysis/browser/app/nsBrowserApp.cpp:158 Thread 4 (Thread 0xb73f8b70 (LWP 13344)): #0 0x00b37416 in __kernel_vsyscall () #1 0x00a77bab in waitpid () from /lib/libpthread.so.0 #2 0x021ac600 in (anonymous namespace)::ChildReaper::WaitForChildExit (this=0xad2410c0) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc:112 #3 0x021aca92 in (anonymous namespace)::ChildLaxReaper::WillDestroyCurrentMessageLoop (this=0xad2410c0) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc:202 #4 0x02145280 in MessageLoop::~MessageLoop (this=0xb73f81a8, __in_chrg=<value optimized out>) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/message_loop.cc:135 #5 0x02169aa2 in base::Thread::ThreadMain (this=0xb76d1300) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/thread.cc:175 #6 0x02199056 in ThreadFunc (closure=0xb76d1300) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/platform_thread_posix.cc:26 #7 0x00a6fab5 in start_thread () from /lib/libpthread.so.0 #8 0x029a0dce in clone () from /lib/libc.so.6 And more interestingly, the child: Thread 10 (Thread 0xb7727b70 (LWP 13366)): #0 0x0069d416 in __kernel_vsyscall () #1 0x00a73c45 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x00138660 in PR_WaitCondVar (cvar=0x9d6c3e0, timeout=4294967295) at /home/t_mattjo/src/firefox/electrolysis/nsprpub/pr/src/pthreads/ptsynch.c:417 #3 0x020eca71 in mozilla::CondVar::Wait (this=0x9d6659c, interval=4294967295) at BlockingResourceBase.cpp:373 #4 0x0201e982 in mozilla::ipc::SyncChannel::WaitForNotify (this=0x9d66580) at /home/t_mattjo/src/firefox/electrolysis/ipc/glue/SyncChannel.cpp:292 #5 0x02018ba9 in mozilla::ipc::RPCChannel::BlockOnParent (this=0x9d66580) at /home/t_mattjo/src/firefox/electrolysis/ipc/glue/RPCChannel.cpp:543 #6 0x02018a81 in mozilla::ipc::RPCChannel::OnSpecialMessage (this=0x9d66580, id=65532, msg=...) at /home/t_mattjo/src/firefox/electrolysis/ipc/glue/RPCChannel.cpp:512 #7 0x020126f3 in mozilla::ipc::AsyncChannel::OnDispatchMessage (this=0x9d66580, msg=...) at /home/t_mattjo/src/firefox/electrolysis/ipc/glue/AsyncChannel.cpp:236 #8 0x0201845c in mozilla::ipc::RPCChannel::OnMaybeDequeueOne (this=0x9d66580) at /home/t_mattjo/src/firefox/electrolysis/ipc/glue/RPCChannel.cpp:393 #9 0x0201cc77 in DispatchToMethod<mozilla::ipc::RPCChannel, void (mozilla::ipc::RPCChannel::*)()> (obj=0x9d66580, method= (void (mozilla::ipc::RPCChannel::*)(mozilla::ipc::RPCChannel *)) 0x20182ee <mozilla::ipc::RPCChannel::OnMaybeDequeueOne()>, arg=...) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/tuple.h:383 #10 0x0201cb8f in RunnableMethod<mozilla::ipc::RPCChannel, void (mozilla::ipc::RPCChannel::*)(), Tuple0>::Run (this=0x9d6c6e0) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/task.h:307 #11 0x02019794 in mozilla::ipc::RPCChannel::RefCountedTask::Run (this=0x9d6c708) at ../../dist/include/mozilla/ipc/RPCChannel.h:376 #12 0x0201988c in mozilla::ipc::RPCChannel::DequeueTask::Run (this=0x9d6c540) at ../../dist/include/mozilla/ipc/RPCChannel.h:401 #13 0x021bab6e in MessageLoop::RunTask (this=0xb77271a8, task=0x9d6c540) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/message_loop.cc:336 #14 0x021babd7 in MessageLoop::DeferOrRunPendingTask (this=0xb77271a8, pending_task=...) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/message_loop.cc:344 #15 0x021bafad in MessageLoop::DoWork (this=0xb77271a8) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/message_loop.cc:444 #16 0x02016852 in mozilla::ipc::MessagePump::Run (this=0xb6c00468, aDelegate=0xb77271a8) at /home/t_mattjo/src/firefox/electrolysis/ipc/glue/MessagePump.cpp:122 #17 0x021ba66b in MessageLoop::RunInternal (this=0xb77271a8) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/message_loop.cc:216 #18 0x021ba5e7 in MessageLoop::RunHandler (this=0xb77271a8) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/message_loop.cc:199 #19 0x021ba56b in MessageLoop::Run (this=0xb77271a8) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/message_loop.cc:173 #20 0x021dea32 in base::Thread::ThreadMain (this=0x9d66520) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/thread.cc:165 #21 0x0220e056 in ThreadFunc (closure=0x9d66520) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/platform_thread_posix.cc:26 #22 0x00a6fab5 in start_thread () from /lib/libpthread.so.0 #23 0x0099adce in clone () from /lib/libc.so.6
Reporter | ||
Comment 1•14 years ago
|
||
Since I see the BlockOnParent call in there, this may be something to do with my use of CPOWs.
Reporter | ||
Comment 2•14 years ago
|
||
I have not reproduced anything like this in numerous months, so I'm closing it out.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•