Application: kded4 ($Id$) KDE Platform Version: 4.9.2 "release 511" Qt Version: 4.8.3 Operating System: Linux 3.1.10-1.16-desktop x86_64 Distribution: "openSUSE 12.1 (x86_64)" -- Information about the crash: Powered on laptop at start of day. In between 2 Kwallet requests for password this crash appeared. The crash can be reproduced every time. -- Backtrace: Application: KDE Daemon (kdeinit4), signal: Segmentation fault [Current thread is 1 (Thread 0x7fa1f9a16760 (LWP 2085))] Thread 4 (Thread 0x7fa1e0481700 (LWP 2095)): #0 0x00007fff59bff8de in ?? () #1 0x00007fa1f3e52d9a in clock_gettime () from /lib64/librt.so.1 #2 0x00007fa1f858f174 in do_gettime (frac=0x7fa1e0480b58, sec=0x7fa1e0480b50) at tools/qelapsedtimer_unix.cpp:123 #3 qt_gettime () at tools/qelapsedtimer_unix.cpp:140 #4 0x00007fa1f8667dcd in QTimerInfoList::updateCurrentTime (this=0x7fa1d80020d0) at kernel/qeventdispatcher_unix.cpp:343 #5 0x00007fa1f8668103 in QTimerInfoList::timerWait (this=0x7fa1d80020d0, tm=...) at kernel/qeventdispatcher_unix.cpp:450 #6 0x00007fa1f8666b3c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7fa1e0480c3c) at kernel/qeventdispatcher_glib.cpp:136 #7 0x00007fa1f8666be5 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169 #8 0x00007fa1f3b9db72 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0 #9 0x00007fa1f3b9e97d in ?? () from /usr/lib64/libglib-2.0.so.0 #10 0x00007fa1f3b9efa9 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #11 0x00007fa1f8667666 in QEventDispatcherGlib::processEvents (this=0x7fa1d80008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426 #12 0x00007fa1f8637162 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #13 0x00007fa1f86373b7 in QEventLoop::exec (this=0x7fa1e0480dd0, flags=...) at kernel/qeventloop.cpp:204 #14 0x00007fa1f8535687 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501 #15 0x00007fa1f8616c0f in QInotifyFileSystemWatcherEngine::run (this=0x9223a0) at io/qfilesystemwatcher_inotify.cpp:248 #16 0x00007fa1f85386ec in QThreadPrivate::start (arg=0x9223a0) at thread/qthread_unix.cpp:338 #17 0x00007fa1f82a0f05 in start_thread () from /lib64/libpthread.so.0 #18 0x00007fa1f700110d in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7fa1dce4c700 (LWP 2204)): #0 0x00007fa1f82a3014 in pthread_mutex_lock () from /lib64/libpthread.so.0 #1 0x00007fa1f3b9d9dd in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0 #2 0x00007fa1f3b9e97d in ?? () from /usr/lib64/libglib-2.0.so.0 #3 0x00007fa1f3b9f312 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0 #4 0x00007fa1dd344946 in ?? () from /usr/lib64/libgio-2.0.so.0 #5 0x00007fa1f3bc3e06 in ?? () from /usr/lib64/libglib-2.0.so.0 #6 0x00007fa1f82a0f05 in start_thread () from /lib64/libpthread.so.0 #7 0x00007fa1f700110d in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7fa1ca037700 (LWP 2457)): #0 0x00007fa1f6ff7ff3 in poll () from /lib64/libc.so.6 #1 0x00007fa1f3b9eae8 in ?? () from /usr/lib64/libglib-2.0.so.0 #2 0x00007fa1f3b9efa9 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #3 0x00007fa1f8667666 in QEventDispatcherGlib::processEvents (this=0x7fa1c40008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426 #4 0x00007fa1f8637162 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #5 0x00007fa1f86373b7 in QEventLoop::exec (this=0x7fa1ca036e00, flags=...) at kernel/qeventloop.cpp:204 #6 0x00007fa1f8535687 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501 #7 0x00007fa1f85386ec in QThreadPrivate::start (arg=0x10ee790) at thread/qthread_unix.cpp:338 #8 0x00007fa1f82a0f05 in start_thread () from /lib64/libpthread.so.0 #9 0x00007fa1f700110d in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7fa1f9a16760 (LWP 2085)): [KCrash Handler] #6 QObject::~QObject (this=0xa94880, __in_chrg=<optimized out>) at kernel/qobject.cpp:858 #7 0x00007fa1de9e1e49 in Knm::WirelessSecuritySetting::~WirelessSecuritySetting (this=0xa94880, __in_chrg=<optimized out>) at /usr/src/debug/networkmanagement-0.9.2.65git.1349821823/libs/internals/settings/802-11-wireless-security.cpp:38 #8 0x00007fa1de9df4ff in qDeleteAll<QList<Knm::Setting*>::const_iterator> (end=<optimized out>, begin=<optimized out>) at /usr/include/QtCore/qalgorithms.h:322 #9 qDeleteAll<QList<Knm::Setting*> > (c=...) at /usr/include/QtCore/qalgorithms.h:330 #10 Knm::Connection::~Connection (this=0x9ca2a0, __in_chrg=<optimized out>) at /usr/src/debug/networkmanagement-0.9.2.65git.1349821823/libs/internals/connection.cpp:158 #11 0x00007fa1de9df5b9 in Knm::Connection::~Connection (this=0x9ca2a0, __in_chrg=<optimized out>) at /usr/src/debug/networkmanagement-0.9.2.65git.1349821823/libs/internals/connection.cpp:159 #12 0x00007fa1de566384 in NMDBusSecretAgent::secretsReady (this=<optimized out>, con=0x9ca2a0, name=..., failed=false, needsSaving=false) at /usr/src/debug/networkmanagement-0.9.2.65git.1349821823/backends/NetworkManager/nmdbussecretagent.cpp:183 #13 0x00007fa1de52480f in qt_static_metacall (_a=0x7fff59b1f600, _id=<optimized out>, _o=<optimized out>, _c=<optimized out>) at /usr/src/debug/networkmanagement-0.9.2.65git.1349821823/build/backends/NetworkManager/moc_nmdbussecretagent.cpp:68 #14 NMDBusSecretAgent::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7fff59b1f600) at /usr/src/debug/networkmanagement-0.9.2.65git.1349821823/build/backends/NetworkManager/moc_nmdbussecretagent.cpp:57 #15 0x00007fa1f864c511 in QMetaObject::activate (sender=0xdd3fa0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff59b1f600) at kernel/qobject.cpp:3556 #16 0x00007fa1de794f42 in SecretsProvider::connectionRead (this=<optimized out>, _t1=0x9ca2a0, _t2=<optimized out>, _t3=false, _t4=false) at /usr/src/debug/networkmanagement-0.9.2.65git.1349821823/build/libs/service/moc_secretsprovider.cpp:119 #17 0x00007fa1de799cca in SecretStorage::walletOpenedForRead (this=0xdd3fa0, success=true) at /usr/src/debug/networkmanagement-0.9.2.65git.1349821823/libs/service/secretstorage.cpp:201 #18 0x00007fa1f864c511 in QMetaObject::activate (sender=0xaf7580, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff59b1fa10) at kernel/qobject.cpp:3556 #19 0x00007fa1f9517ca2 in KWallet::Wallet::walletOpened (this=<optimized out>, _t1=true) at /usr/src/debug/kdelibs-4.9.2/build/kdeui/kwallet.moc:167 #20 0x00007fa1f864c511 in QMetaObject::activate (sender=0x6422e0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff59b1fb60) at kernel/qobject.cpp:3556 #21 0x00007fa1f954985f in OrgKdeKWalletInterface::walletAsyncOpened (this=<optimized out>, _t1=0, _t2=75994034) at /usr/src/debug/kdelibs-4.9.2/build/kdeui/kwallet_interface.moc:324 #22 0x00007fa1f954bfd6 in OrgKdeKWalletInterface::qt_static_metacall (_o=0x6422e0, _id=<optimized out>, _a=0x7fff59b202c0, _c=<optimized out>) at /usr/src/debug/kdelibs-4.9.2/build/kdeui/kwallet_interface.moc:162 #23 0x00007fa1f954c27b in OrgKdeKWalletInterface::qt_metacall (this=0x6422e0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff59b202c0) at /usr/src/debug/kdelibs-4.9.2/build/kdeui/kwallet_interface.moc:287 #24 0x00007fa1f5364f3b in QDBusConnectionPrivate::deliverCall (this=0x6a5030, object=0x6422e0, msg=..., metaTypes=..., slotIdx=9) at qdbusintegrator.cpp:947 #25 0x00007fa1f86516d6 in QObject::event (this=0x6422e0, e=<optimized out>) at kernel/qobject.cpp:1204 #26 0x00007fa1f779e0e4 in notify_helper (e=0xf84080, receiver=0x6422e0, this=0x6ba6f0) at kernel/qapplication.cpp:4557 #27 QApplicationPrivate::notify_helper (this=0x6ba6f0, receiver=0x6422e0, e=0xf84080) at kernel/qapplication.cpp:4529 #28 0x00007fa1f77a2eb3 in QApplication::notify (this=0x7fff59b20cf0, receiver=0x6422e0, e=0xf84080) at kernel/qapplication.cpp:4418 #29 0x00007fa1f93ff506 in KApplication::notify (this=0x7fff59b20cf0, receiver=0x6422e0, event=0xf84080) at /usr/src/debug/kdelibs-4.9.2/kdeui/kernel/kapplication.cpp:311 #30 0x00007fa1f863862c in QCoreApplication::notifyInternal (this=0x7fff59b20cf0, receiver=0x6422e0, event=0xf84080) at kernel/qcoreapplication.cpp:915 #31 0x00007fa1f863beda in sendEvent (event=0xf84080, receiver=0x6422e0) at kernel/qcoreapplication.h:231 #32 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x6163d0) at kernel/qcoreapplication.cpp:1539 #33 0x00007fa1f86671d3 in sendPostedEvents () at kernel/qcoreapplication.h:236 #34 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279 #35 0x00007fa1f3b9e5dd in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #36 0x00007fa1f3b9edd8 in ?? () from /usr/lib64/libglib-2.0.so.0 #37 0x00007fa1f3b9efa9 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #38 0x00007fa1f86675ff in QEventDispatcherGlib::processEvents (this=0x617770, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424 #39 0x00007fa1f784191e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #40 0x00007fa1f8637162 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #41 0x00007fa1f86373b7 in QEventLoop::exec (this=0x7fff59b20c80, flags=...) at kernel/qeventloop.cpp:204 #42 0x00007fa1f863c1d5 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187 #43 0x00007fa1e6d8e475 in kdemain (argc=1, argv=0x664ae0) at /usr/src/debug/kdelibs-4.9.2/kded/kded.cpp:924 #44 0x0000000000408984 in launch (argc=1, _name=0x40b4a4 "kded4", args=<optimized out>, cwd=0x0, envc=<optimized out>, envs=<optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x40b326 "0") at /usr/src/debug/kdelibs-4.9.2/kinit/kinit.cpp:734 #45 0x0000000000405f59 in main (argc=4, argv=0x7fff00000001, envp=0x7fff59b21de0) at /usr/src/debug/kdelibs-4.9.2/kinit/kinit.cpp:1849 Reported using DrKonqi
Lamarque, the problem is probably with the qDeleteAll() change in Qt 4.8. Within the destructor, you must not remove yourself from the list. See also https://git.reviewboard.kde.org/r/102981/
Git commit 989ced86c8e14c69036fca5ce254d65990087c0a by Lamarque V. Souza. Committed on 12/10/2012 at 17:40. Pushed by lvsouza into branch 'nm09'. Fix another potential case of qDeleteAll() crash. M +5 -2 kded/nm08connections.cpp M +1 -1 plasma_nm_version.h http://commits.kde.org/networkmanagement/989ced86c8e14c69036fca5ce254d65990087c0a
Git commit 3d95007a00e39d4a9ba814bc0f69428fba32a090 by Lamarque V. Souza. Committed on 12/10/2012 at 17:29. Pushed by lvsouza into branch 'nm09'. Fix crash when deleting connection. FIXED-IN: 0.9.0.6 M +12 -5 libs/internals/connection.cpp M +1 -0 libs/internals/connection.h http://commits.kde.org/networkmanagement/3d95007a00e39d4a9ba814bc0f69428fba32a090
Git commit 75942e42032ca1d505ba4c7f77b3ff05a2865eac by Lamarque V. Souza. Committed on 12/10/2012 at 17:41. Pushed by lvsouza into branch 'master'. Fix crash when deleting connection. FIXED-IN: 0.9.0.6 M +12 -5 libs/internals/connection.cpp M +1 -0 libs/internals/connection.h http://commits.kde.org/networkmanagement/75942e42032ca1d505ba4c7f77b3ff05a2865eac
Git commit ae9e7b8ad72fbf1ce4e0093e1ff43ac0e7cd7478 by Lamarque V. Souza. Committed on 12/10/2012 at 17:42. Pushed by lvsouza into branch 'master'. Fix another potential case of qDeleteAll() crash. M +5 -2 kded/nm08connections.cpp M +1 -1 plasma_nm_version.h http://commits.kde.org/networkmanagement/ae9e7b8ad72fbf1ce4e0093e1ff43ac0e7cd7478
(In reply to comment #1) > Lamarque, the problem is probably with the qDeleteAll() change in Qt 4.8. > Within the destructor, you must not remove yourself from the list. See also > https://git.reviewboard.kde.org/r/102981/ Ok, thanks for the tip.
Git commit 98819f62ef5a1a47d643cc76b506ea2b0e1310ed by David Faure. Committed on 13/10/2012 at 19:19. Pushed by dfaure into branch 'master'. Fix crash on kded4 startup Previous commit removed the clearning of the list, and didn't remove items from the list in the loop (-> double delete, and infinite loop) M +2 -1 libs/internals/connection.cpp http://commits.kde.org/networkmanagement/98819f62ef5a1a47d643cc76b506ea2b0e1310ed
Git commit c06adc6a5f4e34d267f699a4cb4a04c9fdfb28d5 by Lamarque V. Souza. Committed on 13/10/2012 at 19:45. Pushed by lvsouza into branch 'master'. Fix crash on kded4 startup. M +1 -1 kded/nm08connections.cpp M +1 -1 plasma_nm_version.h http://commits.kde.org/networkmanagement/c06adc6a5f4e34d267f699a4cb4a04c9fdfb28d5
Git commit f35856aae1dd5b8b1a44038fc5427c1ed2bb7549 by Lamarque V. Souza. Committed on 13/10/2012 at 19:45. Pushed by lvsouza into branch 'nm09'. Fix crash on kded4 startup. M +1 -1 kded/nm08connections.cpp M +1 -1 plasma_nm_version.h http://commits.kde.org/networkmanagement/f35856aae1dd5b8b1a44038fc5427c1ed2bb7549
Git commit a9d5297996a977d8f2b78e78e63c9ecab9896adc by Lamarque V. Souza, on behalf of David Faure. Committed on 13/10/2012 at 19:19. Pushed by lvsouza into branch 'nm09'. Fix crash on kded4 startup Previous commit removed the clearning of the list, and didn't remove items from the list in the loop (-> double delete, and infinite loop) (cherry picked from commit 98819f62ef5a1a47d643cc76b506ea2b0e1310ed) M +2 -1 libs/internals/connection.cpp http://commits.kde.org/networkmanagement/a9d5297996a977d8f2b78e78e63c9ecab9896adc