Bug 171870

Summary: kded crashes with assert in kdedglobalaccel.cpp (Global accelerators)
Product: [Unmaintained] kdelibs Reporter: Alex Merry <alex.merry>
Component: kdedAssignee: Michael Jansen <kde>
Status: RESOLVED FIXED    
Severity: crash CC: 4ernov, alexdemente, dariopnc, fabio.mereu, gutsyrabbit, heinrichwittdo, igotelli, joffko, marktma, markus, mikael.emanuelsson, mohi.pub, sctamy, sheepky, swbcgiles, upcroft, v.holthaus, viktor.vozar, vitalie.lazu
Priority: NOR    
Version: 4.1   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Log of KGlobalAccel messages from kded

Description Alex Merry 2008-09-29 22:14:59 UTC
Version:            (using Devel)
Compiler:          gcc version 4.3.2 
OS:                Linux
Installed from:    Compiled sources

Crash on login:

Application: KDE Daemon (kded4), signal SIGABRT

Thread 1 (Thread 0xb62d9700 (LWP 5453)):
[KCrash Handler]
#6  0xb7ffe424 in __kernel_vsyscall ()
#7  0xb665a720 in raise () from /lib/libc.so.6
#8  0xb665c058 in abort () from /lib/libc.so.6
#9  0xb73449fb in qt_message_output (msgType=QtFatalMsg, 
    buf=0xbff18880 "ASSERT: \"d->keyToAction.value(key) == ad\" in file /home/kde-devel/src/KDE/kdelibs/kdeui/shortcuts/kdedglobalaccel.cpp, line 411") at global/qglobal.cpp:2108
#10 0xb7344a5f in qFatal (msg=0xb7490c98 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2309
#11 0xb7344e81 in qt_assert (assertion=0xb6094130 "d->keyToAction.value(key) == ad", file=0xb60940d8 "/home/kde-devel/src/KDE/kdelibs/kdeui/shortcuts/kdedglobalaccel.cpp", line=411)
    at global/qglobal.cpp:1878
#12 0xb608c2a4 in KdedGlobalAccel::setShortcut (this=0x85124b0, actionId=@0x87689f0, keys=@0x86b81d8, flags=2) at /home/kde-devel/src/KDE/kdelibs/kdeui/shortcuts/kdedglobalaccel.cpp:411
#13 0xb60924cb in KdedGlobalAccelAdaptor::setShortcut (this=0x85bc5f0, actionId=@0x87689f0, keys=@0x86b81d8, flags=2) at /home/kde-devel/src/KDE/kdelibs/kdeui/shortcuts/kdedglobalaccel_adaptor.h:76
#14 0xb608d681 in KdedGlobalAccelAdaptor::qt_metacall (this=0x85bc5f0, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbff1aa10)
    at /home/kde-devel/build/KDE/kdelibs/kdeui/kdedglobalaccel_adaptor.moc:114
