Bug 287861

Summary: Plasma crash when deleting plasmoid (Grid Desktop)
Product: [Unmaintained] plasma4 Reporter: Vitor Boschi da Silva <vitorboschi>
Component: groupingdesktopAssignee: Giulio Camuffo <giuliocamuffo>
Status: RESOLVED UNMAINTAINED    
Severity: crash CC: billyestuvoaqui, blagozlatev, erick.szulha, fishstix90, marrao, tmoschou, viking, villimagg
Priority: NOR    
Version: 4.8.3   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description Vitor Boschi da Silva 2011-11-29 20:20:50 UTC
Application: plasma-desktop (0.4)
KDE Platform Version: 4.7.3 (4.7.3) (Compiled from sources)
Qt Version: 4.7.4
Operating System: Linux 3.0-ARCH x86_64
Distribution (Platform): Archlinux Packages

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

mouse down on the plasmoid handle to start a drag action, then use the keyboard shortcut Alt+D, R to remove it while still dragging. When you click on another plasmoid, plasma will crash if using grid desktop containment.
The same action also gives problem on default desktop, but instead of a crash, another plasmoid is dragged somewhere else when you click.

The crash can be reproduced every time.

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

Thread 7 (Thread 0x7f110bbc8700 (LWP 1184)):
#0  0x00007f112a46b123 in poll () from /lib/libc.so.6
#1  0x00007f1126a12d08 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f1126a131c9 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f112c14e606 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f112c122a92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f112c122c97 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f112c03a13f in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f112c105aef in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f112c03cbc5 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f112bdb2df0 in start_thread () from /lib/libpthread.so.0
#10 0x00007f112a47339d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f110ad85700 (LWP 1185)):
#0  0x00007f112a46d1d3 in select () from /lib/libc.so.6
#1  0x00007f112c1054a1 in ?? () from /usr/lib/libQtCore.so.4
#2  0x00007f112c03cbc5 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f112bdb2df0 in start_thread () from /lib/libpthread.so.0
#4  0x00007f112a47339d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f110744c700 (LWP 1189)):
#0  0x00007f112bdb6b54 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f112082df72 in ?? () from /usr/lib/libQtScript.so.4
#2  0x00007f112082dfa9 in ?? () from /usr/lib/libQtScript.so.4
#3  0x00007f112bdb2df0 in start_thread () from /lib/libpthread.so.0
#4  0x00007f112a47339d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f1102bae700 (LWP 1291)):
#0  0x00007f112a46b123 in poll () from /lib/libc.so.6
#1  0x00007f1126a12d08 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f1126a131c9 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f112c14e606 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f112c122a92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f112c122c97 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f112c03a13f in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f112c105aef in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f112c03cbc5 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f112bdb2df0 in start_thread () from /lib/libpthread.so.0
#10 0x00007f112a47339d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f10f9a3c700 (LWP 1490)):
#0  0x00007f112a46b123 in poll () from /lib/libc.so.6
#1  0x00007f1126a12d08 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f1126a131c9 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f112c14e606 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f112c122a92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f112c122c97 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f112c03a13f in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f112c03cbc5 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f112bdb2df0 in start_thread () from /lib/libpthread.so.0
#9  0x00007f112a47339d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f10fca70700 (LWP 3016)):
#0  0x00007f112a46b123 in poll () from /lib/libc.so.6
#1  0x00007f1126a12d08 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f1126a131c9 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f112c14e606 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f112c122a92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f112c122c97 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f112c03a13f in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f112c105aef in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f112c03cbc5 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f112bdb2df0 in start_thread () from /lib/libpthread.so.0
#10 0x00007f112a47339d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f112d76a760 (LWP 1169)):
[KCrash Handler]
#6  0x00007f112b891fa4 in QGraphicsItem::parentItem() const () from /usr/lib/libQtGui.so.4
#7  0x00007f10fd67c853 in GroupingContainmentPrivate::onWidgetMoved (this=0x85f28f0, widget=0x5056ef0) at /home/vitor/kdesrc/kde/kdeplasma-addons/containments/groupingdesktop/lib/groupingcontainment.cpp:367
#8  0x00007f10fd67cf17 in GroupingContainment::setMovingWidget (this=0x5699aa0, widget=0x869ce90) at /home/vitor/kdesrc/kde/kdeplasma-addons/containments/groupingdesktop/lib/groupingcontainment.cpp:977
#9  0x00007f10fd67d471 in GroupingContainment::eventFilter (this=0x5699aa0, obj=0x869ce90, event=0x7fff385e6db0) at /home/vitor/kdesrc/kde/kdeplasma-addons/containments/groupingdesktop/lib/groupingcontainment.cpp:767
#10 0x00007f112c123a28 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#11 0x00007f112b2dcaaf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#12 0x00007f112b2e1951 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#13 0x00007f112d158d66 in KApplication::notify (this=0xe5a0c0, receiver=0x869ce90, event=0x7fff385e6db0) at /home/vitor/kdesrc/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
#14 0x00007f112c12389c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#15 0x00007f112b8f69ed in QGraphicsWidget::setGeometry(QRectF const&) () from /usr/lib/libQtGui.so.4
#16 0x00007f112b8fdc41 in ?? () from /usr/lib/libQtGui.so.4
#17 0x00007f112b8f7595 in QGraphicsWidget::itemChange(QGraphicsItem::GraphicsItemChange, QVariant const&) () from /usr/lib/libQtGui.so.4
#18 0x00007f11222f8af5 in Plasma::Applet::itemChange (this=0x869ce90, change=<optimized out>, value=...) at /home/vitor/kdesrc/kde/kdelibs/plasma/applet.cpp:2424
#19 0x00007f112b894a5e in QGraphicsItem::setPos(QPointF const&) () from /usr/lib/libQtGui.so.4
#20 0x00007f112b8a4906 in QGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent*) () from /usr/lib/libQtGui.so.4
#21 0x00007f11222f44f0 in Plasma::Applet::mouseMoveEvent (this=0x869ce90, event=0x7fff385e7e90) at /home/vitor/kdesrc/kde/kdelibs/plasma/applet.cpp:1839
#22 0x00007f112b89e8fe in QGraphicsItem::sceneEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#23 0x00007f112b8c6ffa in ?? () from /usr/lib/libQtGui.so.4
#24 0x00007f112b8c7afc in QGraphicsScene::mouseMoveEvent(QGraphicsSceneMouseEvent*) () from /usr/lib/libQtGui.so.4
#25 0x00007f112b8d5afb in QGraphicsScene::event(QEvent*) () from /usr/lib/libQtGui.so.4
#26 0x00007f112b2dcae4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#27 0x00007f112b2e1951 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#28 0x00007f112d158d66 in KApplication::notify (this=0xe5a0c0, receiver=0xf77df0, event=0x7fff385e7e90) at /home/vitor/kdesrc/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
#29 0x00007f112c12389c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#30 0x00007f112b8efc09 in QGraphicsViewPrivate::mouseMoveEventHandler(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#31 0x00007f112b8efe2e in QGraphicsView::mouseMoveEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#32 0x00007f112b32d12e in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#33 0x00007f112b6d1586 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#34 0x00007f112b8f406b in QGraphicsView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#35 0x00007f112c123a28 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#36 0x00007f112b2dcaaf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#37 0x00007f112b2e2252 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#38 0x00007f112d158d66 in KApplication::notify (this=0xe5a0c0, receiver=0x1e19da0, event=0x7fff385e87c0) at /home/vitor/kdesrc/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
#39 0x00007f112c12389c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#40 0x00007f112b2ddab2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#41 0x00007f112b359d45 in ?? () from /usr/lib/libQtGui.so.4
#42 0x00007f112b358bda in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#43 0x00007f112b380282 in ?? () from /usr/lib/libQtGui.so.4
#44 0x00007f1126a127fd in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#45 0x00007f1126a12ff8 in ?? () from /usr/lib/libglib-2.0.so.0
#46 0x00007f1126a131c9 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#47 0x00007f112c14e606 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#48 0x00007f112b37feee in ?? () from /usr/lib/libQtGui.so.4
#49 0x00007f112c122a92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#50 0x00007f112c122c97 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#51 0x00007f112c126eab in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#52 0x00007f111ab93713 in kdemain (argc=1, argv=0xdbc790) at /home/vitor/kdesrc/kde/kde-workspace/plasma/desktop/shell/main.cpp:120
#53 0x00000000004087f2 in launch (argc=1, _name=0xdbc748 "/home/vitor/kde/bin/plasma-desktop", args=<optimized out>, cwd=0x0, envc=<optimized out>, envs=<optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x40b102 "0") at /home/vitor/kdesrc/kde/kdelibs/kinit/kinit.cpp:734
#54 0x00000000004096f6 in handle_launcher_request (sock=<optimized out>, who=<optimized out>) at /home/vitor/kdesrc/kde/kdelibs/kinit/kinit.cpp:1226
#55 0x0000000000409d8f in handle_requests (waitForPid=0) at /home/vitor/kdesrc/kde/kdelibs/kinit/kinit.cpp:1419
#56 0x000000000040573f in main (argc=4, argv=0x7fff00000001, envp=0x7fff385ea870) at /home/vitor/kdesrc/kde/kdelibs/kinit/kinit.cpp:1907

