Bug 324218 - Crash on desktop/activity switch
Summary: Crash on desktop/activity switch
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Plasma
Component: widget-taskbar (show other bugs)
Version: 4.11.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
: 324887 327436 327563 327752 328297 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-08-29 11:24 UTC by evgeny
Modified: 2013-12-10 09:48 UTC (History)
11 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.11.3


Attachments
Here is my valgrind log. (69.72 KB, text/plain)
2013-09-02 15:18 UTC, evgeny
Details
New crash information added by DrKonqi (9.32 KB, text/plain)
2013-09-02 16:03 UTC, thunder422
Details
New crash information added by DrKonqi (9.64 KB, text/plain)
2013-09-16 13:14 UTC, Dennis Nienhüser
Details
New crash information added by DrKonqi (5.76 KB, text/plain)
2013-11-10 13:09 UTC, blacia
Details

Note You need to log in before you can comment on or make changes to this bug.
Description evgeny 2013-08-29 11:24:05 UTC
Application: plasma-desktop (4.11.00)
KDE Platform Version: 4.11.00
Qt Version: 4.8.5
Operating System: Linux 3.7.10-1.16-desktop x86_64
Distribution: "openSUSE 12.3 (x86_64)"

-- Information about the crash:
I have 4 desktops and switching between them using win-F1, ..., win-F4. But after update to kde 4.11 I got plasma crash every time I switch desktop. I use opensuse 12.3, with thier kde 4.11 repository.

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma Desktop Shell (plasma-desktop), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fe0b25c67c0 (LWP 3782))]

