[prev in list] [next in list] [prev in thread] [next in thread] 

List:       amarok-bugs-dist
Subject:    [Bug 281312] Deadlock in FAM/KDirWatch usage
From:       Alex Merry <kde () randomguy3 ! me ! uk>
Date:       2011-09-04 11:49:26
Message-ID: E1R0BCY-00054r-GK () bugs ! kde ! org
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=281312





--- Comment #1 from Alex Merry <kde randomguy3 me uk>  2011-09-04 11:49:26 ---
And a backtrace from the deadlock-at-exit.  This one appears to be different to
the other one - in this case, the deadlock isn't happening between threads. 
Instead, FAMCancelMonitor is blocking directly on a write.  This could be a bug
in libfam - FAMCancelMonitor should probably flush the queue of incoming
messages before writing.


Thread 17 (Thread 0x7f680615f700 (LWP 29739)):
#0  0x00007f6824cb1ff3 in poll () from /lib/libc.so.6
#1  0x00007f681d98a7d4 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f681d98ad09 in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#3  0x00007f68255ee606 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQtCore.so.4
#4  0x00007f68255c2a92 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#5  0x00007f68255c2c97 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#6  0x00007f68254da13f in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f68255a5aef in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f68254dcbc5 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f68223c8d60 in start_thread () from /lib/libpthread.so.0
#10 0x00007f6824cba25d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

[snip ThreadWeaver threads waiting for jobs]

