Bug 358017 - Dead lock with Qt 5.6
Summary: Dead lock with Qt 5.6
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kded
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR grave
Target Milestone: ---
Assignee: Alex Fiestas
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-15 12:46 UTC by Aleix Pol
Modified: 2016-03-30 09:08 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Aleix Pol 2016-01-15 12:46:15 UTC
Thread 6 (Thread 0x7f005bd49700 (LWP 552)):
#0  0x00007f006e9d318d in poll () from /usr/lib/libc.so.6
#1  0x00007f006d96aae2 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007f006d96c757 in xcb_wait_for_event () from /usr/lib/libxcb.so.1

#3  0x00007f005dca3c29 in QXcbEventReader::run (this=0x1377a30) at /home/kde-devel/frameworks/qt5/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1312
#4  0x00007f006f5dbf99 in QThreadPrivate::start (arg=0x1377a30) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qthread_unix.cpp:340
#5  0x00007f006dddb4a4 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007f006e9dc13d in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7f005a3f5700 (LWP 553)):
#0  0x00007f006dde107f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f006f5dcd3b in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x7f004c05a2d0)
    at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:136
#2  QWaitCondition::wait (this=this@entry=0x7f004c05aef8, mutex=mutex@entry=0x7f004c05aef0, time=time@entry=18446744073709551615)
    at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:208
#3  0x00007f006f5d605b in QSemaphore::acquire (this=this@entry=0x7f005a3f3d20, n=n@entry=1) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qsemaphore.cpp:137
#4  0x00007f006f7a6199 in QMetaMethod::invoke (this=this@entry=0x7f005a3f3f88, object=object@entry=0x13c3980, connectionType=Qt::BlockingQueuedConnection, connectionType@entry=1588622801, 
    returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...)
    at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qmetaobject.cpp:2268
#5  0x00007f006f7ab8e1 in QMetaObject::invokeMethod (obj=0x13c3980, member=0x0, type=1588622801, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., 
    val8=..., val9=...) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qmetaobject.cpp:1478
#6  0x00007f005eafcbcd in QMetaObject::invokeMethod (obj=0x13c3980, member=0x7f005eb075d1 "loadModule", type=Qt::BlockingQueuedConnection, val0=..., val1=..., val2=..., val3=..., 
    val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at /home/kde-devel/kde5/include/QtCore/qobjectdefs.h:412
#7  0x00007f005eaf7545 in Kded::messageFilter (message=...) at /home/kde-devel/frameworks/kded/src/kded.cpp:148
#8  0x00007f0071448872 in QDBusConnectionPrivate::handleMessage (this=this@entry=0x7f004c0030f0, amsg=...) at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbusintegrator.cpp:494
#9  0x00007f0071448a66 in qDBusSignalFilter (connection=<optimized out>, message=<optimized out>, data=0x7f004c0030f0)
    at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbusintegrator.cpp:483
#10 0x00007f006db9a085 in dbus_connection_dispatch () from /usr/lib/libdbus-1.so.3
#11 0x00007f007144a019 in q_dbus_connection_dispatch (connection=<optimized out>) at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbus_symbols_p.h:189
#12 QDBusConnectionPrivate::doDispatch (this=this@entry=0x7f004c0030f0) at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbusintegrator.cpp:1090
#13 0x00007f007144a29b in QDBusConnectionPrivate::socketRead (this=0x7f004c0030f0, fd=7) at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbusintegrator.cpp:1114
#14 0x00007f007148ee8b in QDBusConnectionPrivate::qt_static_metacall (_o=_o@entry=0x7f004c0030f0, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=9, _a=_a@entry=0x7f005a3f4aa0)
    at .moc/moc_qdbusconnection_p.cpp:171
#15 0x00007f006f7c6300 in QMetaObject::activate (sender=sender@entry=0x7f004c00d2a0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, 
    argv=argv@entry=0x7f005a3f4aa0) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3730
#16 0x00007f006f7c6bd7 in QMetaObject::activate (sender=sender@entry=0x7f004c00d2a0, m=m@entry=0x7f006f9ddf20 <QSocketNotifier::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7f005a3f4aa0) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3595
#17 0x00007f006f83d69e in QSocketNotifier::activated (this=this@entry=0x7f004c00d2a0, _t1=7) at .moc/moc_qsocketnotifier.cpp:134
---Type <return> to continue, or q <return> to quit---
#18 0x00007f006f7d26cb in QSocketNotifier::event (this=0x7f004c00d2a0, e=<optimized out>) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qsocketnotifier.cpp:260
#19 0x00007f006f79b993 in doNotify (event=0x7f005a3f4b50, receiver=0x7f004c00d2a0) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1088
#20 QCoreApplication::notify (event=<optimized out>, receiver=<optimized out>, this=<optimized out>) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1074
#21 QCoreApplication::notifyInternal2 (receiver=0x7f004c00d2a0, event=event@entry=0x7f005a3f4b50) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1013
#22 0x00007f006f7ee06d in QCoreApplication::sendEvent (event=0x7f005a3f4b50, receiver=<optimized out>)
    at ../../include/QtCore/../../../../frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.h:227
