Bug 322077 - Crash on login when destroyed threaded KSycoca triggers QDBusWriteLocker
Summary: Crash on login when destroyed threaded KSycoca triggers QDBusWriteLocker
Status: RESOLVED DUPLICATE of bug 321576
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 4.10.90
Platform: Chakra Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-07 18:23 UTC by Alberto M. Fornasari
Modified: 2013-08-28 19:21 UTC (History)
0 users

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 Alberto M. Fornasari 2013-07-07 18:23:54 UTC
Application: kwin (4.10.80)
KDE Platform Version: 4.10.80
Qt Version: 4.8.4
Operating System: Linux 3.9.2-1-CHAKRA x86_64
Distribution: "Chakra Linux"

-- Information about the crash:
- What I was doing when the application crashed: I had just logged in

- Unusual behavior I noticed: Black screen showing only the cursor

- Custom settings of the application: the settings are the system default, with a few desktop effects such as desktop cube

The crash can be reproduced sometimes.

-- Backtrace:
Application: KWin (kwin), signal: Aborted
Using host libthread_db library "/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7ff7c39b2780 (LWP 1151))]

Thread 2 (Thread 0x7ff7a5a79700 (LWP 1155)):
#0  0x00007ff7bd62e8b4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007ff7bd8bdabb in wait (time=18446744073709551615, this=0xe2a1c0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0xe2a0e0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007ff7bd8b87e6 in QReadWriteLock::lockForWrite (this=0xe29f68) at thread/qreadwritelock.cpp:293
#4  0x00007ff7bdd56ea4 in QDBusWriteLocker (s=0xe29ef0, a=ObjectDestroyedAction, this=0x7ff7a5a78c20) at qdbusthreaddebug_p.h:166
#5  QDBusConnectionPrivate::objectDestroyed (this=0xe29ef0, obj=0x7ff7980008c0) at qdbusintegrator.cpp:1177
#6  0x00007ff7bd9dedbf in QMetaObject::activate (sender=sender@entry=0x7ff7980008c0, m=m@entry=0x7ff7bdd2d8c0 <QObject::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ff7a5a78d80) at kernel/qobject.cpp:3539
#7  0x00007ff7bd9df6ef in QObject::destroyed (this=this@entry=0x7ff7980008c0, _t1=_t1@entry=0x7ff7980008c0) at .moc/debug-shared/moc_qobject.cpp:149
#8  0x00007ff7bd9df7e3 in QObject::~QObject (this=0x7ff7980008c0, __in_chrg=<optimized out>) at kernel/qobject.cpp:843
#9  0x00007ff7be1a8ff9 in KSycoca::~KSycoca() () from /usr/lib/libkdecore.so.5
#10 0x00007ff7bd8bb670 in QThreadStorageData::finish (p=0x101e618) at thread/qthreadstorage.cpp:203
#11 0x00007ff7bd8bc76c in QThreadPrivate::finish (arg=arg@entry=0x102f720) at thread/qthread_unix.cpp:361
#12 0x00007ff7bd8bd52f in ~__pthread_cleanup_class (this=<synthetic pointer>, __in_chrg=<optimized out>) at /usr/include/pthread.h:545
#13 QThreadPrivate::start (arg=0x102f720) at thread/qthread_unix.cpp:340
#14 0x00007ff7bd62add2 in start_thread () from /lib/libpthread.so.0
#15 0x00007ff7c3191ced in clone () from /lib/libc.so.6