Reported using DrKonqi
Comment 1 Blagovest Zlatev 2011-11-30 14:00:37 UTC
I weren't able to reproduce the bug and I couldn't find any duplicates.
Comment 2 Vitor Boschi da Silva 2011-11-30 14:14:04 UTC
(In reply to comment #1)
> I weren't able to reproduce the bug and I couldn't find any duplicates.

Could you remove the applet while dragging it without a crash?
I found it doesn't always remove the applet (or it removes a plasmoid different than the one I'm dragging). When that happens, there's no crash.
Comment 3 Jekyll Wu 2012-01-24 21:17:22 UTC
*** Bug 292351 has been marked as a duplicate of this bug. ***
Comment 4 Myriam Schweingruber 2012-06-20 06:15:19 UTC
*** Bug 301992 has been marked as a duplicate of this bug. ***
Comment 5 Myriam Schweingruber 2012-06-20 06:16:08 UTC
Confirmed by duplicates.
Comment 6 Myriam Schweingruber 2012-06-20 06:17:03 UTC
*** Bug 297075 has been marked as a duplicate of this bug. ***
Comment 7 Erick 2013-06-25 22:21:41 UTC
Created attachment 80780 [details]
New crash information added by DrKonqi

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

- What I was doing when the application crashed:

After I've removed one plasmoid and when click on another plasmoid handle to start a drag action it crashed.

