Bug 288788 - Plasma crashes when changing window focus while editing an activity's icon
Summary: Plasma crashes when changing window focus while editing an activity's icon
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-12 11:02 UTC by Elias Probst
Modified: 2011-12-12 11:45 UTC (History)
0 users

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 Elias Probst 2011-12-12 11:02:13 UTC
Application: plasma-desktop (0.4)
KDE Platform Version: 4.7.90 (4.8 Beta2 (4.7.90) (Compiled from sources)
Qt Version: 4.7.2
Operating System: Linux 3.1.0-gentoo-r1 x86_64
Distribution: "Gentoo Base System release 2.0.3"

-- Information about the crash:
- What I was doing when the application crashed:
1. Set kwin's focus policy to "Focus Follows Mouse"
2. Use Meta+Q to open the Activities panel
3. Click the wrench icon next to an activity to edit it
4. Click the icon of the activity to assign a custom icon
5. Move the cursor to another window, so the one for selecting an icon loses its focus - the Activities panel disappears now
6. Go back to the icon selection dialog and close it (Cancel or select an icon)
7. plasma-desktop crashes

See also the demonstration screencast at http://www.youtube.com/watch?v=o9_w7V8w3HA

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma Desktop Shell (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f5e82bfd760 (LWP 10500))]