Thread 5 (Thread 0x7fe092b7b700 (LWP 3783)):
#0  0x00007fe0ae699964 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fe0ab0bdfa7 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fe0ab3cb660 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007fe0ab0bdfd9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007fe0ae695e0f in start_thread () from /lib64/libpthread.so.0
#4  0x00007fe0b1eb27dd in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7fe003a6e700 (LWP 3784)):
#0  0x00007fe0b1ea987d in poll () from /lib64/libc.so.6
#1  0x00007fe0a4e59aa4 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fe0a4e59bc4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fe0aea565d6 in QEventDispatcherGlib::processEvents (this=0x7fdffc0008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#4  0x00007fe0aea26bef in QEventLoop::processEvents (this=this@entry=0x7fe003a6dd90, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fe0aea26e78 in QEventLoop::exec (this=0x7fe003a6dd90, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007fe0ae929110 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:536
#7  0x00007fe0aea073af in QInotifyFileSystemWatcherEngine::run (this=0x1a94df0) at io/qfilesystemwatcher_inotify.cpp:256
#8  0x00007fe0ae92c0ec in QThreadPrivate::start (arg=0x1a94df0) at thread/qthread_unix.cpp:338
#9  0x00007fe0ae695e0f in start_thread () from /lib64/libpthread.so.0
#10 0x00007fe0b1eb27dd in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fdffabd1700 (LWP 3793)):
#0  0x00007fe0ae699d11 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fe0ae92c5a7 in wait (time=30000, this=0x17eda70) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x1b5bd68, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fe0ae91fd8f in QThreadPoolThread::run (this=0x2164bc0) at concurrent/qthreadpool.cpp:141
#4  0x00007fe0ae92c0ec in QThreadPrivate::start (arg=0x2164bc0) at thread/qthread_unix.cpp:338
#5  0x00007fe0ae695e0f in start_thread () from /lib64/libpthread.so.0
#6  0x00007fe0b1eb27dd in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fdff96e6700 (LWP 3794)):
#0  0x00007fe0ae699d11 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fe0ae92c5a7 in wait (time=30000, this=0x17eda70) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x1b5bd68, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fe0ae91fd8f in QThreadPoolThread::run (this=0x13564d0) at concurrent/qthreadpool.cpp:141
#4  0x00007fe0ae92c0ec in QThreadPrivate::start (arg=0x13564d0) at thread/qthread_unix.cpp:338
#5  0x00007fe0ae695e0f in start_thread () from /lib64/libpthread.so.0
#6  0x00007fe0b1eb27dd in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fe0b25c67c0 (LWP 3782)):
[KCrash Handler]
#6  0x00007fe0940e4be7 in TaskManager::TaskGroup::add (this=0x2326120, item=0x1198f80, insertIndex=<optimized out>) at /usr/src/debug/kde-workspace-4.11.0/libs/taskmanager/taskgroup.cpp:221
#7  0x00007fe0940ca356 in TaskManager::GroupManagerPrivate::currentDesktopChanged (this=0x1184930, newDesktop=<optimized out>) at /usr/src/debug/kde-workspace-4.11.0/libs/taskmanager/groupmanager.cpp:511
#8  0x00007fe0940cc6e7 in qt_static_metacall (_a=<optimized out>, _id=<optimized out>, _o=<optimized out>, _c=<optimized out>) at /usr/src/debug/kde-workspace-4.11.0/build/libs/taskmanager/groupmanager.moc:84
#9  TaskManager::GroupManager::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/kde-workspace-4.11.0/build/libs/taskmanager/groupmanager.moc:75
#10 0x00007fe0aea3d44f in QMetaObject::activate (sender=0xc78850, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff0c913e90) at kernel/qobject.cpp:3556
#11 0x00007fe0940eb5b1 in TaskManager::TaskManager::desktopChanged (this=<optimized out>, _t1=2) at /usr/src/debug/kde-workspace-4.11.0/build/libs/taskmanager/taskmanager.moc:214
#12 0x00007fe0940ecd23 in qt_static_metacall (_a=<optimized out>, _id=<optimized out>, _o=<optimized out>, _c=<optimized out>) at /usr/src/debug/kde-workspace-4.11.0/build/libs/taskmanager/taskmanager.moc:106
#13 TaskManager::TaskManager::qt_static_metacall (_o=0x0, _c=18657007, _id=2, _a=0x726567616e616d65) at /usr/src/debug/kde-workspace-4.11.0/build/libs/taskmanager/taskmanager.moc:89
#14 0x00007fe0aea3d44f in QMetaObject::activate (sender=0xb91470, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff0c914060) at kernel/qobject.cpp:3556
#15 0x00007fe0af82fdde in KWindowSystem::currentDesktopChanged (this=this@entry=0xb91470, _t1=2) at /usr/src/debug/kdelibs-4.11.0/build/kdeui/kwindowsystem.moc:135
#16 0x00007fe0af8326a5 in KWindowSystemPrivate::x11Event (this=0xc0dfd0, ev=0x7fff0c914190) at /usr/src/debug/kdelibs-4.11.0/kdeui/windowmanagement/kwindowsystem_x11.cpp:193
#17 0x00007fe0af730f6d in publicX11Event (e=0x7fff0c914190, this=<optimized out>) at /usr/src/debug/kdelibs-4.11.0/kdeui/kernel/ksystemeventfilter.cpp:43
#18 KSystemEventFilterPrivate::filterEvent (this=0xbf3080, message=0x7fff0c914190) at /usr/src/debug/kdelibs-4.11.0/kdeui/kernel/ksystemeventfilter.cpp:102
#19 0x00007fe0aea1a92e in QAbstractEventDispatcher::filterEvent (this=0x0, message=0x11caeef) at kernel/qabstracteventdispatcher.cpp:542
#20 0x00007fe0adc55108 in x11EventSourceDispatch (s=0xa59e70, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:143
#21 0x00007fe0a4e597d5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#22 0x00007fe0a4e59b08 in ?? () from /usr/lib64/libglib-2.0.so.0
#23 0x00007fe0a4e59bc4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#24 0x00007fe0aea565b6 in QEventDispatcherGlib::processEvents (this=0x946a70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#25 0x00007fe0adc54e0e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#26 0x00007fe0aea26bef in QEventLoop::processEvents (this=this@entry=0x7fff0c914560, flags=...) at kernel/qeventloop.cpp:149
#27 0x00007fe0aea26e78 in QEventLoop::exec (this=0x7fff0c914560, flags=...) at kernel/qeventloop.cpp:204
#28 0x00007fe0aea2bbb8 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#29 0x00007fe0b21b69c1 in kdemain (argc=1, argv=0x7fff0c914858) at /usr/src/debug/kde-workspace-4.11.0/plasma/desktop/shell/main.cpp:126
#30 0x00007fe0b1deba15 in __libc_start_main () from /lib64/libc.so.6
#31 0x0000000000400761 in _start () at ../sysdeps/x86_64/start.S:123

Reported using DrKonqi
Comment 1 Dominik Haumann 2013-08-30 21:40:54 UTC
Can you run plasma in valgrind and paste the contents? To do so,
  kquitapp plasma-desktop
then:
  valgrind plasma-desktop
