Bug 238992

Summary: opening system-tray settings freezes plasma-desktop
Product: [Plasma] plasma4 Reporter: Marc Schiffbauer <mschiff>
Component: widget-systemtrayAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED UPSTREAM    
Severity: crash CC: alex.merry, aseigo, asraniel, kde, mail
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description Marc Schiffbauer 2010-05-27 11:52:29 UTC
Application: plasma-desktop (0.3)
KDE Platform Version: 4.4.80 (KDE 4.4.80 (KDE 4.5 Beta1)) (Compiled from sources)
Qt Version: 4.6.2
Operating System: Linux 2.6.34-gentoo x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
- What I was doing when the application crashed:

I right clicked the systray and opened its settings. Plasma-desktop and the settings dialog freeze for some time. Then plasma-dekstop crashed...

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma-Arbeitsfläche (kdeinit4), signal: Segmentation fault
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.2200.5-gdb.py", line 9, in <module>
    from gobject import register
  File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module>
    import gdb.backtrace
ImportError: No module named backtrace
[KCrash Handler]
#6  0x00007f06eaf73219 in SystemTray::Task::widget(Plasma::Applet*, bool) () from /usr/lib64/kde4/plasma_applet_systemtray.so
#7  0x00007f06eaf84b52 in SystemTray::TaskArea::removeTask(SystemTray::Task*) () from /usr/lib64/kde4/plasma_applet_systemtray.so
#8  0x00007f06eaf85bee in SystemTray::TaskArea::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/kde4/plasma_applet_systemtray.so
#9  0x00007f0707f3f01f in QMetaObject::activate (sender=0x2796f80, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffb72945b0) at kernel/qobject.cpp:3285
#10 0x00007f0707f467df in QSingleShotTimer::timerEvent (this=0x2796f80) at kernel/qtimer.cpp:308
#11 0x00007f0707f3bc93 in QObject::event (this=0x2796f80, e=0xc20770) at kernel/qobject.cpp:1204
#12 0x00007f070729bab8 in QApplicationPrivate::notify_helper (this=0x6c3480, receiver=0x2796f80, e=0x7fffb7294d00) at kernel/qapplication.cpp:4300
#13 0x00007f070729d665 in QApplication::notify (this=0x6ac300, receiver=0x2796f80, e=0x7fffb7294d00) at kernel/qapplication.cpp:4183
#14 0x00007f0708b818e6 in KApplication::notify (this=0x6ac300, receiver=0x2796f80, event=0x7fffb7294d00)
    at /var/tmp/portage/kde-base/kdelibs-4.4.80/work/kdelibs-4.4.80/kdeui/kernel/kapplication.cpp:302
#15 0x00007f0707f2c32b in QCoreApplication::notifyInternal (this=0x6ac300, receiver=0x2796f80, event=0x7fffb7294d00) at kernel/qcoreapplication.cpp:704
#16 0x00007f0707f58b62 in QCoreApplication::sendEvent (this=0x6c69f0) at kernel/qcoreapplication.h:215
#17 QTimerInfoList::activateTimers (this=0x6c69f0) at kernel/qeventdispatcher_unix.cpp:603
#18 0x00007f0707f559f4 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#19 0x00007f0703c20377 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#20 0x00007f0703c22227 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#21 0x00007f0703c2230a in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#22 0x00007f0707f556e3 in QEventDispatcherGlib::processEvents (this=0x6c31e0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#23 0x00007f070731ecae in QGuiEventDispatcherGlib::processEvents (this=0x1b808c48348, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#24 0x00007f0707f2ac82 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#25 0x00007f0707f2b054 in QEventLoop::exec (this=0x7fffb7294f70, flags=) at kernel/qeventloop.cpp:201
#26 0x00007f0707f2ed3b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#27 0x00007f06faa0c600 in kdemain () from /usr/lib64/libkdeinit4_plasma-desktop.so
#28 0x0000000000406489 in launch (argc=1, _name=0x683878 "/usr/bin/plasma-desktop", args=<value optimized out>, cwd=<value optimized out>, envc=<value optimized out>, envs=<value optimized out>, 
    reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x408dda "0") at /var/tmp/portage/kde-base/kdelibs-4.4.80/work/kdelibs-4.4.80/kinit/kinit.cpp:715
#29 0x0000000000406a2a in handle_launcher_request (sock=8, who=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.4.80/work/kdelibs-4.4.80/kinit/kinit.cpp:1207
#30 0x00000000004073a7 in handle_requests (waitForPid=0) at /var/tmp/portage/kde-base/kdelibs-4.4.80/work/kdelibs-4.4.80/kinit/kinit.cpp:1400
#31 0x00000000004081ac in main (argc=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>)
    at /var/tmp/portage/kde-base/kdelibs-4.4.80/work/kdelibs-4.4.80/kinit/kinit.cpp:1848

Reported using DrKonqi
Comment 1 Andreas Kuhl 2010-05-30 12:12:28 UTC
I can confirm this for openSUSE packages 4.4.81, happens to me every time. Could this be possibly related to bug 239925?
Comment 2 Andreas Kuhl 2010-05-30 12:23:13 UTC
Ok, looked into the source: The tray settings use KCategorizedView and I checked another application which also uses KCategorizedView (Amarok script manager) which also freezes. This seems to be a dupe of bug 239925.
Comment 3 Andreas Kuhl 2010-05-30 14:17:26 UTC
Updated to latest Qt 4.7 alpha build and the problem seems fixed now. So this may be related to Qt 4.6.x
Comment 4 Nicolas L. 2010-06-02 14:59:16 UTC
*** Bug 240455 has been marked as a duplicate of this bug. ***
Comment 5 Nicolas L. 2010-06-02 14:59:47 UTC
Thread 1 (Thread 0x7fbb46783760 (LWP 4849)):
[KCrash Handler]
#6  0x00007fbb29845f7c in SystemTray::Task::widget (this=0x1b808c48348,
host=0x294e9c0, createIfNecessary=false)
    at
/home/kde-devel/src/KDE/kdebase/workspace/plasma/generic/applets/systemtray/core/task.cpp:71
#7  0x00007fbb29869343 in SystemTray::TaskArea::removeTask (this=0x297eb70,
task=0x1b808c48348) at
/home/kde-devel/src/KDE/kdebase/workspace/plasma/generic/applets/systemtray/ui/taskarea.cpp:365
#8  0x00007fbb2986a784 in SystemTray::TaskArea::qt_metacall (this=0x297eb70,
_c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fff2e39eee0)
    at
/home/kde-devel/build/KDE/kdebase/workspace/plasma/generic/applets/systemtray/taskarea.moc:89
#9  0x00007fbb450f1a8f in QMetaObject::activate (sender=0x3a0fed0, m=<value
optimized out>, local_signal_index=<value optimized out>, argv=0x294e9c0) at
kernel/qobject.cpp:3293
#10 0x00007fbb450f92ff in QSingleShotTimer::timerEvent (this=0x3a0fed0) at
kernel/qtimer.cpp:308
#11 0x00007fbb450ee6b3 in QObject::event (this=0x3a0fed0, e=0x7fff2e39f680) at
kernel/qobject.cpp:1212
#12 0x00007fbb4402298c in QApplicationPrivate::notify_helper (this=0x2365320,
receiver=0x3a0fed0, e=0x7fff2e39f680) at kernel/qapplication.cpp:4304
#13 0x00007fbb44028e5b in QApplication::notify (this=0x234e7a0,
receiver=0x3a0fed0, e=0x7fff2e39f680) at kernel/qapplication.cpp:4187
#14 0x00007fbb4610a3c3 in KApplication::notify (this=0x234e7a0,
receiver=0x3a0fed0, event=0x7fff2e39f680) at
/home/kde-devel/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#15 0x00007fbb450ded5c in QCoreApplication::notifyInternal (this=0x234e7a0,
receiver=0x3a0fed0, event=0x7fff2e39f680) at kernel/qcoreapplication.cpp:704
#16 0x00007fbb4510b9b2 in QCoreApplication::sendEvent (this=0x2368b70) at
../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#17 QTimerInfoList::activateTimers (this=0x2368b70) at
kernel/qeventdispatcher_unix.cpp:603
#18 0x00007fbb451084c4 in timerSourceDispatch (source=<value optimized out>) at
kernel/qeventdispatcher_glib.cpp:184
#19 0x00007fbb4001cb33 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#20 0x00007fbb4001d310 in g_main_context_iterate () from
/usr/lib/libglib-2.0.so.0
#21 0x00007fbb4001d5ad in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#22 0x00007fbb451081b3 in QEventDispatcherGlib::processEvents (this=0x2365050,
flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#23 0x00007fbb440d153e in QGuiEventDispatcherGlib::processEvents
(this=0x1b808c48348, flags=<value optimized out>) at
kernel/qguieventdispatcher_glib.cpp:204
#24 0x00007fbb450dd682 in QEventLoop::processEvents (this=<value optimized
out>, flags=) at kernel/qeventloop.cpp:149
#25 0x00007fbb450dda5c in QEventLoop::exec (this=0x7fff2e39f900, flags=) at
kernel/qeventloop.cpp:201
#26 0x00007fbb450e179b in QCoreApplication::exec () at
kernel/qcoreapplication.cpp:981
#27 0x00007fbb37d03286 in kdemain (argc=1, argv=0x22ad400) at
/home/kde-devel/src/KDE/kdebase/workspace/plasma/desktop/shell/main.cpp:118
#28 0x0000000000406a9c in launch (argc=1, _name=0x2335f48
"/home/kde-devel/kde/bin/plasma-desktop", args=0x2335f6f "", cwd=0x0, envc=0,
envs=0x2335f77 "", reset_env=false, tty=0x0, 
    avoid_loops=false, startup_id_str=0x40c0b5 "0") at
/home/kde-devel/src/KDE/kdelibs/kinit/kinit.cpp:722
#29 0x0000000000407bc3 in handle_launcher_request (sock=8, who=0x40c34c
"launcher") at /home/kde-devel/src/KDE/kdelibs/kinit/kinit.cpp:1214
#30 0x0000000000408477 in handle_requests (waitForPid=0) at
/home/kde-devel/src/KDE/kdelibs/kinit/kinit.cpp:1407
#31 0x0000000000409a7f in main (argc=4, argv=0x7fff2e3a06f8,
envp=0x7fff2e3a0720) at /home/kde-devel/src/KDE/kdelibs/kinit/kinit.cpp:1855
Comment 6 Andreas Kuhl 2010-06-02 15:04:12 UTC
I can prevent the crash by unlocking the widgets first. Can you confirm?
Comment 7 Aaron J. Seigo 2010-06-02 19:41:55 UTC
with widgets locked, i can reproduce it. and yes, the backtrace i get is in Qt via KCategorizedItemView ... ugh.
Comment 8 Marc Schiffbauer 2010-06-03 01:36:19 UTC
I am not at this particular machine right now, but the *freeze* appears no matter if widgets are locked or not.