Bug 283626 - plasma-desktop crashes when Adding Widget while ActivityManager is visible [@ ActivityManager::setLocation]
Summary: plasma-desktop crashes when Adding Widget while ActivityManager is visible [@...
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Plasma
Component: activities (show other bugs)
Version: 4.8.3
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2011-10-08 21:24 UTC by Will Stephenson
Modified: 2013-11-04 13:52 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.9


Attachments
New crash information added by DrKonqi (16.02 KB, text/plain)
2012-06-08 12:04 UTC, S. Burmeister
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Will Stephenson 2011-10-08 21:24:04 UTC
Version:           unspecified (using KDE 4.7.1) 
OS:                Linux

Application: Plasma Desktop Shell (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f2330213760 (LWP 21983))]

Thread 2 (Thread 0x7f230ec70700 (LWP 21984)):
#0  0x00007f232d889133 in poll () from /lib64/libc.so.6
#1  0x00007f232a64ea38 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f232a64eef9 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f232ee993a6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007f232ee6d882 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007f232ee6da7f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007f232ed855cf in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007f232ee5094f in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007f232ed88015 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007f232eaf7f05 in start_thread () from /lib64/libpthread.so.0
#10 0x00007f232d89224d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f2330213760 (LWP 21983)):
[KCrash Handler]
#6  0x00007f231e9e1ea7 in ActivityManagerPrivate::setLocation (this=0x1df2eb0, loc=<optimized out>) at /usr/src/debug/kde-workspace-4.7.2/plasma/desktop/shell/activitymanager/activitymanager.cpp:146
#7  0x00007f231e9e22cc in ActivityManager::setLocation (this=0x193c3e0, loc=Plasma::LeftEdge) at /usr/src/debug/kde-workspace-4.7.2/plasma/desktop/shell/activitymanager/activitymanager.cpp:191
#8  0x00007f231e9b02ed in setLocation (loc=@0x7fff6428da6c, this=0x1cd2690) at /usr/src/debug/kde-workspace-4.7.2/plasma/desktop/shell/controllerwindow.cpp:340
#9  ControllerWindow::setLocation (this=0x1cd2690, loc=@0x7fff6428da6c) at /usr/src/debug/kde-workspace-4.7.2/plasma/desktop/shell/controllerwindow.cpp:297
#10 0x00007f231e9b0dc4 in ControllerWindow::backgroundChanged (this=0x1cd2690) at /usr/src/debug/kde-workspace-4.7.2/plasma/desktop/shell/controllerwindow.cpp:132
#11 0x00007f231e9b1f54 in ControllerWindow::qt_metacall (this=0x1cd2690, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff6428daf0) at /usr/src/debug/kde-workspace-4.7.2/build/plasma/desktop/shell/controllerwindow.moc:89
#12 0x00007f232ee813fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#13 0x00007f23258f7aaf in Plasma::FrameSvg::setEnabledBorders (this=0x1bcfc10, borders=...) at /usr/src/debug/kdelibs-4.7.2/plasma/framesvg.cpp:166
#14 0x00007f231e9b030b in setLocation (loc=@0x7fff6428dc78, this=0x1cd2690) at /usr/src/debug/kde-workspace-4.7.2/plasma/desktop/shell/controllerwindow.cpp:309
#15 ControllerWindow::setLocation (this=0x1cd2690, loc=@0x7fff6428dc78) at /usr/src/debug/kde-workspace-4.7.2/plasma/desktop/shell/controllerwindow.cpp:297
#16 0x00007f231e9d2841 in PlasmaApp::showController (this=<optimized out>, screen=0, containment=0x9087f0, widgetExplorerMode=true) at /usr/src/debug/kde-workspace-4.7.2/plasma/desktop/shell/plasmaapp.cpp:546
#17 0x00007f231e9c5576 in PanelView::showWidgetExplorer (this=0x1424720) at /usr/src/debug/kde-workspace-4.7.2/plasma/desktop/shell/panelview.cpp:1122
#18 0x00007f231e9cd397 in PanelView::qt_metacall (this=0x1424720, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0x7fff6428ddd0) at /usr/src/debug/kde-workspace-4.7.2/build/plasma/desktop/shell/panelview.moc:142
#19 0x00007f232ee813fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#20 0x00007f23258b7be5 in Plasma::Containment::showAddWidgetsInterface (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/kdelibs-4.7.2/build/plasma/containment.moc:213
#21 0x00007f23258b7c0a in Plasma::ContainmentPrivate::triggerShowAddWidgets (this=<optimized out>) at /usr/src/debug/kdelibs-4.7.2/plasma/containment.cpp:2158
#22 0x00007f23258c4885 in Plasma::Containment::qt_metacall (this=0x9087f0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff6428df40) at /usr/src/debug/kdelibs-4.7.2/build/plasma/containment.moc:151
#23 0x00007f23187243c5 in Panel::qt_metacall (this=0x9087f0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff6428df40) at /usr/src/debug/kde-workspace-4.7.2/build/plasma/desktop/containments/panel/panel.moc:83
#24 0x00007f232ee813fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#25 0x00007f232e01b5d2 in QAction::triggered(bool) () from /usr/lib64/libQtGui.so.4
#26 0x00007f232e01b7bf in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQtGui.so.4
#27 0x00007f232e4515d9 in ?? () from /usr/lib64/libQtGui.so.4
#28 0x00007f232e457212 in ?? () from /usr/lib64/libQtGui.so.4
#29 0x00007f232fcc2cd0 in KMenu::mouseReleaseEvent (this=0x1b10400, e=0x7fff6428eb10) at /usr/src/debug/kdelibs-4.7.2/kdeui/widgets/kmenu.cpp:464
#30 0x00007f232e072236 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#31 0x00007f232e45877b in QMenu::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#32 0x00007f232e021be4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#33 0x00007f232e02736b in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#34 0x00007f232fc00de6 in KApplication::notify (this=0x6e04f0, receiver=0x1b10400, event=0x7fff6428eb10) at /usr/src/debug/kdelibs-4.7.2/kdeui/kernel/kapplication.cpp:311
#35 0x00007f232ee6e67c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#36 0x00007f232e022bb2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#37 0x00007f232e09ef81 in ?? () from /usr/lib64/libQtGui.so.4
#38 0x00007f232e09d7aa in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#39 0x00007f232e0c5022 in ?? () from /usr/lib64/libQtGui.so.4
#40 0x00007f232a64e52d in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#41 0x00007f232a64ed28 in ?? () from /usr/lib64/libglib-2.0.so.0
#42 0x00007f232a64eef9 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#43 0x00007f232ee9933f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#44 0x00007f232e0c4cae in ?? () from /usr/lib64/libQtGui.so.4
#45 0x00007f232ee6d882 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#46 0x00007f232ee6da7f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#47 0x00007f232e4546f1 in QMenu::exec(QPoint const&, QAction*) () from /usr/lib64/libQtGui.so.4
#48 0x00007f23258c30ff in contextMenuEvent (event=0x7fff6428fff0, this=<optimized out>) at /usr/src/debug/kdelibs-4.7.2/plasma/containment.cpp:675
#49 Plasma::Containment::contextMenuEvent (this=<optimized out>, event=0x7fff6428fff0) at /usr/src/debug/kdelibs-4.7.2/plasma/containment.cpp:630
#50 0x00007f232e5e40c5 in QGraphicsItem::sceneEvent(QEvent*) () from /usr/lib64/libQtGui.so.4
#51 0x00007f232e60c11e in QGraphicsScene::contextMenuEvent(QGraphicsSceneContextMenuEvent*) () from /usr/lib64/libQtGui.so.4
#52 0x00007f232e61b014 in QGraphicsScene::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#53 0x00007f232e021be4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#54 0x00007f232e026a71 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#55 0x00007f232fc00de6 in KApplication::notify (this=0x6e04f0, receiver=0x82aed0, event=0x7fff6428fff0) at /usr/src/debug/kdelibs-4.7.2/kdeui/kernel/kapplication.cpp:311
#56 0x00007f232ee6e67c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#57 0x00007f232e630bbb in QGraphicsView::contextMenuEvent(QContextMenuEvent*) () from /usr/lib64/libQtGui.so.4
#58 0x00007f232e071f90 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#59 0x00007f232e416426 in QFrame::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#60 0x00007f232e6393cb in QGraphicsView::viewportEvent(QEvent*) () from /usr/lib64/libQtGui.so.4
#61 0x00007f232ee6e808 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#62 0x00007f232e021baf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#63 0x00007f232e026f5c in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#64 0x00007f232fc00de6 in KApplication::notify (this=0x6e04f0, receiver=0xe7cde0, event=0x7fff642908e0) at /usr/src/debug/kdelibs-4.7.2/kdeui/kernel/kapplication.cpp:311
#65 0x00007f232ee6e67c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#66 0x00007f232e09e938 in ?? () from /usr/lib64/libQtGui.so.4
#67 0x00007f232e09d7aa in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#68 0x00007f232e0c5022 in ?? () from /usr/lib64/libQtGui.so.4
#69 0x00007f232a64e52d in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#70 0x00007f232a64ed28 in ?? () from /usr/lib64/libglib-2.0.so.0
#71 0x00007f232a64eef9 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#72 0x00007f232ee9933f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#73 0x00007f232e0c4cae in ?? () from /usr/lib64/libQtGui.so.4
#74 0x00007f232ee6d882 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#75 0x00007f232ee6da7f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#76 0x00007f232ee71c47 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#77 0x00007f231e9bf773 in kdemain (argc=1, argv=0x615b10) at /usr/src/debug/kde-workspace-4.7.2/plasma/desktop/shell/main.cpp:120
#78 0x0000000000408857 in _start ()


