Bug 443391 - FF deadlocks in nsCycleCollector::Collect
FF deadlocks in nsCycleCollector::Collect
Status: CLOSED CANTFIX
Product: Fedora
Classification: Fedora
Component: firefox (Show other bugs)
9
All Linux
low Severity low
: ---
: ---
Assigned To: Christopher Aillon
Fedora Extras Quality Assurance
:
: 443600 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-04-21 06:45 EDT by Zdenek Kabelac
Modified: 2008-10-24 10:56 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-10-24 10:56:55 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
GNOME Desktop 529155 None None None Never

  None (edit)
Description Zdenek Kabelac 2008-04-21 06:45:01 EDT
Description of problem:

After resume of suspended machine after some time I've tried to open iconfied
window and I've got only visible frame borders from window manager.
FF stayed dead with this backtrace when attached with gdb.

Version-Release number of selected component (if applicable):
firefox-3.0-0.54.beta5.fc9.x86_64
xulrunner-1.9-0.54.beta5.fc9.x86_64

How reproducible:
No idea :(

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Program received signal SIGINT, Interrupt.
0x0000003a6d80b19d in pthread_cond_timedwait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
(gdb) bt
#0  0x0000003a6d80b19d in pthread_cond_timedwait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1  0x0000003a7e023244 in ?? () from /lib64/libnspr4.so
#2  0x0000003a7e023e6a in PR_WaitCondVar () from /lib64/libnspr4.so
#3  0x000000390fc0a35e in TimerThread::Run (this=<value optimized out>) at
TimerThread.cpp:345
#4  0x000000390fc0758e in nsThread::ProcessNextEvent (this=<value optimized
out>, mayWait=<value optimized out>, 
    result=<value optimized out>) at nsThread.cpp:510
#5  0x000000390fbd8de6 in NS_ProcessNextEvent_P (thread=<value optimized out>,
mayWait=<value optimized out>)
    at nsThreadUtils.cpp:227
#6  0x000000390fc07d5f in nsThread::ThreadFunc (arg=<value optimized out>) at
nsThread.cpp:254
#7  0x0000003a7e029aa3 in ?? () from /lib64/libnspr4.so
#8  0x0000003a6d80729a in start_thread (arg=<value optimized out>) at
pthread_create.c:297
#9  0x0000003a6cce42bd in clone () from /lib64/libc.so.6
(gdb) info threads 
* 5 Thread 0x41174950 (LWP 4878)  0x0000003a6d80b19d in
pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
  4 Thread 0x42e1c950 (LWP 4884)  0x0000003a6d80af19 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  3 Thread 0x4361d950 (LWP 4885)  0x0000003a6d80af19 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  2 Thread 0x41e1a950 (LWP 15452)  0x0000003a6d80af19 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  1 Thread 0x7f2a3c637700 (LWP 4876)  0x0000003a6ccf20ee in
__lll_lock_wait_private () from /lib64/libc.so.6
(gdb) thr 4
[Switching to thread 4 (Thread 0x42e1c950 (LWP 4884))]#0  0x0000003a6d80af19 in
pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
(gdb) bt
#0  0x0000003a6d80af19 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1  0x0000003a7e023ee4 in PR_WaitCondVar () from /lib64/libnspr4.so
#2  0x000000390fa37263 in nsSSLThread::Run (this=<value optimized out>) at
nsSSLThread.cpp:964
#3  0x0000003a7e029aa3 in ?? () from /lib64/libnspr4.so
#4  0x0000003a6d80729a in start_thread (arg=<value optimized out>) at
pthread_create.c:297
#5  0x0000003a6cce42bd in clone () from /lib64/libc.so.6
(gdb) thr 3
[Switching to thread 3 (Thread 0x4361d950 (LWP 4885))]#0  0x0000003a6d80af19 in
pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
(gdb) bt
#0  0x0000003a6d80af19 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1  0x0000003a7e023ee4 in PR_WaitCondVar () from /lib64/libnspr4.so
#2  0x000000390fa38184 in nsCertVerificationThread::Run (this=<value optimized out>)
    at nsCertVerificationThread.cpp:138
#3  0x0000003a7e029aa3 in ?? () from /lib64/libnspr4.so
#4  0x0000003a6d80729a in start_thread (arg=<value optimized out>) at
pthread_create.c:297
#5  0x0000003a6cce42bd in clone () from /lib64/libc.so.6
(gdb) thr 2
[Switching to thread 2 (Thread 0x41e1a950 (LWP 15452))]#0  0x0000003a6d80af19 in
pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
(gdb) bt
#0  0x0000003a6d80af19 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1  0x0000003a7e023ee4 in PR_WaitCondVar () from /lib64/libnspr4.so
#2  0x0000003a7e023f66 in PR_Wait () from /lib64/libnspr4.so
#3  0x000000390fc06931 in nsEventQueue::GetEvent (this=<value optimized out>,
mayWait=<value optimized out>, 
    result=<value optimized out>) at ../../dist/include/xpcom/nsAutoLock.h:340