#15 0xb72a30d8 in QDBusConnectionPrivate::deliverCall (this=0x8449778, object=0x85bc5f0, msg=@0x87805e8, metaTypes=@0x8634d24, slotIdx=13) at qdbusintegrator.cpp:855
#16 0xb72a3c4f in QDBusConnectionPrivate::activateCall (this=0x8449778, object=0x85bc5f0, flags=337, msg=@0x87805e8) at qdbusintegrator.cpp:767
#17 0xb72a471c in QDBusConnectionPrivate::activateObject (this=0x8449778, node=@0x87805d4, msg=@0x87805e8, pathStartPos=24) at qdbusintegrator.cpp:1289
#18 0xb72a4999 in QDBusActivateObjectEvent::placeMetaCall (this=0x87805a8) at qdbusintegrator.cpp:1406
#19 0xb74504e4 in QObject::event (this=0x85124b0, e=0x87805a8) at kernel/qobject.cpp:1158
#20 0xb6b4a8a1 in QApplicationPrivate::notify_helper (this=0x8450760, receiver=0x85124b0, e=0x87805a8) at kernel/qapplication.cpp:3809
#21 0xb6b4abb6 in QApplication::notify (this=0xbff1b4c8, receiver=0x85124b0, e=0x87805a8) at kernel/qapplication.cpp:3399
#22 0xb7bfba11 in KApplication::notify (this=0xbff1b4c8, receiver=0x85124b0, event=0x87805a8) at /home/kde-devel/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307
#23 0xb743da6f in QCoreApplication::notifyInternal (this=0xbff1b4c8, receiver=0x85124b0, event=0x87805a8) at kernel/qcoreapplication.cpp:589
#24 0xb74415f1 in QCoreApplication::sendEvent (receiver=0x85124b0, event=0x87805a8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#25 0xb743df8f in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8424310) at kernel/qcoreapplication.cpp:1201
#26 0xb743e14b in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1097
#27 0xb746d10e in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#28 0xb746c320 in postEventSourceDispatch (s=0x84528c8) at kernel/qeventdispatcher_glib.cpp:211
#29 0xb64c12b1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0xb64c4943 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#31 0xb64c4b01 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0xb746b73a in QEventDispatcherGlib::processEvents (this=0x842bb30, flags={i = -1074678968}) at kernel/qeventdispatcher_glib.cpp:325
#33 0xb6bef6f4 in QGuiEventDispatcherGlib::processEvents (this=0x842bb30, flags={i = -1074678920}) at kernel/qguieventdispatcher_glib.cpp:204
#34 0xb743aa90 in QEventLoop::processEvents (this=0xbff1b3f0, flags={i = -1074678860}) at kernel/qeventloop.cpp:149
#35 0xb743accd in QEventLoop::exec (this=0xbff1b3f0, flags={i = -1074678792}) at kernel/qeventloop.cpp:196
#36 0xb743e26b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:851
#37 0xb6b4a5ba in QApplication::exec () at kernel/qapplication.cpp:3337
#38 0xb7ff5714 in kdemain (argc=1, argv=0xbff1b654) at /home/kde-devel/src/KDE/kdelibs/kded/kded.cpp:900
#39 0x080487a6 in main (argc=) at /home/kde-devel/build/KDE/kdelibs/kded/kded4_dummy.cpp:3
Comment 1 jofko 2008-09-30 11:45:35 UTC
not sure if this is same bug.

Crash after every attempt to start kded4.

Backtrace:

Application: KDE Daemon (kded4), signal SIGABRT
[Thread debugging using libthread_db enabled]
[New Thread 0xb64e9700 (LWP 3845)]
[KCrash handler]
#6  0xb800c424 in __kernel_vsyscall ()
#7  0xb686e720 in raise () from /lib/libc.so.6
#8  0xb6870058 in abort () from /lib/libc.so.6
#9  0xb756b965 in qt_message_output () from /usr/lib/libQtCore.so.4
#10 0xb756ba17 in qFatal () from /usr/lib/libQtCore.so.4
#11 0xb756baa6 in qt_assert () from /usr/lib/libQtCore.so.4
#12 0xb4c10823 in KdedGlobalAccel::setShortcut (this=0x8d9f2b0, 
    actionId=@0x8d3e2c8, keys=@0x8e09da8, flags=<value optimized out>)
    at /home/jan/Dev/kdemod-core/work/kdelibs/src/kdelibs-4.1.1/kdeui/shortcuts/kdedglobalaccel.cpp:412
#13 0xb4c10a25 in KdedGlobalAccelAdaptor::qt_metacall (this=0x8da7f50, 
    _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbfc266ac)
    at /home/jan/Dev/kdemod-core/work/kdelibs/src/kdelibs-4.1.1/kdeui/shortcuts/kdedglobalaccel_adaptor.h:76
#14 0xb72a92e7 in ?? () from /usr/lib/libQtDBus.so.4
#15 0x08da7f50 in ?? ()
#16 0x00000000 in ?? ()
#0  0xb800c424 in __kernel_vsyscall ()
Comment 2 Alex Merry 2008-09-30 20:09:11 UTC
It looks like the same bug, although I only get it on login, and kded4 then seems to restart itself without a problem (apart from global shortcuts no longer working).
Comment 3 Michael Jansen 2008-10-01 01:47:47 UTC
I added some debug output to kded4. I changed some code too. So please update to at least version 866476 and try again.

If the crash still happens i would need the output from kded from .xsession-errors or wherever your distro pipes it. It's debug area "(KGlobalAccel)". 

Sorry i can't reproduce so we have to do it this way.

Mike
Comment 4 jofko 2008-10-01 11:06:48 UTC
Hi Mike,

will be this patch backported to 4.1.x?