#23 socketNotifierSourceDispatch (source=0x7f004c002e00) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:100
#24 0x00007f006a142dc7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#25 0x00007f006a143020 in ?? () from /usr/lib/libglib-2.0.so.0
#26 0x00007f006a1430cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#27 0x00007f006f7edbeb in QEventDispatcherGlib::processEvents (this=0x7f004c0008c0, flags=...) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:419
#28 0x00007f006f799aea in QEventLoop::exec (this=this@entry=0x7f005a3f4d60, flags=..., flags@entry=...) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:204
#29 0x00007f006f5d729c in QThread::exec (this=this@entry=0x7f00714a8120 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qthread.cpp:503
#30 0x00007f00714382f5 in QDBusConnectionManager::run (this=0x7f00714a8120 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbusconnection.cpp:177
#31 0x00007f006f5dbf99 in QThreadPrivate::start (arg=0x7f00714a8120 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qthread_unix.cpp:340
#32 0x00007f006dddb4a4 in start_thread () from /usr/lib/libpthread.so.0
#33 0x00007f006e9dc13d in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f0050e38700 (LWP 562)):
#0  0x00007f006e9d318d in poll () from /usr/lib/libc.so.6
#1  0x00007f006a142fbc in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f006a1430cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f006a143109 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f006a169715 in ?? () from /usr/lib/libglib-2.0.so.0
#5  0x00007f006dddb4a4 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007f006e9dc13d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f0047fff700 (LWP 563)):
#0  0x00007f006e9d318d in poll () from /usr/lib/libc.so.6
#1  0x00007f006a142fbc in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f006a143342 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#3  0x00007f00519aa236 in ?? () from /usr/lib/libgio-2.0.so.0
#4  0x00007f006a169715 in ?? () from /usr/lib/libglib-2.0.so.0
#5  0x00007f006dddb4a4 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007f006e9dc13d in clone () from /usr/lib/libc.so.6

---Type <return> to continue, or q <return> to quit---
Thread 2 (Thread 0x7f003c9fa700 (LWP 692)):
#0  0x00007f006e9d318d in poll () from /usr/lib/libc.so.6
#1  0x00007f006a142fbc in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f006a1430cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f006f7edbcf in QEventDispatcherGlib::processEvents (this=0x7f00240008c0, flags=...) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f006f799aea in QEventLoop::exec (this=this@entry=0x7f003c9f9d90, flags=..., flags@entry=...) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:204
#5  0x00007f006f5d729c in QThread::exec (this=<optimized out>) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qthread.cpp:503
#6  0x00007f006f5dbf99 in QThreadPrivate::start (arg=0x1661480) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qthread_unix.cpp:340
#7  0x00007f006dddb4a4 in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007f006e9dc13d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f0071346840 (LWP 548)):
#0  0x00007f006e9d7cf9 in syscall () from /usr/lib/libc.so.6
#1  0x00007f006f5d4310 in _q_futex (op=0, val=3, timeout=0x0, addr=0x7f004c003288) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qmutex_linux.cpp:146
#2  lockInternal_helper<false> (timeout=-1, elapsedTimer=0x0, d_ptr=...) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qmutex_linux.cpp:187
#3  QBasicMutex::lockInternal (this=0x7f004c003288) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qmutex_linux.cpp:203
#4  0x00007f006f5d440a in QBasicMutex::lock (this=0x7f004c003288) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qmutex.h:59
#5  QRecursiveMutexPrivate::lock (timeout=-1, this=0x7f004c003270) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qmutex.cpp:655
#6  QMutex::lock (this=<optimized out>) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/thread/qmutex.cpp:222
#7  0x00007f007144b8a5 in QDBusMutexLocker::QDBusMutexLocker (this=0x7ffd29f43b80, a=<optimized out>, s=<optimized out>, m=<optimized out>)
    at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbusthreaddebug_p.h:183
#8  0x00007f007144111d in QDBusDispatchLocker::QDBusDispatchLocker (s=0x7f004c0030f0, a=HuntAndEmitAction, this=0x7ffd29f43b80)
    at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbusthreaddebug_p.h:198
#9  QDBusConnectionPrivate::relaySignal (this=0x7f004c0030f0, obj=0x17052f0, mo=<optimized out>, signalId=<optimized out>, args=...)
    at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbusintegrator.cpp:1182