Thread 1 (Thread 0x7ff7c39b2780 (LWP 1151)):
[KCrash Handler]
#5  0x00007ff7c30e11c9 in raise () from /lib/libc.so.6
#6  0x00007ff7c30e25c8 in abort () from /lib/libc.so.6
#7  0x00007ff7bd8b2dff in qt_message_output (msgType=msgType@entry=QtFatalMsg, buf=<optimized out>) at global/qglobal.cpp:2323
#8  0x00007ff7bd8b2f78 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, msg=0x7ff7bda32218 "ASSERT: \"%s\" in file %s, line %d", ap=ap@entry=0x7fff3a685c88) at global/qglobal.cpp:2369
#9  0x00007ff7bd8b3104 in qFatal (msg=<optimized out>) at global/qglobal.cpp:2552
#10 0x00007ff7bd8dc9f5 in QListData::append (this=0xe29f90, n=1) at tools/qlist.cpp:233
#11 0x00007ff7bdd60072 in QList<QString>::append (this=0xe29f90, t=...) at ../../include/QtCore/../../src/corelib/tools/qlist.h:530
#12 0x00007ff7bdd993cb in QDBusConnectionPrivate::qt_metacall (this=0xe29ef0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff3a685f70) at .moc/debug-shared/moc_qdbusconnection_p.cpp:121
#13 0x00007ff7bdd57664 in QDBusConnectionPrivate::deliverCall (this=0xe29ef0, object=0xe29ef0, msg=..., metaTypes=..., slotIdx=13) at qdbusintegrator.cpp:951
#14 0x00007ff7bdd5822f in QDBusConnectionPrivate::handleSignal (this=this@entry=0xe29ef0, key=..., msg=...) at qdbusintegrator.cpp:1589
#15 0x00007ff7bdd58484 in QDBusConnectionPrivate::handleSignal (this=this@entry=0xe29ef0, msg=...) at qdbusintegrator.cpp:1608
#16 0x00007ff7bdd5a025 in QDBusConnectionPrivate::handleMessage (this=this@entry=0xe29ef0, amsg=...) at qdbusintegrator.cpp:571
#17 0x00007ff7bdd5cb76 in qDBusSignalFilter (connection=<optimized out>, message=0xe2ed10, data=0xe29ef0) at qdbusintegrator.cpp:552
#18 0x00007ff7b44d691e in dbus_connection_dispatch () from /usr/lib/libdbus-1.so.3
#19 0x00007ff7bdd4f749 in q_dbus_connection_dispatch (connection=<optimized out>) at qdbus_symbols_p.h:115
#20 QDBusConnectionPrivate::doDispatch (this=0xe29ef0) at qdbusintegrator.cpp:1133
#21 0x00007ff7bd9de36e in QObject::event (this=0xe29ef0, e=<optimized out>) at kernel/qobject.cpp:1194
#22 0x00007ff7bcaa7021 in QApplicationPrivate::notify_helper (this=this@entry=0xe311f0, receiver=receiver@entry=0xe29ef0, e=e@entry=0xff4130) at kernel/qapplication.cpp:4562
#23 0x00007ff7bcaac0f9 in QApplication::notify (this=0x7fff3a686de0, receiver=0xe29ef0, e=0xff4130) at kernel/qapplication.cpp:4423
#24 0x00007ff7c1c9463a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#25 0x00007ff7bd9c77ee in QCoreApplication::notifyInternal (this=0x7fff3a686de0, receiver=receiver@entry=0xe29ef0, event=event@entry=0xff4130) at kernel/qcoreapplication.cpp:946
#26 0x00007ff7bd9cb198 in sendEvent (event=0xff4130, receiver=0xe29ef0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#27 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xdac1f0) at kernel/qcoreapplication.cpp:1570
#28 0x00007ff7bcb55159 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#29 QEventDispatcherX11::processEvents (this=0xdadad0, flags=...) at kernel/qeventdispatcher_x11.cpp:75
#30 0x00007ff7bd9c5d2f in QEventLoop::processEvents (this=this@entry=0x7fff3a686c60, flags=...) at kernel/qeventloop.cpp:149
#31 0x00007ff7bd9c5f88 in QEventLoop::exec (this=0x7fff3a686c60, flags=...) at kernel/qeventloop.cpp:204
#32 0x00007ff7bd9cb5a8 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#33 0x00007ff7c34d3037 in kdemain () from /usr/lib/libkdeinit4_kwin.so
#34 0x00007ff7c30cda15 in __libc_start_main () from /lib/libc.so.6
#35 0x0000000000400691 in _start ()

Reported using DrKonqi
Comment 1 Thomas Lübking 2013-07-07 18:32:27 UTC
Please provide the output of

"qdbus org.kde.kwin /KWin supportInformation"

(Either it's color correction or bug #315453)
Comment 2 Alberto M. Fornasari 2013-07-13 08:05:50 UTC
http://paste.kde.org/p7837cb1a/
Comment 3 Thomas Lübking 2013-07-15 19:30:30 UTC
Ok, no color correction.

Candidates:
bug #321576 (other form of "kconfig group not thread safe)
bug #315453 (qt/dbus not thread safe)

For "Black screen showing only the cursor" i bet on #315453

Can you check whether it (this crashtrace) still occurs in Beta1?
Also please post backtraces of other crashes at login if the look (much) different (in doubt just attach them)
Comment 4 Alberto M. Fornasari 2013-08-28 17:20:42 UTC
Sorry for the delay, this bug seems to be solved for me with Kde 4.11.
Comment 5 Thomas Lübking 2013-08-28 19:21:51 UTC
Thanks. Probably this dupe then :)

*** This bug has been marked as a duplicate of bug 321576 ***