Thread 4 (Thread 0x7f5e60784700 (LWP 10505)):
#0  0x00007f5e80335533 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f5e81867e75 in QProcessManager::run (this=0x7f5e81bb3f60) at io/qprocess_unix.cpp:245
#2  0x00007f5e817aaefd in QThreadPrivate::start (arg=0x7f5e81bb3f60) at thread/qthread_unix.cpp:320
#3  0x00007f5e8151da35 in start_thread (arg=0x7f5e60784700) at pthread_create.c:301
#4  0x00007f5e8033b43d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7f5e5dd74700 (LWP 10507)):
#0  __pthread_mutex_lock (mutex=0x1e22f18) at pthread_mutex_lock.c:61
#1  0x00007f5e7d364672 in g_main_context_prepare (context=0x1e22f10, priority=0x7f5e5dd73ccc) at gmain.c:2748
#2  0x00007f5e7d3653b5 in g_main_context_iterate (context=0x1e22f10, block=1, dispatch=1, self=<value optimized out>) at gmain.c:3053
#3  0x00007f5e7d365947 in g_main_context_iteration (context=0x1e22f10, may_block=1) at gmain.c:3136
#4  0x00007f5e818b0f2a in QEventDispatcherGlib::processEvents (this=0x1e22e20, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f5e81887e92 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007f5e818881f1 in QEventLoop::exec (this=0x7f5e5dd73de0, flags=) at kernel/qeventloop.cpp:201
#7  0x00007f5e817a8412 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#8  0x00007f5e8186a3da in QInotifyFileSystemWatcherEngine::run (this=0x1e20c80) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007f5e817aaefd in QThreadPrivate::start (arg=0x1e20c80) at thread/qthread_unix.cpp:320
#10 0x00007f5e8151da35 in start_thread (arg=0x7f5e5dd74700) at pthread_create.c:301
#11 0x00007f5e8033b43d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7f5e5c82c700 (LWP 10509)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f5e755801d8 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f5e75883160) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f5e75580207 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f5e75891234) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f5e8151da35 in start_thread (arg=0x7f5e5c82c700) at pthread_create.c:301
#4  0x00007f5e8033b43d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7f5e82bfd760 (LWP 10500)):
[KCrash Handler]
#6  operator QWidget* (this=0x0) at ../../include/QtCore/../../src/corelib/kernel/qpointer.h:78
#7  QGraphicsProxyWidget::widget (this=0x0) at graphicsview/qgraphicsproxywidget.cpp:738
#8  0x00007f5e77010175 in Plasma::PushButton::setIcon (this=<value optimized out>, icon=...) at /var/tmp/portage/kde-base/kdelibs-4.7.90/work/kdelibs-4.7.90/plasma/widgets/pushbutton.cpp:296
#9  0x00007f5e6f8d4dd7 in ActivityConfiguration::chooseIcon (this=0x1bf2ee0) at /var/tmp/portage/kde-base/plasma-workspace-4.7.90/work/plasma-workspace-4.7.90/plasma/desktop/shell/activitymanager/activitycontrols.cpp:156
#10 0x00007f5e6f8a2b63 in ActivityConfiguration::qt_metacall (this=0x1bf2ee0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=<value optimized out>) at /var/tmp/portage/kde-base/plasma-workspace-4.7.90/work/plasma-workspace-4.7.90_build/plasma/desktop/shell/moc_activitycontrols.cpp:206
#11 0x00007f5e8189eae1 in QMetaObject::activate (sender=0x43bab20, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7) at kernel/qobject.cpp:3278
#12 0x00007f5e77012976 in Plasma::PushButton::qt_metacall (this=0x43bab20, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fffae385460) at /var/tmp/portage/kde-base/kdelibs-4.7.90/work/kdelibs-4.7.90_build/plasma/pushbutton.moc:107
#13 0x00007f5e8189eae1 in QMetaObject::activate (sender=0x434fa70, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7) at kernel/qobject.cpp:3278
#14 0x00007f5e8108cda8 in QAbstractButton::clicked (this=<value optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:206
#15 0x00007f5e80e13cc2 in QAbstractButtonPrivate::emitClicked (this=0x453ec30) at widgets/qabstractbutton.cpp:546
#16 0x00007f5e80e14e62 in QAbstractButtonPrivate::click (this=0x453ec30) at widgets/qabstractbutton.cpp:539
#17 0x00007f5e80e15058 in QAbstractButton::mouseReleaseEvent (this=0x434fa70, e=0x44f64c0) at widgets/qabstractbutton.cpp:1121
#18 0x00007f5e80afb45e in QWidget::event (this=0x434fa70, event=0x44f64c0) at kernel/qwidget.cpp:8259
#19 0x00007f5e80ab1db8 in QApplicationPrivate::notify_helper (this=0x730ff0, receiver=0x434fa70, e=0x44f64c0) at kernel/qapplication.cpp:4462
#20 0x00007f5e80ab6cda in QApplication::notify (this=<value optimized out>, receiver=0x434fa70, e=0x44f64c0) at kernel/qapplication.cpp:4023
#21 0x00007f5e82604e30 in KApplication::notify (this=0x71b2c0, receiver=0x434fa70, event=0x44f64c0) at /var/tmp/portage/kde-base/kdelibs-4.7.90/work/kdelibs-4.7.90/kdeui/kernel/kapplication.cpp:311
#22 0x00007f5e81888e5e in QCoreApplication::notifyInternal (this=0x71b2c0, receiver=0x434fa70, event=0x44f64c0) at kernel/qcoreapplication.cpp:731
#23 0x00007f5e80ab2ca3 in sendEvent (receiver=0x434fa70, event=0x44f64c0, alienWidget=0x0, nativeWidget=0x434fa70, buttonDown=0x7fffae385df8, lastMouseReceiver=..., spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#24 QApplicationPrivate::sendMouseEvent (receiver=0x434fa70, event=0x44f64c0, alienWidget=0x0, nativeWidget=0x434fa70, buttonDown=0x7fffae385df8, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3122
#25 0x00007f5e8100e1d3 in QGraphicsProxyWidgetPrivate::sendWidgetMouseEvent (this=0x3f8f410, event=0x7fffae3866e0) at graphicsview/qgraphicsproxywidget.cpp:283
#26 0x00007f5e80ff2188 in QGraphicsItem::sceneEvent (this=0x43bab30, event=0x7fffae3866e0) at graphicsview/qgraphicsitem.cpp:6721
#27 0x00007f5e81017978 in QGraphicsScenePrivate::sendMouseEvent (this=0x73a3f0, mouseEvent=0x7fffae3866e0) at graphicsview/qgraphicsscene.cpp:1281
#28 0x00007f5e8101830e in QGraphicsScene::mouseReleaseEvent (this=<value optimized out>, mouseEvent=0x7fffae3866e0) at graphicsview/qgraphicsscene.cpp:4107
#29 0x00007f5e81029dea in QGraphicsScene::event (this=0x73b520, event=0x7fffae3866e0) at graphicsview/qgraphicsscene.cpp:3440
#30 0x00007f5e80ab1db8 in QApplicationPrivate::notify_helper (this=0x730ff0, receiver=0x73b520, e=0x7fffae3866e0) at kernel/qapplication.cpp:4462
#31 0x00007f5e80ab6470 in QApplication::notify (this=<value optimized out>, receiver=0x73b520, e=0x7fffae3866e0) at kernel/qapplication.cpp:4341
#32 0x00007f5e82604e30 in KApplication::notify (this=0x71b2c0, receiver=0x73b520, event=0x7fffae3866e0) at /var/tmp/portage/kde-base/kdelibs-4.7.90/work/kdelibs-4.7.90/kdeui/kernel/kapplication.cpp:311
#33 0x00007f5e81888e5e in QCoreApplication::notifyInternal (this=0x71b2c0, receiver=0x73b520, event=0x7fffae3866e0) at kernel/qcoreapplication.cpp:731
#34 0x00007f5e8103ee33 in QGraphicsView::mouseReleaseEvent (this=0x42d11c0, event=0x7fffae3872d0) at graphicsview/qgraphicsview.cpp:3336
#35 0x00007f5e80afb45e in QWidget::event (this=0x42d11c0, event=0x7fffae3872d0) at kernel/qwidget.cpp:8259
#36 0x00007f5e80e4f7b2 in QFrame::event (this=0x42d11c0, e=0x7fffae3872d0) at widgets/qframe.cpp:557
#37 0x00007f5e81041d33 in QGraphicsView::viewportEvent (this=0x42d11c0, event=0x7fffae3872d0) at graphicsview/qgraphicsview.cpp:2864
#38 0x00007f5e818887f9 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x4298cf0, event=0x7fffae3872d0) at kernel/qcoreapplication.cpp:846
#39 0x00007f5e80ab1d98 in QApplicationPrivate::notify_helper (this=0x730ff0, receiver=0x4298cf0, e=0x7fffae3872d0) at kernel/qapplication.cpp:4458
#40 0x00007f5e80ab6cda in QApplication::notify (this=<value optimized out>, receiver=0x4298cf0, e=0x7fffae3872d0) at kernel/qapplication.cpp:4023
#41 0x00007f5e82604e30 in KApplication::notify (this=0x71b2c0, receiver=0x4298cf0, event=0x7fffae3872d0) at /var/tmp/portage/kde-base/kdelibs-4.7.90/work/kdelibs-4.7.90/kdeui/kernel/kapplication.cpp:311
#42 0x00007f5e81888e5e in QCoreApplication::notifyInternal (this=0x71b2c0, receiver=0x4298cf0, event=0x7fffae3872d0) at kernel/qcoreapplication.cpp:731
#43 0x00007f5e80ab2ca3 in sendEvent (receiver=0x4298cf0, event=0x7fffae3872d0, alienWidget=0x4298cf0, nativeWidget=0x42d8c80, buttonDown=0x7f5e815130f8, lastMouseReceiver=..., spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#44 QApplicationPrivate::sendMouseEvent (receiver=0x4298cf0, event=0x7fffae3872d0, alienWidget=0x4298cf0, nativeWidget=0x42d8c80, buttonDown=0x7f5e815130f8, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3122
#45 0x00007f5e80b25ff0 in QETWidget::translateMouseEvent (this=0x42d8c80, event=<value optimized out>) at kernel/qapplication_x11.cpp:4461
#46 0x00007f5e80b24707 in QApplication::x11ProcessEvent (this=0x71b2c0, event=0x7fffae387a80) at kernel/qapplication_x11.cpp:3587
#47 0x00007f5e80b490cf in x11EventSourceDispatch (s=0x73fa50, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#48 0x00007f5e7d365047 in g_main_dispatch (context=0x73e180) at gmain.c:2425
#49 g_main_context_dispatch (context=0x73e180) at gmain.c:2995
#50 0x00007f5e7d36578c in g_main_context_iterate (context=0x73e180, block=1, dispatch=1, self=<value optimized out>) at gmain.c:3073
#51 0x00007f5e7d365947 in g_main_context_iteration (context=0x73e180, may_block=1) at gmain.c:3136
#52 0x00007f5e818b0ef2 in QEventDispatcherGlib::processEvents (this=0x7303c0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#53 0x00007f5e80b48de6 in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#54 0x00007f5e81887e92 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#55 0x00007f5e818881f1 in QEventLoop::exec (this=0x7fffae387d80, flags=) at kernel/qeventloop.cpp:201
#56 0x00007f5e8188bc67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#57 0x00007f5e6f8b555d in kdemain (argc=1, argv=0x612ef0) at /var/tmp/portage/kde-base/plasma-workspace-4.7.90/work/plasma-workspace-4.7.90/plasma/desktop/shell/main.cpp:120
#58 0x0000000000406eb3 in launch (argc=1, _name=0x6c51f8 "/usr/bin/plasma-desktop", args=<value optimized out>, cwd=0x0, envc=<value optimized out>, envs=<value optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x40adce "0") at /var/tmp/portage/kde-base/kdelibs-4.7.90/work/kdelibs-4.7.90/kinit/kinit.cpp:734
#59 0x0000000000407ab3 in handle_launcher_request (sock=7, who=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.90/work/kdelibs-4.7.90/kinit/kinit.cpp:1226
#60 0x0000000000408247 in handle_requests (waitForPid=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.90/work/kdelibs-4.7.90/kinit/kinit.cpp:1419
#61 0x0000000000408dcb in main (argc=2, argv=0x7fffae388fd8, envp=0x7fffae388ff0) at /var/tmp/portage/kde-base/kdelibs-4.7.90/work/kdelibs-4.7.90/kinit/kinit.cpp:1907

Reported using DrKonqi
Comment 1 Aaron J. Seigo 2011-12-12 11:45:08 UTC
Git commit b870dcc37960b219d4c5c10509db4bb4dda6b64a by Aaron Seigo.
Committed on 12/12/2011 at 12:44.
Pushed by aseigo into branch 'master'.

manager the lifespan of the icon dialog to match that of the activity icon

BUG:288788

M  +17   -1    plasma/desktop/shell/activitymanager/activitycontrols.cpp
M  +7    -1    plasma/desktop/shell/activitymanager/activitycontrols.h

http://commits.kde.org/kde-workspace/b870dcc37960b219d4c5c10509db4bb4dda6b64a