#10 0x00007f007148eed5 in QDBusConnectionPrivate::qt_static_metacall (_o=_o@entry=0x7f004c0030f0, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=12, _a=_a@entry=0x7ffd29f43e00)
    at .moc/moc_qdbusconnection_p.cpp:174
#11 0x00007f006f7c6300 in QMetaObject::activate (sender=sender@entry=0x16ecc90, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd29f43e00)
    at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3730
#12 0x00007f006f7c6bd7 in QMetaObject::activate (sender=sender@entry=0x16ecc90, m=m@entry=0x7f00714a78e0 <QDBusAdaptorConnector::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd29f43e00) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3595
#13 0x00007f0071466298 in QDBusAdaptorConnector::relaySignal (_t4=QList<QVariant> = {...}, _t3=8, _t2=0x7f002eb74280 <KCookieServer::staticMetaObject>, _t1=0x17052f0, this=0x16ecc90)
    at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbusabstractadaptor.cpp:440
#14 QDBusAdaptorConnector::relay (this=this@entry=0x16ecc90, senderObj=senderObj@entry=0x17052f0, lastSignalIdx=8, argv=argv@entry=0x7ffd29f440d0)
    at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbusabstractadaptor.cpp:326
#15 0x00007f00714663bc in QDBusAdaptorConnector::relaySlot (this=0x16ecc90, argv=0x7ffd29f440d0) at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbusabstractadaptor.cpp:276
#16 0x00007f00714671c8 in QDBusAdaptorConnector::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbusabstractadaptor.cpp:398
#17 0x00007f00714672f3 in QDBusAdaptorConnector::qt_metacall (this=0x16ecc90, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7ffd29f440d0)
---Type <return> to continue, or q <return> to quit---
    at /home/kde-devel/frameworks/qt5/qtbase/src/dbus/qdbusabstractadaptor.cpp:430
#18 0x00007f006f7c6470 in QMetaObject::activate (sender=0x17052f0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>)
    at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3745
#19 0x00007f00658d3c1f in KDEDModule::moduleRegistered (this=0x17052f0, _t1=...) at src/moc_kdedmodule.cpp:199
#20 0x00007f00658d3915 in KDEDModule::qt_static_metacall (_o=0x17052f0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x1445150) at src/moc_kdedmodule.cpp:94
#21 0x00007f006f7c7061 in QObject::event (this=0x17052f0, e=<optimized out>) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:1256
#22 0x00007f007010f4cc in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x17052f0, e=0x1710fe0)
    at /home/kde-devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3712
#23 0x00007f0070114366 in QApplication::notify (this=0x7ffd29f44a10, receiver=0x17052f0, e=0x1710fe0) at /home/kde-devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3493
#24 0x00007f006f79b9a8 in QCoreApplication::notifyInternal2 (receiver=0x17052f0, event=event@entry=0x1710fe0)
    at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1013
#25 0x00007f006f79d78a in QCoreApplication::sendEvent (event=0x1710fe0, receiver=<optimized out>) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.h:227
#26 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x13242a0)
    at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1648
#27 0x00007f006f79dc48 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0)
    at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1506
#28 0x00007f006f7ed7c3 in postEventSourceDispatch (s=0x1395f00) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:270
#29 0x00007f006a142dc7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0x00007f006a143020 in ?? () from /usr/lib/libglib-2.0.so.0
#31 0x00007f006a1430cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0x00007f006f7edbcf in QEventDispatcherGlib::processEvents (this=0x13958b0, flags=...) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:417
#33 0x00007f006f799aea in QEventLoop::exec (this=this@entry=0x7ffd29f44640, flags=..., flags@entry=...) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:204
#34 0x00007f006f7a1ced in QCoreApplication::exec () at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1283
#35 0x00007f005eafb711 in kdemain (argc=1, argv=0x1341fc0) at /home/kde-devel/frameworks/kded/src/kded.cpp:774
#36 0x000000000040c8c9 in launch (argc=1, _name=0x412492 "kded5", args=0x0, cwd=0x0, envc=0, envs=0x0, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x413061 "0")
    at /home/kde-devel/frameworks/kinit/src/kdeinit/kinit.cpp:747
#37 0x0000000000409a2e in main (argc=5, argv=0x7ffd29f45188) at /home/kde-devel/frameworks/kinit/src/kdeinit/kinit.cpp:1815

Reproducible: Sometimes

Steps to Reproduce:
Just start a Plasma session and wait.
Comment 1 Aleix Pol 2016-01-15 12:55:10 UTC
Also can you try this patch? https://paste.kde.org/pb9clpzkc
Comment 2 Aleix Pol 2016-01-15 15:36:59 UTC
Eh... wrong comment.
Comment 3 David Edmundson 2016-02-08 15:38:58 UTC
I believe this is now fixed with newer Qt 5.6