-- Backtrace (Reduced):
#5  0x0000003aaa991f1b in QGraphicsItem::setParentItem(QGraphicsItem*) () from /lib64/libQtGui.so.4
#6  0x00007fd38116c706 in GroupingContainmentPrivate::onWidgetMoved(QGraphicsWidget*) () from /lib64/libplasma_groupingcontainment.so.4
#7  0x00007fd38116ca47 in GroupingContainment::setMovingWidget(QGraphicsWidget*) () from /lib64/libplasma_groupingcontainment.so.4
#8  0x00007fd38116d0bf in GroupingContainment::eventFilter(QObject*, QEvent*) () from /lib64/libplasma_groupingcontainment.so.4
#9  0x0000003aa5377aa6 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib64/libQtCore.so.4
Comment 8 billyestuvoaqui 2013-10-02 09:03:42 UTC
Created attachment 82604 [details]
New crash information added by DrKonqi

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

Plasma crashed when I was deleting plasmacon widget in grid desktop.

-- Backtrace (Reduced):
#5  0x0000003d24760d94 in QGraphicsItem::parentItem() const () from /lib64/libQtGui.so.4
#6  0x00007fe2159e9a98 in GroupingContainmentPrivate::onWidgetMoved(QGraphicsWidget*) () from /lib64/libplasma_groupingcontainment.so.4
#7  0x00007fe2159ea419 in GroupingContainment::setMovingWidget(QGraphicsWidget*) () from /lib64/libplasma_groupingcontainment.so.4
#8  0x00007fe2159f0ecc in FreeHandle::mousePressEvent(QGraphicsSceneMouseEvent*) () from /lib64/libplasma_groupingcontainment.so.4
#9  0x0000003d2476aebf in QGraphicsItem::sceneEvent(QEvent*) () from /lib64/libQtGui.so.4
Comment 9 Vladimir Kushnarev 2014-02-04 07:00:06 UTC
Created attachment 84980 [details]
New crash information added by DrKonqi