thanks
Comment 5 Michael Jansen 2008-10-01 12:44:24 UTC
If it helps. But i currently have no feedback. Did it help?

Mike
Comment 6 Alex Merry 2008-10-01 20:14:32 UTC
Created attachment 27642 [details]
Log of KGlobalAccel messages from kded

The crash is caused by Amarok.  When I stopped Amarok from starting at login, there was no crash.  Starting Amarok separately crashed kded.

Attached is the log.
Comment 7 jofko 2008-10-01 21:30:39 UTC
i can confirm this. When amarok is not running kded4 will start without problems.
starting amarok2 will lead to crash of kded4.

Comment 8 Michael Jansen 2008-10-01 21:40:52 UTC
Please update to r866736 . The problem was an incorrect kglobalshortcutsrc file. It contained the same global shortcut twice. The code loading it didn't handled that case.

next=Meta+B,Meta+B,                                                         
nextTrack=Meta+B,Meta+B,                                  

Don't know how that happens but it happened.
Comment 9 Alex Merry 2008-10-02 00:11:14 UTC
I can confirm that it's fixed in latest trunk.
Comment 10 Mark Kretschmann 2008-10-09 09:27:13 UTC
*** Bug 172435 has been marked as a duplicate of this bug. ***
Comment 11 David Faure 2008-10-10 10:14:29 UTC
*** Bug 172254 has been marked as a duplicate of this bug. ***
Comment 12 David Faure 2008-10-10 10:16:01 UTC
*** Bug 172496 has been marked as a duplicate of this bug. ***
Comment 13 Markus Sammallahti 2008-10-10 18:25:46 UTC
*** Bug 172412 has been marked as a duplicate of this bug. ***
Comment 14 Tommi Tervo 2008-10-10 18:35:26 UTC
*** Bug 172526 has been marked as a duplicate of this bug. ***
Comment 15 David Faure 2008-10-10 22:22:08 UTC
*** Bug 172428 has been marked as a duplicate of this bug. ***
Comment 16 David Faure 2008-10-10 22:24:52 UTC
*** Bug 172455 has been marked as a duplicate of this bug. ***
Comment 17 David Faure 2008-10-13 11:55:14 UTC
*** Bug 172537 has been marked as a duplicate of this bug. ***
Comment 18 David Faure 2008-10-13 11:57:30 UTC
*** Bug 172316 has been marked as a duplicate of this bug. ***
Comment 19 David Faure 2008-10-14 12:07:25 UTC
*** Bug 172783 has been marked as a duplicate of this bug. ***
Comment 20 Pino Toscano 2008-10-16 19:48:56 UTC
*** Bug 172917 has been marked as a duplicate of this bug. ***
Comment 21 Pino Toscano 2008-10-17 21:41:30 UTC
*** Bug 173009 has been marked as a duplicate of this bug. ***
Comment 22 George Goldberg 2008-10-18 17:35:51 UTC
*** Bug 172597 has been marked as a duplicate of this bug. ***
Comment 23 George Goldberg 2008-10-18 17:36:09 UTC
*** Bug 172600 has been marked as a duplicate of this bug. ***
Comment 24 George Goldberg 2008-10-18 17:36:42 UTC
*** Bug 170918 has been marked as a duplicate of this bug. ***
Comment 25 jofko 2008-10-18 19:32:37 UTC
I think this link should be helpfull for others:

http://lists.kde.org/?l=amarok&m=122312836413611&w=2

Comment 26 Tommi Tervo 2008-10-22 09:24:27 UTC
*** Bug 173270 has been marked as a duplicate of this bug. ***
Comment 27 Pino Toscano 2008-11-02 15:37:13 UTC
*** Bug 174099 has been marked as a duplicate of this bug. ***
Comment 28 upcroft 2009-02-27 11:34:28 UTC
After adding a global shortcut (Alt-Space) to the kickoff application launcher ("K" button), kded4 crashed the next time I logged in (i.e. when kded4 was restarted). I added the shortcut by right clicking on the "K" and then clicking on "Application Launcher Settings" in the menu. There was no warning that this global shortcut was already being used by some other application but I assume it is as kded4 crashes in the same manner as reported above. Changing the shortcut stopped kded4 crashing.

System details:
Kubuntu Intrepid 8.10
KDE 4.2.0