Reproducible: Didn't try

Steps to Reproduce:
show activity manager
right click on panel, panel options->add widget...
crash


Expected Results:  
no crash
Comment 1 Thijs 2011-12-03 09:59:12 UTC
I can't get it reproduced in 4.7.3,on fedora 16 instead I get a nice switch from activities to widgets and v.v. Is it still there?
Comment 2 Myriam Schweingruber 2012-05-28 22:12:06 UTC
Will, any news on this?
Comment 3 S. Burmeister 2012-06-08 12:04:02 UTC
Created attachment 71662 [details]
New crash information added by DrKonqi

plasma-desktop (0.4) on KDE Platform 4.8.3 (4.8.3) "release 504" using Qt 4.8.1

- What I was doing when the application crashed:

I added the activity bar and tried to move the panel from the left edge of the screen to the bottom.

-- Backtrace (Reduced):
#6  0xb1cec8a7 in ActivityManager::setLocation (this=0x0, loc=Plasma::BottomEdge) at /usr/src/debug/kde-workspace-4.8.3/plasma/desktop/shell/activitymanager/activitymanager.cpp:191
#7  0xb1cb3daa in setLocation (loc=@0xbfe8ee1c, this=0x91483f8) at /usr/src/debug/kde-workspace-4.8.3/plasma/desktop/shell/controllerwindow.cpp:333
#8  ControllerWindow::setLocation (this=0x91483f8, loc=@0xbfe8ee1c) at /usr/src/debug/kde-workspace-4.8.3/plasma/desktop/shell/controllerwindow.cpp:290
#9  0xb1cc8cba in setLocation (loc=@0xbfe8ee1c, this=0x91483f8) at /usr/src/debug/kde-workspace-4.8.3/plasma/desktop/shell/panelcontroller.cpp:329
#10 PanelController::setLocation (this=0x91483f8, loc=@0xbfe8ee1c) at /usr/src/debug/kde-workspace-4.8.3/plasma/desktop/shell/panelcontroller.cpp:323
Comment 4 Myriam Schweingruber 2012-06-08 15:20:00 UTC
Still here apparently.
Comment 5 David E. Narvaez 2012-06-19 04:10:58 UTC
I can't understand how can this possibly happen. Say you have your Activity Manager open, how can it still be open when you try to add a widget? The Activity Manager is set to hide when any mouse action happens outside its area.