plasma-desktop (4.11.5) on KDE Platform 4.11.5 using Qt 4.8.5

- What I was doing when the application crashed:

передвинул мышкой виджет "Веб браузер" на рабочем столе plasma

-- Backtrace (Reduced):
#6  0x00000031bc1a9d7f in QGraphicsItem::setParentItem (this=0x2a73e50, newParent=0x29c2e10) at graphicsview/qgraphicsitem.cpp:1714
#7  0x00007f608e3e089e in GroupingContainmentPrivate::onWidgetMoved (this=0x29acf40, widget=0x2a73e40) at /usr/src/debug/kdeplasma-addons-4.11.5/containments/groupingdesktop/lib/groupingcontainment.cpp:428
#8  0x00007f608e3e0ee9 in GroupingContainment::setMovingWidget (this=0x29c2e00, widget=widget@entry=0x29f02a0) at /usr/src/debug/kdeplasma-addons-4.11.5/containments/groupingdesktop/lib/groupingcontainment.cpp:977
#9  0x00007f608e3e7f0c in FreeHandle::mousePressEvent (this=0xa7b9be0, event=0x7fff128fdc20) at /usr/src/debug/kdeplasma-addons-4.11.5/containments/groupingdesktop/lib/freehandle.cpp:482
#10 0x00000031bc1a0d1a in QGraphicsItem::sceneEvent (this=this@entry=0xa7b9bf0, event=0x7fff128fdc20) at graphicsview/qgraphicsitem.cpp:6747
Comment 10 Sam Fishback 2015-02-21 03:51:35 UTC
Created attachment 91194 [details]
New crash information added by DrKonqi

plasma-desktop (4.11.15) on KDE Platform 4.14.4 using Qt 4.8.6

- What I was doing when the application crashed:
clicked left mouse, dragged widget 'Hard Disk Space Usage' to grid desktop. widget would not mount with click release. attempted to drag elsewhere on grid, would not mount. Closed widget to attempt mounting a second time. widget crashed and closed.
- Unusual behavior I noticed:
the widget would not mount to grid desktop.

-- Backtrace (Reduced):
#5  0x00007f360a6b2fcf in QGraphicsItem::setParentItem(QGraphicsItem*) () from /lib64/libQtGui.so.4
#6  0x00007f35ded910f1 in GroupingContainmentPrivate::onWidgetMoved(QGraphicsWidget*) () from /lib64/libplasma_groupingcontainment.so.4
#7  0x00007f35ded91749 in GroupingContainment::setMovingWidget(QGraphicsWidget*) () from /lib64/libplasma_groupingcontainment.so.4
#8  0x00007f35ded9404c in GroupingContainment::eventFilter(QObject*, QEvent*) () from /lib64/libplasma_groupingcontainment.so.4
#9  0x00007f360af8f876 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib64/libQtCore.so.4
Comment 11 Nate Graham 2018-06-08 18:17:58 UTC
Hello!

This bug report was filed for KDE Plasma 4, which reached end-of-support status in August 2015. KDE Plasma 5's desktop shell has been almost completely rewritten for better performance and usability, so it is likely that this bug has already been resolved in Plasma 5.

Accordingly, we hope you understand why we must close this bug report. If the issue described  here is still present in KDE Plasma 5.12 or later, please feel free to open a new ticket in the "plasmashell" product after reading https://community.kde.org/Get_Involved/Bug_Reporting

If you would like to get involved in KDE's bug triaging effort so that future mass bug closes like this are less likely, please read https://community.kde.org/Get_Involved#Bug_Triaging

Thanks for your understanding!

Nate Graham