and reproduce the crash
Comment 2 evgeny 2013-09-02 15:16:02 UTC
Hi, I tried to run plasma with valgrint but it crashes shortly after I see bottom panel.
Without valgrint plasma runs smoothly.
Comment 3 evgeny 2013-09-02 15:18:18 UTC
Created attachment 82112 [details]
Here is my valgrind log.
Comment 4 evgeny 2013-09-02 15:40:00 UTC
When I removed task manager widget and added it again crash disappeared. May be origin of problem was wrong deleted icon only task manager, as one icon on panel to start dolphin wasn't standard launcher but remains of icon only task manager. Now I can't reproduce both crash and strange icon on panel.
Comment 5 thunder422 2013-09-02 16:03:09 UTC
Created attachment 82118 [details]
New crash information added by DrKonqi

plasma-desktop (4.11.00) on KDE Platform 4.11.00 using Qt 4.8.2

Problem sounds identical and occurred with upgrade from KDE 4.10.5 (was very stable from upgrade from 4.8.5) to 4.11.0 (using kubuntu backports on Mint 13, aka ubuntu 12.04 LTS).

Initially problem was eliminated by blowing away KDE configuration in home directory and cache in /tmp.  Was very stable until second monitor attached (note: using NVIDIA 304.88 on GTX 660 Ti). KDE offered to set automatically, tried but screen went blank. Upon restart, crashing when switching desktops (4 configure) returned.  Two monitors were working fine though.  (Didn't want to blow away configuration again because it's a pain to reset all settings.)

Saw this bug already reported.  Saw that removing task manager and re-adding solved problem.  Tried and in fact also solved issue for now (will report back if problem returns).

-- Backtrace (Reduced):
#6  0x00007f67b917f73f in TaskManager::TaskGroup::add (this=0x56482c0, item=0x2de5630, insertIndex=<optimized out>) at ../../../libs/taskmanager/taskgroup.cpp:221
#7  0x00007f67b9164580 in TaskManager::GroupManagerPrivate::currentDesktopChanged (this=0x2bfe490, newDesktop=<optimized out>) at ../../../libs/taskmanager/groupmanager.cpp:511
#8  0x00007f67b91670bf in qt_static_metacall (_a=<optimized out>, _id=<optimized out>, _o=<optimized out>, _c=<optimized out>) at ./groupmanager.moc:85
#9  TaskManager::GroupManager::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./groupmanager.moc:76
[...]
#11 0x00007f67b91875a1 in TaskManager::TaskManager::desktopChanged (this=<optimized out>, _t1=2) at ./taskmanager.moc:215
Comment 6 Dennis Nienhüser 2013-09-16 13:14:17 UTC
Created attachment 82338 [details]
New crash information added by DrKonqi

plasma-desktop (4.11.1) on KDE Platform 4.11.1 using Qt 4.8.4

- What I was doing when the application crashed:
Switch between virtual desktops using shortcuts (Ctrl+F*)

- Custom settings of the application:
This happens only when the setting (translated from german) "show only tasks from the current virtual desktop" is activated, which is not the default setting. Unsetting that (or deleting KDE settings) makes the crash go away.

From a quick look at taskgroup.cpp:221 it seems that d->members has less items than the highest number d->groupManager->launcherIndex() reports. Possibly d->m_members does not contain the filtered tasks and taskgroup.cpp:216-218 should be changed to maxIndex = qBounds(0, maxIndex, d->m_members.count());

-- Backtrace (Reduced):
#7  0xac5eaede in TaskManager::TaskGroup::add (this=0xabb33e8, item=item@entry=0x9ca1ba8, insertIndex=0, insertIndex@entry=-1) at ../../../libs/taskmanager/taskgroup.cpp:221
#8  0xac5cb22c in TaskManager::GroupManagerPrivate::currentDesktopChanged (this=0x9b9d1f8, newDesktop=1) at ../../../libs/taskmanager/groupmanager.cpp:511
#9  0xac5cdbd8 in qt_static_metacall (_a=0xbfe7a0a8, _id=3, _o=0x9b592e0, _c=<optimized out>) at ./groupmanager.moc:85
#10 TaskManager::GroupManager::qt_static_metacall (_o=0x9b592e0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0xbfe7a0a8) at ./groupmanager.moc:76
[...]
#12 0xac5f1dd5 in TaskManager::TaskManager::desktopChanged (this=this@entry=0x9b4fb18, _t1=_t1@entry=1) at ./taskmanager.moc:215
Comment 7 Eike Hein 2013-09-29 08:31:08 UTC
*** Bug 324887 has been marked as a duplicate of this bug. ***
Comment 8 Eike Hein 2013-09-29 08:49:50 UTC
Git commit 78055361d20ca94e6c59e032e3a6ade420affb91 by Eike Hein.
Committed on 29/09/2013 at 08:49.
Pushed by hein into branch 'KDE/4.11'.