Plus, this is marked as a regression but I don't see any report of it in 4.8.90 and I can't reproduce. If there's any additional info, please add it here.
Comment 6 S. Burmeister 2012-06-20 10:37:40 UTC
(In reply to comment #5)
> I can't understand how can this possibly happen. Say you have your Activity
> Manager open, how can it still be open when you try to add a widget? The
> Activity Manager is set to hide when any mouse action happens outside its
> area.

The fact that there are two full backtraces seems to hint towards this being a real crash – no matter how it is triggered.

> Plus, this is marked as a regression but I don't see any report of it in
> 4.8.90 and I can't reproduce. If there's any additional info, please add it
> here.

Probably because this was filed against 4.7 but nobody cared about it. It was/is a regression compared to versions before the one reported.

Regarding "no report against 4.9 betas". Probably because compared to 4.8 and 4.7 nobody uses 4.9 yet, i.e. it seems obvious that the probability of somebody triggering this bug relates to the amount of users of a given KDE version.
Comment 7 Marco Martin 2012-06-25 09:04:16 UTC
Git commit 411479168c21c15fc7d7d703d8ca5af0f9f64cd0 by Marco Martin.
Committed on 25/06/2012 at 11:02.
Pushed by mart into branch 'master'.

get rid of watched widget
FIXED-IN:4.9

M  +6    -13   plasma/desktop/shell/controllerwindow.cpp
M  +0    -1    plasma/desktop/shell/controllerwindow.h

http://commits.kde.org/kde-workspace/411479168c21c15fc7d7d703d8ca5af0f9f64cd0
Comment 8 Dennis Knorr 2013-11-04 13:52:02 UTC
It is still in Kubuntu Saucy (KDE 4.11.2) with Opening Activity Manager and then click on "add widget". sometimes it takes a second, but then it crashed.