Bug 159167 - pk-update-icon from gnome-package-kit kills plasma on login
Summary: pk-update-icon from gnome-package-kit kills plasma on login
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
: 158177 159351 (view as bug list)
Depends on:
Reported: 2008-03-11 23:43 UTC by Sebastian Vahl
Modified: 2008-03-18 20:36 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:

gdb output of plasma crash (23.99 KB, text/plain)
2008-03-12 19:08 UTC, Sebastian Vahl

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian Vahl 2008-03-11 23:43:14 UTC
Version:            (using KDE 4.0.2)
Installed from:    Fedora RPMs
Compiler:          gcc-4.3.0 
OS:                Linux

gnome-package-kit is a package which provides some graphical fronteds to the new package installation tool PackageKit. [1] In Fedora this would be the default tool in Fedora 9 Beta (and will replace the former used pup/pirut). However, gnome-package-kit contains a gtk application to monitor updates in systray. If I try to start this by copying the desktop file to /etc/xdg/autostart plasma will crash right after the login. This is the created backtrace:

[Thread debugging using libthread_db enabled] 
[New Thread 0xb7fc2720 (LWP 15829)] 
[New Thread 0xb68fcb90 (LWP 15830)] 
Getting all the debuginfos: debuginfo-install kdebase-workspace 
[KCrash handler] 
#6  XVisualIDFromVisual (visual=0xa0bb540) at Misc.c:61 
#7  0x0108976f in QWidget::create (this=0xa054e10, window=27263196, 
    initializeWindow=131, destroyOldWindow=<value optimized out>) 
    at kernel/qwidget.cpp:1100 
#8  0x01a5b512 in SystemTrayContainer::prepareFor (this=0xa054e10, w=18874371) 
    at /usr/src/debug/kdebase-workspace-4.0.2/plasma/applets/systemtray/systemtraycontainer.cpp:94 
#9  0x01a5b6c8 in SystemTrayContainer (this=0xa054e10, clientId=18874371, 
    at /usr/src/debug/kdebase-workspace-4.0.2/plasma/applets/systemtray/systemtraycontainer.cpp:38 
#10 0x01a5c1e4 in SystemTrayWidget::x11Event (this=0xa071ef8, 
    at /usr/src/debug/kdebase-workspace-4.0.2/plasma/applets/systemtray/systemtraywidget.cpp:91 
#11 0x0109e363 in QApplication::x11ProcessEvent (this=0x9f30fa0, 
    event=0xbf8e7d2c) at kernel/qapplication_x11.cpp:2855 
#12 0x010c4b3c in x11EventSourceDispatch (s=0x9f32d38, callback=0, 
    user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:142 
#13 0x0415a068 in IA__g_main_context_dispatch (context=0x9f32298) 
    at gmain.c:2003 
#14 0x0415d713 in g_main_context_iterate (context=0x9f32298, block=1, 
    dispatch=1, self=0x9f16088) at gmain.c:2636 
#15 0x0415d8d1 in IA__g_main_context_iteration (context=0x9f32298, 
    may_block=1) at gmain.c:2699 
#16 0x00e66d82 in QEventDispatcherGlib::processEvents (this=0x9f2a8e8, flags= 
      {i = -1081180456}) at kernel/qeventdispatcher_glib.cpp:345 
#17 0x010c42c5 in QGuiEventDispatcherGlib::processEvents (this=0x9f2a8e8, 
    flags={i = -1081180400}) at kernel/qguieventdispatcher_glib.cpp:198 
#18 0x00e43922 in QEventLoop::processEvents (this=0xbf8e7f70, flags= 
      {i = -1081180344}) at kernel/qeventloop.cpp:147 
#19 0x00e43b12 in QEventLoop::exec (this=0xbf8e7f70, flags={i = -1081180296}) 
    at kernel/qeventloop.cpp:189 
#20 0x00e46e4d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:766 
#21 0x010457a7 in QApplication::exec () at kernel/qapplication.cpp:3060 
#22 0x00139981 in kdemain (argc=1, argv=0xbf8e8144) 
    at /usr/src/debug/kdebase-workspace-4.0.2/plasma/plasma/main.cpp:54 
#23 0x08048792 in main (argc=0, argv=0x0) 
    at /usr/src/debug/kdebase-workspace-4.0.2/i386-redhat-linux-gnu/plasma/plasma/plasma-qgv_dummy.cpp:3 
#0  0x00131416 in __kernel_vsyscall ()

If I should provide more infos please let me know.

[1] http://www.packagekit.org
Comment 1 Sebastian Vahl 2008-03-11 23:55:22 UTC
Additional note: currently the desktop file for pk-update-icon contains the entry "NotShowIn=KDE;XFCE;". If I remove this line plasma isn't crashing anymore (at least in my test since then). But IMHO this line should not crash plasma at all.
Comment 2 Lubos Lunak 2008-03-12 16:48:01 UTC
*** Bug 158177 has been marked as a duplicate of this bug. ***
Comment 3 Lubos Lunak 2008-03-12 16:51:54 UTC
I cannot reproduce. And also the backtrace doesn't make sense - QWidget::create() does not call XVisualIDFromVisual() in Qt4. Maybe your distribution has patches for Qt4 that cause this?
Comment 4 Rex Dieter 2008-03-12 16:54:43 UTC
fwiw, Fedora uses (only) qt-copy patches
Comment 5 Lubos Lunak 2008-03-12 17:16:05 UTC
When Plasma crashes next time, please attach gdb to it ("gdb -p <pid>", you can get pid e.g. using "pidof plasma"). Then type repeatedly "up" until you get up to SystemTrayWidget::x11Event. Then please post the whole output from the commands.
Comment 6 Sebastian Vahl 2008-03-12 19:08:57 UTC
Created attachment 23881 [details]
gdb output  of plasma crash
Comment 7 Sebastian Vahl 2008-03-12 19:10:01 UTC
Comment on attachment 23881 [details]
gdb output  of plasma crash

pidof plasma gave me three pids, but only one of them was useful to get the
requestet information about SystemTrayWidget::x11Event. I've attached the whole
output of gdb in an attachement.
Comment 8 Lubos Lunak 2008-03-13 12:45:07 UTC
SVN commit 785140 by lunakl:

Check whether the to-be-embedded window has been destroyed meanwhile.
BUG: 159167

 M  +8 -3      systemtraycontainer.cpp  
 M  +1 -1      systemtraycontainer.h  

WebSVN link: http://websvn.kde.org/?view=rev&revision=785140
Comment 9 Aaron J. Seigo 2008-03-18 20:31:55 UTC
*** Bug 159351 has been marked as a duplicate of this bug. ***
Comment 10 Rex Dieter 2008-03-18 20:36:12 UTC
confirmed patch works as advertised, thanks!