#4  0x000000390fc07569 in nsThread::ProcessNextEvent (this=<value optimized
out>, mayWait=<value optimized out>, 
    result=<value optimized out>) at nsThread.h:112
#5  0x000000390fbd8de6 in NS_ProcessNextEvent_P (thread=<value optimized out>,
mayWait=<value optimized out>)
    at nsThreadUtils.cpp:227
#6  0x000000390fc07d5f in nsThread::ThreadFunc (arg=<value optimized out>) at
nsThread.cpp:254
#7  0x0000003a7e029aa3 in ?? () from /lib64/libnspr4.so
#8  0x0000003a6d80729a in start_thread (arg=<value optimized out>) at
pthread_create.c:297
#9  0x0000003a6cce42bd in clone () from /lib64/libc.so.6
(gdb) thr 1
[Switching to thread 1 (Thread 0x7f2a3c637700 (LWP 4876))]#0  0x0000003a6ccf20ee
in __lll_lock_wait_private ()
   from /lib64/libc.so.6
Current language:  auto; currently c
(gdb) bt
#0  0x0000003a6ccf20ee in __lll_lock_wait_private () from /lib64/libc.so.6
#1  0x0000003a6cc7e335 in _L_lock_4812 () from /lib64/libc.so.6
#2  0x0000003a6cc7a78b in __libc_free (mem=<value optimized out>) at malloc.c:3623
#3  0x000000390f424b60 in nsProfileLock::Unlock (this=<value optimized out>) at
nsProfileLock.cpp:658
#4  0x000000390f424b95 in nsProfileLock::RemovePidLockFiles () at
nsProfileLock.cpp:150
#5  0x000000390f424d3c in nsProfileLock::FatalSignalHandler (signo=<value
optimized out>) at nsProfileLock.cpp:165
#6  <signal handler called>
#7  0x0000003a6cc32215 in raise (sig=<value optimized out>) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#8  0x0000003a6cc33d83 in abort () at abort.c:88
#9  0x0000003a6cc72858 in __libc_message (do_abort=<value optimized out>,
fmt=<value optimized out>)
    at ../sysdeps/unix/sysv/linux/libc_fatal.c:170
#10 0x0000003a6cc7905c in malloc_consolidate (av=<value optimized out>) at
malloc.c:5949
#11 0x0000003a6cc7a3b8 in _int_free (av=<value optimized out>, mem=<value
optimized out>) at malloc.c:4737
#12 0x0000003a6cc7a796 in __libc_free (mem=<value optimized out>) at malloc.c:3625
#13 0x000000390fc11e23 in nsCycleCollector::Collect (this=<value optimized out>,
aTryCollections=<value optimized out>)
    at nsCycleCollector.cpp:557
#14 0x000000390f806351 in nsJSContext::CC () at nsJSEnvironment.cpp:3346
#15 0x000000390f80657b in nsJSContext::Notify (this=<value optimized out>,
timer=<value optimized out>)
    at nsJSEnvironment.cpp:3438
#16 0x000000390fc09930 in nsTimerImpl::Fire (this=<value optimized out>) at
nsTimerImpl.cpp:403
#17 0x000000390fc09a39 in nsTimerEvent::Run (this=<value optimized out>) at
nsTimerImpl.cpp:490
#18 0x000000390fc0758e in nsThread::ProcessNextEvent (this=<value optimized
out>, mayWait=<value optimized out>, 
    result=<value optimized out>) at nsThread.cpp:510
#19 0x000000390fbd8de6 in NS_ProcessNextEvent_P (thread=<value optimized out>,
mayWait=<value optimized out>)
    at nsThreadUtils.cpp:227
#20 0x000000390fb50be5 in nsBaseAppShell::Run (this=<value optimized out>) at
nsBaseAppShell.cpp:170
#21 0x000000390fa21855 in nsAppStartup::Run (this=<value optimized out>) at
nsAppStartup.cpp:181
#22 0x000000390f41dc4b in XRE_main (argc=<value optimized out>, argv=<value
optimized out>, 
    aAppData=<value optimized out>) at nsAppRunner.cpp:3154
#23 0x0000000000401665 in main (argc=3, argv=0x7fff4465bb48) at nsXULStub.cpp:348
Comment 1 Christopher Aillon 2008-04-22 18:28:33 EDT
*** Bug 443600 has been marked as a duplicate of this bug. ***
Comment 2 Braden McDaniel 2008-04-22 23:21:38 EDT
As per bug 443600, one really easy way to reproduce this is to use Epiphany with
the Select Stylesheet extension enabled.

And this appears to be a deadlock rather than a loop (as the summary currently
indicates).
Comment 3 Zdenek Kabelac 2008-04-25 05:15:20 EDT
You are probably right - it stayed in the mutex and did not eat CPU - changing
the name of the bug as well.
Comment 4 Bug Zapper 2008-05-14 05:50:39 EDT
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 5 Martin Stransky 2008-10-24 10:56:55 EDT
Unable to reproduce...closing. Please reopen if you find a way how to reproduce it...

Note You need to log in before you can comment on or make changes to this bug.