Fix rare out-of-bounds list indexing when inserting launchers.

M  +4    -4    libs/taskmanager/taskgroup.cpp

http://commits.kde.org/kde-workspace/78055361d20ca94e6c59e032e3a6ade420affb91
Comment 9 Eike Hein 2013-09-29 08:50:12 UTC
Git commit 23b7528333ab37548c5bd942b21b6ee2d413472e by Eike Hein.
Committed on 29/09/2013 at 08:49.
Pushed by hein into branch 'master'.

Fix rare out-of-bounds list indexing when inserting launchers.

M  +4    -4    libs/taskmanager/taskgroup.cpp

http://commits.kde.org/kde-workspace/23b7528333ab37548c5bd942b21b6ee2d413472e
Comment 10 blacia 2013-11-10 13:09:36 UTC
Created attachment 83469 [details]
New crash information added by DrKonqi

plasma-desktop (4.11.2) on KDE Platform 4.11.2 using Qt 4.8.4

- What I was doing when the application crashed:
Switching into desktops make it crash but it sometimes appen when I didn’t do something in particular.

- Unusual behavior I noticed:

-- Backtrace (Reduced):
#6  0x00007fb693c56196 in TaskManager::TaskGroup::add (this=0x2a8e6e0, item=item@entry=0x16dc860, insertIndex=insertIndex@entry=-1) at ../../../libs/taskmanager/taskgroup.cpp:221
#7  0x00007fb693c3b3d4 in TaskManager::GroupManagerPrivate::currentDesktopChanged (this=0x14f4160, newDesktop=<optimized out>) at ../../../libs/taskmanager/groupmanager.cpp:511
#8  0x00007fb693c3d5cf in TaskManager::GroupManager::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at ./groupmanager.moc:85
[...]
#10 0x00007fb693c5bfb1 in TaskManager::TaskManager::desktopChanged (this=<optimized out>, _t1=2) at ./taskmanager.moc:215
#11 0x00007fb693c5e243 in TaskManager::TaskManager::qt_static_metacall (_o=0x31, _id=0, _a=0x4, _c=<optimized out>) at ./taskmanager.moc:107
Comment 11 Jekyll Wu 2013-11-11 05:43:28 UTC
*** Bug 327436 has been marked as a duplicate of this bug. ***
Comment 12 Jekyll Wu 2013-11-14 01:38:54 UTC
*** Bug 327563 has been marked as a duplicate of this bug. ***
Comment 13 Jekyll Wu 2013-11-18 10:17:13 UTC
*** Bug 327752 has been marked as a duplicate of this bug. ***
Comment 14 Christoph Feck 2013-12-01 23:26:27 UTC
*** Bug 328297 has been marked as a duplicate of this bug. ***
Comment 15 quazgar 2013-12-10 09:32:34 UTC
(In reply to comment #8)
> Pushed by hein into branch 'KDE/4.11'.
> Fix rare out-of-bounds list indexing when inserting launchers.

@Eike:
Thank you for fixing this bug!

Could you tell us in which 4.11.x release your fix will be included so that we can ask our distros to update to that version.

For the meantime here's a simple workaround description for other affected users:

- The bug is caused by the "task manager", which displays your open windows in the task panel (a bar, typically at the bottom of your screen).

- To work around this issue, it may be sufficient to remove the task manager and add it again.

- To do this, right-click on your Task Panel, for example on the clock, then choose: Panel Options > Panel Settings.  Hover with your mouse over the task manager and close it with the little "x". To readd the task-manager, still in the Panel settings, choose "Add Widget...".  Scroll to the right until you see the Task Manager icon.  Double-click on it to add it again to the Task Panel.  Also in the panel settings, you can rearrange it to the position you like.
Comment 16 Eike Hein 2013-12-10 09:48:00 UTC
Hi Daniel,

it was fixed in 4.11.3.

(Tip: There's a "Version Fixed In" field at the top of the bug report. :)