Thread 12 (Thread 0x7f6800e49700 (LWP 29745)):
#0  0x00007f68223ccac4 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
#1  0x00007f68192345ba in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007f68192346a9 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007f68223c8d60 in start_thread () from /lib/libpthread.so.0
#4  0x00007f6824cba25d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f6800548700 (LWP 29746)):
#0  0x00007f6824cb1ff3 in poll () from /lib/libc.so.6
#1  0x00007f681d98a7d4 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f681d98ad09 in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#3  0x00007f68255ee606 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQtCore.so.4
#4  0x00007f68255c2a92 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#5  0x00007f68255c2c97 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#6  0x00007f68254da13f in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f68254dcbc5 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f68223c8d60 in start_thread () from /lib/libpthread.so.0
#9  0x00007f6824cba25d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f67fec28700 (LWP 29749)):
#0  0x00007f6824cb4093 in select () from /lib/libc.so.6
#1  0x00007f68255a54a1 in ?? () from /usr/lib/libQtCore.so.4
#2  0x00007f68254dcbc5 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f68223c8d60 in start_thread () from /lib/libpthread.so.0
#4  0x00007f6824cba25d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f67fe427700 (LWP 29751)):
#0  0x00007f68223ccac4 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
#1  0x00007f682062df72 in ?? () from /usr/lib/libQtScript.so.4
#2  0x00007f682062dfa9 in ?? () from /usr/lib/libQtScript.so.4
#3  0x00007f68223c8d60 in start_thread () from /lib/libpthread.so.0
#4  0x00007f6824cba25d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f67f4043700 (LWP 29784)):
#0  0x00007f68223ccac4 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
#1  0x00007f6808fd988d in ?? () from
/usr/lib/gstreamer-0.10/libgstcoreelements.so
#2  0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#3  0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#4  0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#5  0x00007f67f2e3758d in ?? () from /usr/lib/gstreamer-0.10/libgstvorbis.so
#6  0x00007f67f2e386d3 in ?? () from /usr/lib/gstreamer-0.10/libgstvorbis.so
#7  0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#8  0x00007f6808fd5dd0 in ?? () from
/usr/lib/gstreamer-0.10/libgstcoreelements.so
#9  0x00007f680b474940 in ?? () from /usr/lib/libgstreamer-0.10.so.0
#10 0x00007f681d9b2340 in ?? () from /usr/lib/libglib-2.0.so.0
#11 0x00007f681d9afd16 in ?? () from /usr/lib/libglib-2.0.so.0
#12 0x00007f68223c8d60 in start_thread () from /lib/libpthread.so.0
#13 0x00007f6824cba25d in clone () from /lib/libc.so.6
#14 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f67f3842700 (LWP 29785)):
#0  0x00007f68223ccac4 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
#1  0x00007f680b1dd488 in gst_data_queue_push () from
/usr/lib/libgstbase-0.10.so.0
#2  0x00007f6808fd53c9 in ?? () from
/usr/lib/gstreamer-0.10/libgstcoreelements.so
#3  0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#4  0x00007f67f448132e in ?? () from /usr/lib/gstreamer-0.10/libgstogg.so
#5  0x00007f67f4484d7f in ?? () from /usr/lib/gstreamer-0.10/libgstogg.so
#6  0x00007f67f4485b12 in ?? () from /usr/lib/gstreamer-0.10/libgstogg.so
#7  0x00007f67f448861d in ?? () from /usr/lib/gstreamer-0.10/libgstogg.so
#8  0x00007f67f4488b4a in ?? () from /usr/lib/gstreamer-0.10/libgstogg.so
#9  0x00007f680b474940 in ?? () from /usr/lib/libgstreamer-0.10.so.0
#10 0x00007f681d9b2340 in ?? () from /usr/lib/libglib-2.0.so.0
#11 0x00007f681d9afd16 in ?? () from /usr/lib/libglib-2.0.so.0
#12 0x00007f68223c8d60 in start_thread () from /lib/libpthread.so.0
#13 0x00007f6824cba25d in clone () from /lib/libc.so.6
#14 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f67f2e31700 (LWP 29786)):
#0  0x00007f68223ccac4 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
#1  0x00007f6809621319 in ?? () from /usr/lib/libgstaudio-0.10.so.0
#2  0x00007f6809621531 in ?? () from /usr/lib/libgstaudio-0.10.so.0
#3  0x00007f68096279be in ?? () from /usr/lib/libgstaudio-0.10.so.0
#4  0x00007f680b1c2ad7 in ?? () from /usr/lib/libgstbase-0.10.so.0
#5  0x00007f680b1c531f in ?? () from /usr/lib/libgstbase-0.10.so.0
#6  0x00007f680b1c5677 in ?? () from /usr/lib/libgstbase-0.10.so.0
#7  0x00007f680b1c5a5f in ?? () from /usr/lib/libgstbase-0.10.so.0
#8  0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#9  0x00007f680b1d2db7 in ?? () from /usr/lib/libgstbase-0.10.so.0
#10 0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#11 0x00007f680b1d2db7 in ?? () from /usr/lib/libgstbase-0.10.so.0
#12 0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#13 0x00007f680b1d2db7 in ?? () from /usr/lib/libgstbase-0.10.so.0
#14 0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#15 0x00007f6808fda79a in ?? () from
/usr/lib/gstreamer-0.10/libgstcoreelements.so
#16 0x00007f680b474940 in ?? () from /usr/lib/libgstreamer-0.10.so.0
#17 0x00007f681d9b2340 in ?? () from /usr/lib/libglib-2.0.so.0
#18 0x00007f681d9afd16 in ?? () from /usr/lib/libglib-2.0.so.0
#19 0x00007f68223c8d60 in start_thread () from /lib/libpthread.so.0
#20 0x00007f6824cba25d in clone () from /lib/libc.so.6
#21 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f67f2630700 (LWP 29787)):
#0  0x00007f6824cb20c3 in ppoll () from /lib/libc.so.6
#1  0x00007f680b45a795 in gst_poll_wait () from /usr/lib/libgstreamer-0.10.so.0
#2  0x00007f680b46d450 in ?? () from /usr/lib/libgstreamer-0.10.so.0
#3  0x00007f680b429c34 in gst_clock_id_wait () from
/usr/lib/libgstreamer-0.10.so.0
#4  0x00007f680b1c0f8d in gst_base_sink_wait_clock () from
/usr/lib/libgstbase-0.10.so.0
#5  0x00007f680b1c38ec in ?? () from /usr/lib/libgstbase-0.10.so.0
#6  0x00007f680b1c531f in ?? () from /usr/lib/libgstbase-0.10.so.0
#7  0x00007f680b1c5677 in ?? () from /usr/lib/libgstbase-0.10.so.0
#8  0x00007f680b1c5a5f in ?? () from /usr/lib/libgstbase-0.10.so.0
#9  0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#10 0x00007f680b1d2db7 in ?? () from /usr/lib/libgstbase-0.10.so.0
#11 0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#12 0x00007f680b1d2db7 in ?? () from /usr/lib/libgstbase-0.10.so.0
#13 0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#14 0x00007f6808fda79a in ?? () from
/usr/lib/gstreamer-0.10/libgstcoreelements.so
#15 0x00007f680b474940 in ?? () from /usr/lib/libgstreamer-0.10.so.0
#16 0x00007f681d9b2340 in ?? () from /usr/lib/libglib-2.0.so.0
#17 0x00007f681d9afd16 in ?? () from /usr/lib/libglib-2.0.so.0
#18 0x00007f68223c8d60 in start_thread () from /lib/libpthread.so.0
#19 0x00007f6824cba25d in clone () from /lib/libc.so.6
#20 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f67f1e2f700 (LWP 29788)):
#0  0x00007f68223ccac4 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
#1  0x00007f6808fd988d in ?? () from
/usr/lib/gstreamer-0.10/libgstcoreelements.so
#2  0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#3  0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#4  0x00007f6808fe42b0 in ?? () from
/usr/lib/gstreamer-0.10/libgstcoreelements.so
#5  0x00007f6808fe46ff in ?? () from
/usr/lib/gstreamer-0.10/libgstcoreelements.so
#6  0x00007f680b44e3ac in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#7  0x00007f6808fda79a in ?? () from
/usr/lib/gstreamer-0.10/libgstcoreelements.so
#8  0x00007f680b474940 in ?? () from /usr/lib/libgstreamer-0.10.so.0
#9  0x00007f681d9b2340 in ?? () from /usr/lib/libglib-2.0.so.0
#10 0x00007f681d9afd16 in ?? () from /usr/lib/libglib-2.0.so.0
#11 0x00007f68223c8d60 in start_thread () from /lib/libpthread.so.0
#12 0x00007f6824cba25d in clone () from /lib/libc.so.6
#13 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f67f162e700 (LWP 29789)):
#0  0x00007f68223ccac4 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
#1  0x00007f6808fda0e4 in ?? () from
/usr/lib/gstreamer-0.10/libgstcoreelements.so
#2  0x00007f680b474940 in ?? () from /usr/lib/libgstreamer-0.10.so.0
#3  0x00007f681d9b2340 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f681d9afd16 in ?? () from /usr/lib/libglib-2.0.so.0
#5  0x00007f68223c8d60 in start_thread () from /lib/libpthread.so.0
#6  0x00007f6824cba25d in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f67f0e2d700 (LWP 29791)):
#0  0x00007f6824cb1ff3 in poll () from /lib/libc.so.6
#1  0x00007f680bb48023 in snd1_pcm_wait_nocheck (pcm=0x2c41390, timeout=40) at
pcm.c:2367
#2  0x00007f680bb47ee4 in snd_pcm_wait (pcm=0x2c41390, timeout=40) at
pcm.c:2338
#3  0x00007f680984353a in ?? () from /usr/lib/gstreamer-0.10/libgstalsa.so
#4  0x00007f680962eb58 in ?? () from /usr/lib/libgstaudio-0.10.so.0
#5  0x00007f681d9afd16 in ?? () from /usr/lib/libglib-2.0.so.0
#6  0x00007f68223c8d60 in start_thread () from /lib/libpthread.so.0
#7  0x00007f6824cba25d in clone () from /lib/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f6828579780 (LWP 29733)):
#0  0x00007f6824cadfdd in write () from /lib/libc.so.6
#1  0x00007f681c59989a in ?? () from /usr/lib/libfam.so.0
#2  0x00007f681c5999a0 in ?? () from /usr/lib/libfam.so.0
#3  0x00007f681c59ab0f in FAMCancelMonitor () from /usr/lib/libfam.so.0
#4  0x00007f6825a363be in KDirWatchPrivate::removeWatch (this=0x1a759c0,
e=0x2bed908) at /home/kde-devel/src/kdelibs/kdecore/io/kdirwatch.cpp:946
#5  0x00007f6825a366fc in KDirWatchPrivate::removeEntry (this=0x1a759c0,
instance=0x2a752e0, e=0x2bed908, sub_entry=0x0) at
/home/kde-devel/src/kdelibs/kdecore/io/kdirwatch.cpp:1006
#6  0x00007f6825a365d0 in KDirWatchPrivate::removeEntry (this=0x1a759c0,
instance=0x2a752e0, _path="/home/music/Sum_41", sub_entry=0x0) at
/home/kde-devel/src/kdelibs/kdecore/io/kdirwatch.cpp:982
#7  0x00007f6825a36b4c in KDirWatchPrivate::removeEntries (this=0x1a759c0,
instance=0x2a752e0) at
/home/kde-devel/src/kdelibs/kdecore/io/kdirwatch.cpp:1059
#8  0x00007f6825a3a351 in KDirWatch::~KDirWatch (this=0x2a752e0,
__in_chrg=<optimized out>) at
/home/kde-devel/src/kdelibs/kdecore/io/kdirwatch.cpp:1759
#9  0x00007f6825a3a3da in KDirWatch::~KDirWatch (this=0x2a752e0,
__in_chrg=<optimized out>) at
/home/kde-devel/src/kdelibs/kdecore/io/kdirwatch.cpp:1766
#10 0x00007f68255d54a5 in QObjectPrivate::deleteChildren() () from
/usr/lib/libQtCore.so.4
#11 0x00007f68255daa79 in QObject::~QObject() () from /usr/lib/libQtCore.so.4
#12 0x00007f68216f40cb in ThreadWeaver::Job::~Job (this=0x2796600,
__in_chrg=<optimized out>) at
/home/kde-devel/src/kdelibs/threadweaver/Weaver/Job.cpp:82
#13 0x00007f6806b41ade in DirWatchJob::~DirWatchJob (this=0x2796600,
__in_chrg=<optimized out>) at
/home/kde-devel/src/amarok/src/core-impl/collections/db/ScanManager.h:172
#14 0x00007f6806b41b10 in DirWatchJob::~DirWatchJob (this=0x2796600,
__in_chrg=<optimized out>) at
/home/kde-devel/src/amarok/src/core-impl/collections/db/ScanManager.h:172
#15 0x00007f68255d54a5 in QObjectPrivate::deleteChildren() () from
/usr/lib/libQtCore.so.4
#16 0x00007f68255daa79 in QObject::~QObject() () from /usr/lib/libQtCore.so.4
#17 0x00007f6806b3ad00 in ScanManager::~ScanManager (this=0x16934a0,
__in_chrg=<optimized out>) at
/home/kde-devel/src/amarok/src/core-impl/collections/db/ScanManager.cpp:84
#18 0x00007f6806b3ad32 in ScanManager::~ScanManager (this=0x16934a0,
__in_chrg=<optimized out>) at
/home/kde-devel/src/amarok/src/core-impl/collections/db/ScanManager.cpp:89
#19 0x00007f68255d54a5 in QObjectPrivate::deleteChildren() () from
/usr/lib/libQtCore.so.4
#20 0x00007f68255daa79 in QObject::~QObject() () from /usr/lib/libQtCore.so.4
#21 0x00007f68279ebf44 in Collections::Collection::~Collection (this=0x1663290,
__in_chrg=<optimized out>) at
/home/kde-devel/src/amarok/src/core/collections/Collection.cpp:79
#22 0x00007f6806b41c48 in Collections::DatabaseCollection::~DatabaseCollection
(this=0x1663290, __in_chrg=<optimized out>) at
/home/kde-devel/src/amarok/src/core-impl/collections/db/DatabaseCollection.cpp:30
#23 0x00007f6806b47db8 in Collections::SqlCollection::~SqlCollection
(this=0x1663290, __in_chrg=<optimized out>) at
/home/kde-devel/src/amarok/src/core-impl/collections/db/sql/SqlCollection.cpp:179
#24 0x00007f6806b47df6 in Collections::SqlCollection::~SqlCollection
(this=0x1663290, __in_chrg=<optimized out>) at
/home/kde-devel/src/amarok/src/core-impl/collections/db/sql/SqlCollection.cpp:191
#25 0x00007f6827268022 in
qDeleteAll<QList<Collections::Collection*>::const_iterator> (begin=...,
end=...) at /usr/include/QtCore/qalgorithms.h:322
#26 0x00007f6827266cf6 in qDeleteAll<SmartPointerList<Collections::Collection>
> (c=...) at /usr/include/QtCore/qalgorithms.h:330
#27 0x00007f682726218d in CollectionManager::~CollectionManager
(this=0x1621cd0, __in_chrg=<optimized out>) at
/home/kde-devel/src/amarok/src/core-impl/collections/support/CollectionManager.cpp:137
#28 0x00007f6827262294 in CollectionManager::~CollectionManager
(this=0x1621cd0, __in_chrg=<optimized out>) at
/home/kde-devel/src/amarok/src/core-impl/collections/support/CollectionManager.cpp:140
#29 0x00007f6827261f15 in CollectionManager::destroy () at
/home/kde-devel/src/amarok/src/core-impl/collections/support/CollectionManager.cpp:107
#30 0x00007f682737f5bc in App::~App (this=0x7fff168eed20, __in_chrg=<optimized
out>) at /home/kde-devel/src/amarok/src/App.cpp:248
#31 0x000000000040cf4b in main (argc=2, argv=0x7fff168f1388) at
/home/kde-devel/src/amarok/src/main.cpp:289

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Amarok-bugs-dist mailing list
Amarok-bugs-dist@kde.org
https://mail.kde.org/mailman/listinfo/amarok-bugs-dist
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic