Bug 199894 - Task manager grouping crashes plasma when adding/removing windows
Summary: Task manager grouping crashes plasma when adding/removing windows
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Plasma
Component: widget-taskbar (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
: 202827 203026 207013 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-07-12 17:43 UTC by Nikola Kovacs
Modified: 2009-09-11 16:43 UTC (History)
5 users (show)

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 Nikola Kovacs 2009-07-12 17:43:11 UTC
Application that crashed: plasma-desktop
Version of the application: 0.3
KDE Version: 4.2.96 (KDE 4.2.96 (KDE 4.3 RC2))
Qt Version: 4.5.0
Operating System: Linux 2.6.28-13-generic x86_64
Distribution: Ubuntu 9.04

What I was doing when the application crashed:
I opened several windows on desktop 1 to trigger grouping, and a single window on desktop 2. Then I started switching between desktops. My task manager is set to only show windows from the active desktop, so switching results in a lot of windows being added and removed. Eventually, plasma-desktop crashes. Apologies for the incomplete backtrace, when I installed the debug packages, plasma crashed on startup.

 -- Backtrace:
Application: Plasma Workspace (plasma-desktop), signal: Segmentation fault
[Current thread is 0 (LWP 9222)]

Thread 2 (Thread 0x7f55c1361950 (LWP 9223)):
#0  0x00007f55df0352e9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f55e288a939 in QWaitCondition::wait (this=0x2317000, mutex=0x2316ff8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007f55e5e4f4cc in QHostInfoAgent::run (this=0x2316fe0) at kernel/qhostinfo.cpp:260
#3  0x00007f55e2889952 in QThreadPrivate::start (arg=0x2316fe0) at thread/qthread_unix.cpp:189
#4  0x00007f55df0313ba in start_thread () from /lib/libpthread.so.0
#5  0x00007f55e1de6fcd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f55e7444790 (LWP 9222)):
[KCrash Handler]
#5  0x00007f55caa1bd00 in TaskManager::TaskGroup::members () from /usr/lib/libtaskmanager.so.4
#6  0x00007f55caa0ec7a in ?? () from /usr/lib/libtaskmanager.so.4
#7  0x00007f55caa0eb4b in ?? () from /usr/lib/libtaskmanager.so.4
#8  0x00007f55e29881f2 in QMetaObject::activate (sender=0x217fa70, from_signal_index=<value optimized out>, to_signal_index=21, argv=0x11) at kernel/qobject.cpp:3069
#9  0x00007f55caa1bcaf in TaskManager::TaskGroup::itemAdded () from /usr/lib/libtaskmanager.so.4
#10 0x00007f55caa1c80b in TaskManager::TaskGroup::add () from /usr/lib/libtaskmanager.so.4
#11 0x00007f55caa02c20 in TaskManager::AbstractGroupingStrategy::closeGroup () from /usr/lib/libtaskmanager.so.4
#12 0x00007f55caa09f88 in ?? () from /usr/lib/libtaskmanager.so.4
#13 0x00007f55caa0ae0d in ?? () from /usr/lib/libtaskmanager.so.4
#14 0x00007f55e29881f2 in QMetaObject::activate (sender=0x2b9fb80, from_signal_index=<value optimized out>, to_signal_index=22, argv=0x11) at kernel/qobject.cpp:3069
#15 0x00007f55caa1bc72 in TaskManager::TaskGroup::itemRemoved () from /usr/lib/libtaskmanager.so.4
#16 0x00007f55caa1c591 in TaskManager::TaskGroup::remove () from /usr/lib/libtaskmanager.so.4
#17 0x00007f55caa05aa4 in ?? () from /usr/lib/libtaskmanager.so.4
#18 0x00007f55caa05fde in ?? () from /usr/lib/libtaskmanager.so.4
#19 0x00007f55caa07262 in TaskManager::GroupManager::qt_metacall () from /usr/lib/libtaskmanager.so.4
#20 0x00007f55e29881f2 in QMetaObject::activate (sender=0x15541b8, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x11) at kernel/qobject.cpp:3069
#21 0x00007f55e29824d3 in QObject::event (this=0x15541b8, e=0x0) at kernel/qobject.cpp:1082
#22 0x00007f55e30b778d in QApplicationPrivate::notify_helper (this=0x1047e00, receiver=0x15541b8, e=0x7fffef58a360) at kernel/qapplication.cpp:4084
#23 0x00007f55e30bf97a in QApplication::notify (this=0x1036cf0, receiver=0x15541b8, e=0x7fffef58a360) at kernel/qapplication.cpp:4049
#24 0x00007f55e578763b in KApplication::notify () from /usr/lib/libkdeui.so.5
#25 0x00007f55e297275c in QCoreApplication::notifyInternal (this=0x1036cf0, receiver=0x15541b8, event=0x7fffef58a360) at kernel/qcoreapplication.cpp:602
#26 0x00007f55e299f7f6 in QTimerInfoList::activateTimers (this=0x104b4c0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#27 0x00007f55e299bf0d in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:164
#28 0x00007f55dd40120a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#29 0x00007f55dd4048e0 in ?? () from /usr/lib/libglib-2.0.so.0
#30 0x00007f55dd404a7c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#31 0x00007f55e299be6f in QEventDispatcherGlib::processEvents (this=0x101ee70, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:323
#32 0x00007f55e314fbef in QGuiEventDispatcherGlib::processEvents (this=0x7fffef5896b0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#33 0x00007f55e2971002 in QEventLoop::processEvents (this=<value optimized out>, flags={i = -279403056}) at kernel/qeventloop.cpp:149
#34 0x00007f55e29713cd in QEventLoop::exec (this=0x7fffef58a610, flags={i = -279402976}) at kernel/qeventloop.cpp:200
#35 0x00007f55e2973694 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880
#36 0x00007f55e71226bb in kdemain () from /usr/lib/libkdeinit4_plasma-desktop.so
#37 0x00007f55e1d1f5a6 in __libc_start_main () from /lib/libc.so.6
#38 0x00000000004007c9 in _start ()

This bug may be a duplicate of or related to bug 197717

Reported using DrKonqi
Comment 1 Anne-Marie Mahfouf 2009-07-12 18:57:18 UTC

*** This bug has been marked as a duplicate of bug 197717 ***
Comment 2 Nikola Kovacs 2009-07-12 19:39:56 UTC
I'm using 4.3 rc2, and bug 197717 was fixed in rc2, so either this isn't a duplicate, or 197717 isn't fixed.
Comment 3 Simon St James 2009-07-14 13:15:19 UTC
@Nikola,

Please provide a good backtrace by following the steps here:

http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports

This will help us to classify the bug.  Thanks!
Comment 4 Nikola Kovacs 2009-07-14 13:21:46 UTC
Is this better?

Application: Plasma Workspace (kdeinit4), signal: Segmentation fault
[Current thread is 0 (LWP 4757)]

Thread 2 (Thread 0x7ffb233d9950 (LWP 4758)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007ffb4905b939 in QWaitCondition::wait (this=0x1e00fc0, mutex=0x1e00fb8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007ffb47ed74cc in QHostInfoAgent::run (this=0x1e00fa0) at kernel/qhostinfo.cpp:260
#3  0x00007ffb4905a952 in QThreadPrivate::start (arg=0x1e00fa0) at thread/qthread_unix.cpp:189
#4  0x00007ffb44edb3ba in start_thread (arg=<value optimized out>) at pthread_create.c:297
#5  0x00007ffb45abffcd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffb4961b750 (LWP 4757)):
[KCrash Handler]
#5  TaskManager::TaskGroup::members (this=0x0) at /usr/include/qt4/QtCore/qlist.h:111
#6  0x00007ffb2c840c7a in TaskManager::ManualSortingStrategy::handleItem (this=0x1c0b380, item=0x3b8c880)
    at /build/buildd/kdebase-workspace-4.2.96/libs/taskmanager/strategies/manualsortingstrategy.cpp:151
#7  0x00007ffb2c840b4b in TaskManager::ManualSortingStrategy::qt_metacall (this=0x1c0b380, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff516593d0)
    at /build/buildd/kdebase-workspace-4.2.96/obj-x86_64-linux-gnu/libs/taskmanager/manualsortingstrategy.moc:67
#8  0x00007ffb491591f2 in QMetaObject::activate (sender=0x1c84550, from_signal_index=<value optimized out>, to_signal_index=21, argv=0x11) at kernel/qobject.cpp:3069
#9  0x00007ffb2c84dcaf in TaskManager::TaskGroup::itemAdded (this=0x7fff51659270, _t1=0x3b8c880) at /build/buildd/kdebase-workspace-4.2.96/obj-x86_64-linux-gnu/libs/taskmanager/taskgroup.moc:139
#10 0x00007ffb2c84e80b in TaskManager::TaskGroup::add (this=0x1c84550, item=0x3b8c880) at /build/buildd/kdebase-workspace-4.2.96/libs/taskmanager/taskgroup.cpp:138
#11 0x00007ffb2c834c20 in TaskManager::AbstractGroupingStrategy::closeGroup (this=0x3b0f030, group=0x3b8fcf0)
    at /build/buildd/kdebase-workspace-4.2.96/libs/taskmanager/abstractgroupingstrategy.cpp:168
#12 0x00007ffb2c83bf88 in TaskManager::ProgramGroupingStrategy::checkGroup (this=0x3b0f030) at /build/buildd/kdebase-workspace-4.2.96/libs/taskmanager/strategies/programgroupingstrategy.cpp:204
#13 0x00007ffb2c83ce0d in TaskManager::ProgramGroupingStrategy::qt_metacall (this=0x3b0f030, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=<value optimized out>)
    at /build/buildd/kdebase-workspace-4.2.96/obj-x86_64-linux-gnu/libs/taskmanager/programgroupingstrategy.moc:68
#14 0x00007ffb491591f2 in QMetaObject::activate (sender=0x3b8fcf0, from_signal_index=<value optimized out>, to_signal_index=22, argv=0x11) at kernel/qobject.cpp:3069
#15 0x00007ffb2c84dc72 in TaskManager::TaskGroup::itemRemoved (this=0x7fff51659270, _t1=0x3b43850) at /build/buildd/kdebase-workspace-4.2.96/obj-x86_64-linux-gnu/libs/taskmanager/taskgroup.moc:146
#16 0x00007ffb2c84e591 in TaskManager::TaskGroup::remove (this=0x3b8fcf0, item=0x3b43850) at /build/buildd/kdebase-workspace-4.2.96/libs/taskmanager/taskgroup.cpp:182
#17 0x00007ffb2c837aa4 in TaskManager::GroupManagerPrivate::removeTask (this=0x1065740, task={d = 0x7fff516596f0}) at /build/buildd/kdebase-workspace-4.2.96/libs/taskmanager/groupmanager.cpp:311
#18 0x00007ffb2c837fde in TaskManager::GroupManagerPrivate::actuallyReloadTasks (this=0x1065740) at /build/buildd/kdebase-workspace-4.2.96/libs/taskmanager/groupmanager.cpp:164
#19 0x00007ffb2c839262 in TaskManager::GroupManager::qt_metacall (this=0xf711d0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff51659870)
    at /build/buildd/kdebase-workspace-4.2.96/obj-x86_64-linux-gnu/libs/taskmanager/groupmanager.moc:108
#20 0x00007ffb491591f2 in QMetaObject::activate (sender=0x10657a8, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x11) at kernel/qobject.cpp:3069
#21 0x00007ffb491534d3 in QObject::event (this=0x10657a8, e=0x0) at kernel/qobject.cpp:1082
#22 0x00007ffb466cc78d in QApplicationPrivate::notify_helper (this=0xb58780, receiver=0x10657a8, e=0x7fff51659f20) at kernel/qapplication.cpp:4084
#23 0x00007ffb466d497a in QApplication::notify (this=0xb19910, receiver=0x10657a8, e=0x7fff51659f20) at kernel/qapplication.cpp:4049
#24 0x00007ffb4780f63b in KApplication::notify (this=0xb19910, receiver=0x10657a8, event=0x7fff51659f20) at /build/buildd/kde4libs-4.2.96/kdeui/kernel/kapplication.cpp:302
#25 0x00007ffb4914375c in QCoreApplication::notifyInternal (this=0xb19910, receiver=0x10657a8, event=0x7fff51659f20) at kernel/qcoreapplication.cpp:602
#26 0x00007ffb491707f6 in QTimerInfoList::activateTimers (this=0xb5bc80) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#27 0x00007ffb4916cf0d in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:164
#28 0x00007ffb4512a20a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#29 0x00007ffb4512d8e0 in ?? () from /usr/lib/libglib-2.0.so.0
#30 0x00007ffb4512da7c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#31 0x00007ffb4916ce6f in QEventDispatcherGlib::processEvents (this=0xb582b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:323
#32 0x00007ffb46764bef in QGuiEventDispatcherGlib::processEvents (this=0x7fff51659270, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#33 0x00007ffb49142002 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 1365614992}) at kernel/qeventloop.cpp:149
#34 0x00007ffb491423cd in QEventLoop::exec (this=0x7fff5165a1d0, flags={i = 1365615072}) at kernel/qeventloop.cpp:200
#35 0x00007ffb49144694 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880
#36 0x00007ffb3cff96bb in kdemain (argc=1, argv=0xb0ce40) at /build/buildd/kdebase-workspace-4.2.96/plasma/shells/desktop/main.cpp:50
#37 0x0000000000407215 in launch (argc=1, _name=0xb0ce68 "/usr/bin/plasma-desktop", args=<value optimized out>, cwd=0x0, envc=0, envs=0xb0ce88 "", reset_env=false, tty=0x0, avoid_loops=false, 
    startup_id_str=0x40a3c9 "0") at /build/buildd/kde4libs-4.2.96/kinit/kinit.cpp:676
#38 0x0000000000407a38 in handle_launcher_request (sock=7, who=<value optimized out>) at /build/buildd/kde4libs-4.2.96/kinit/kinit.cpp:1168
#39 0x0000000000407fe5 in handle_requests (waitForPid=0) at /build/buildd/kde4libs-4.2.96/kinit/kinit.cpp:1361
#40 0x0000000000408b26 in main (argc=2, argv=0x7fff5165b078, envp=0x7fff5165b090) at /build/buildd/kde4libs-4.2.96/kinit/kinit.cpp:1788
Comment 5 Simon St James 2009-07-14 13:35:27 UTC
Hi Nikola,

That's great, thanks! This seems to be a different bug, where

item->parentGroup()

is NULL in ManualSortingStrategy::handleItem(...).  There's a Q_ASSERT that checks for this but I guess this is disarmed in Kubuntu's packages.  I'll re-open this for now, unless it turns out to be a dupe of another bug ;)
Comment 6 Nikola Kovacs 2009-07-14 16:41:29 UTC
I forgot to mention in the description that I have sorting set to manual. I tried the other sorting options now, and I was unable to reproduce the crash, so it seems this only happens when both manual sorting and grouping are selected. Could you please modify the bug title to reflect this? Thanks.
Comment 7 Aaron J. Seigo 2009-08-06 01:10:23 UTC
SVN commit 1007554 by aseigo:

backport  r1007552:  don't assert, check the member. it can be 0.
BUG:199894


 M  +1 -2      manualsortingstrategy.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1007554
Comment 8 Dario Andres 2009-08-08 15:46:18 UTC
*** Bug 203026 has been marked as a duplicate of this bug. ***
Comment 9 Dario Andres 2009-09-11 16:43:52 UTC
*** Bug 207013 has been marked as a duplicate of this bug. ***
Comment 10 Dario Andres 2009-09-11 16:43:54 UTC
*** Bug 202827 has been marked as a duplicate of this bug. ***