Bug 227615

Summary: Crash after moving an extender widget on the desktop and deleting it
Product: [Unmaintained] plasma4 Reporter: Dima Ryazanov <dima>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: andresbajotierra
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Dima Ryazanov 2010-02-19 03:12:04 UTC
Application: plasma-desktop (0.3)
KDE Platform Version: 4.4.00 (KDE 4.4.0)
Qt Version: 4.6.1
Operating System: Linux 2.6.31-19-generic x86_64
Distribution: Ubuntu 9.10

-- Information about the crash:
Drag an extender widget - such as a calendar that appears when clicking the clock - to the desktop. Drag it around the desktop a few times (both using the handle that appears on mouse over, and the widget itself), rotate it, etc. After a few clicks, the widget becomes blank. Now remove it. Plasma crashes.

The crash can be reproduced every time.

 -- Backtrace:
Application: Plasma Workspace (kdeinit4), signal: Segmentation fault
The current source language is "auto; currently c".
[Current thread is 1 (Thread 0x7ff38f2b57f0 (LWP 2126))]

Thread 2 (Thread 0x7ff3635ce910 (LWP 2130)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007ff380170396 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7ff38044e220) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304
#2  0x00007ff3801703d9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7ff38045c2ec) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438
#3  0x00007ff38d505a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007ff38c2ca80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ff38f2b57f0 (LWP 2126)):
[KCrash Handler]
#5  0x00007ff36bdafb44 in Plasma::Calendar::calendarTable (this=0x28b5870) at ../../../libs/plasmaclock/calendar.cpp:172
#6  0x00007ff36bdafec9 in Plasma::Calendar::calendar (this=0x28b5870) at ../../../libs/plasmaclock/calendar.cpp:198
#7  0x00007ff36bfca868 in Clock::paintInterface (this=0x24ee520, p=0x7fffd4831230, option=<value optimized out>, contentsRect=...) at ../../../../../plasma/generic/applets/digital-clock/clock.cpp:362
#8  0x00007ff385820e9f in Plasma::Applet::paint (this=0x24ee520, painter=0x7fffd4831230, option=0x2032d28, widget=0x0) at ../../plasma/applet.cpp:1365
#9  0x00007ff38d0330ea in _q_paintItem (item=<value optimized out>, painter=0x7fffd4831230, option=0x2032d28, widget=0x0, useWindowOpacity=<value optimized out>, 
    painterStateProtection=<value optimized out>) at graphicsview/qgraphicsscene.cpp:4218
#10 0x00007ff38d03337c in _q_paintIntoCache (pix=0x7fffd48318c0, item=<value optimized out>, pixmapExposed=..., itemToPixmap=<value optimized out>, renderHints=)
    at graphicsview/qgraphicsscene.cpp:4256
#11 0x00007ff38d047283 in QGraphicsScenePrivate::drawItemHelper (this=<value optimized out>, item=0x24ee530, painter=0x7fffd4832a10, option=0x2032d28, widget=<value optimized out>, 
    painterStateProtection=<value optimized out>) at graphicsview/qgraphicsscene.cpp:4549
#12 0x00007ff38d047dcd in QGraphicsScenePrivate::draw (this=<value optimized out>, item=0x24ee530, painter=0x7fffd4832a10, viewTransform=<value optimized out>, transformPtr=<value optimized out>, 
    exposedRegion=<value optimized out>, widget=0x29a4000, opacity=<value optimized out>, effectTransform=0x0, wasDirtyParentSceneTransform=false, drawItem=true)
    at graphicsview/qgraphicsscene.cpp:4767
#13 0x00007ff38d048702 in QGraphicsScenePrivate::drawSubtreeRecursive (this=<value optimized out>, item=0x24ee530, painter=0x7fffd4832a10, viewTransform=0x7fffd48327c0, exposedRegion=0x298d2f0, 
    widget=0x29a4000, parentOpacity=<value optimized out>, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4700
#14 0x00007ff38d047c68 in QGraphicsScenePrivate::draw (this=<value optimized out>, item=0x24baaa0, painter=0x7fffd4832a10, viewTransform=<value optimized out>, transformPtr=<value optimized out>, 
    exposedRegion=<value optimized out>, widget=0x29a4000, opacity=<value optimized out>, effectTransform=0x0, wasDirtyParentSceneTransform=false, drawItem=true)
    at graphicsview/qgraphicsscene.cpp:4781
#15 0x00007ff38d048702 in QGraphicsScenePrivate::drawSubtreeRecursive (this=<value optimized out>, item=0x24baaa0, painter=0x7fffd4832a10, viewTransform=0x7fffd48327c0, exposedRegion=0x298d2f0, 
    widget=0x29a4000, parentOpacity=<value optimized out>, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4700
#16 0x00007ff38d048e6c in QGraphicsScenePrivate::drawItems (this=0x2032ad0, painter=0x7fffd4832a10, viewTransform=0x7fffd48327c0, exposedRegion=0x298d2f0, widget=0x29a4000)
    at graphicsview/qgraphicsscene.cpp:4593
#17 0x00007ff38d068125 in QGraphicsView::paintEvent (this=0x298dd70, event=<value optimized out>) at graphicsview/qgraphicsview.cpp:3394
#18 0x00007ff3806dbbf9 in PanelView::paintEvent (this=0x28b5870, event=0x118) at ../../../../plasma/desktop/shell/panelview.cpp:1310
#19 0x00007ff38ca7df32 in QWidget::event (this=0x298dd70, event=0x7fffd4833350) at kernel/qwidget.cpp:8124
#20 0x00007ff38ce240d6 in QFrame::event (this=0x298dd70, e=0x7fffd4833350) at widgets/qframe.cpp:557
#21 0x00007ff38d06349b in QGraphicsView::viewportEvent (this=0x298dd70, event=0x7fffd4833350) at graphicsview/qgraphicsview.cpp:2788
#22 0x00007ff38d888357 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x29a4000, event=0x7fffd4833350) at kernel/qcoreapplication.cpp:819
#23 0x00007ff38ca27f7c in QApplicationPrivate::notify_helper (this=0x1fa1bb0, receiver=0x29a4000, e=0x7fffd4833350) at kernel/qapplication.cpp:4294
#24 0x00007ff38ca2e59b in QApplication::notify (this=0x1f8ba80, receiver=0x29a4000, e=0x7fffd4833350) at kernel/qapplication.cpp:4181
#25 0x00007ff38ddd0d16 in KApplication::notify (this=0x1f8ba80, receiver=0x29a4000, event=0x7fffd4833350) at ../../kdeui/kernel/kapplication.cpp:302
#26 0x00007ff38d888f3c in QCoreApplication::notifyInternal (this=0x1f8ba80, receiver=0x29a4000, event=0x7fffd4833350) at kernel/qcoreapplication.cpp:704
#27 0x00007ff38ca8648d in QCoreApplication::sendSpontaneousEvent (this=0x29a4030, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, 
    backingStore=0x29a47a0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#28 QWidgetPrivate::drawWidget (this=0x29a4030, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x29a47a0)
    at kernel/qwidget.cpp:5321
#29 0x00007ff38ca87128 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=2, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x29a47a0) at kernel/qwidget.cpp:5434
#30 0x00007ff38ca86f59 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=4, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x29a47a0) at kernel/qwidget.cpp:5421
#31 0x00007ff38ca86f59 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=5, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x29a47a0) at kernel/qwidget.cpp:5421
#32 0x00007ff38ca86f59 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=6, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x29a47a0) at kernel/qwidget.cpp:5421
#33 0x00007ff38ca86f59 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=7, rgn=<value optimized out>, 
    offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x29a47a0) at kernel/qwidget.cpp:5421
#34 0x00007ff38ca861ea in QWidgetPrivate::drawWidget (this=0x298ce30, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, 
    backingStore=0x29a47a0) at kernel/qwidget.cpp:5370
#35 0x00007ff38cc3f545 in QWidgetBackingStore::sync (this=0x29a47a0) at painting/qbackingstore.cpp:1291
#36 0x00007ff38ca77ee0 in QWidgetPrivate::syncBackingStore (this=0x298ce30) at kernel/qwidget.cpp:1663
#37 0x00007ff38ca7e635 in QWidget::event (this=0x298dd70, event=0x49195c0) at kernel/qwidget.cpp:8271
#38 0x00007ff38ce240d6 in QFrame::event (this=0x298dd70, e=0x49195c0) at widgets/qframe.cpp:557
#39 0x00007ff38ceaf51b in QAbstractScrollArea::event (this=0x298dd70, e=0x49195c0) at widgets/qabstractscrollarea.cpp:989
#40 0x00007ff3806ddf50 in PanelView::event (this=0x298dd70, event=0x49195c0) at ../../../../plasma/desktop/shell/panelview.cpp:1324
#41 0x00007ff38ca27fac in QApplicationPrivate::notify_helper (this=0x1fa1bb0, receiver=0x298dd70, e=0x49195c0) at kernel/qapplication.cpp:4298
#42 0x00007ff38ca2e59b in QApplication::notify (this=0x1f8ba80, receiver=0x298dd70, e=0x49195c0) at kernel/qapplication.cpp:4181
#43 0x00007ff38ddd0d16 in KApplication::notify (this=0x1f8ba80, receiver=0x298dd70, event=0x49195c0) at ../../kdeui/kernel/kapplication.cpp:302
#44 0x00007ff38d888f3c in QCoreApplication::notifyInternal (this=0x1f8ba80, receiver=0x298dd70, event=0x49195c0) at kernel/qcoreapplication.cpp:704
#45 0x00007ff38d88b6b7 in QCoreApplication::sendEvent (receiver=0x298dd70, event_type=<value optimized out>, data=0x1f152e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#46 QCoreApplicationPrivate::sendPostedEvents (receiver=0x298dd70, event_type=<value optimized out>, data=0x1f152e0) at kernel/qcoreapplication.cpp:1345
#47 0x00007ff38d04fa7a in QGraphicsViewPrivate::dispatchPendingUpdateRequests (this=0x2032ad0) at ../../include/QtGui/private/../../../src/gui/graphicsview/qgraphicsview_p.h:184
#48 QGraphicsScenePrivate::_q_processDirtyItems (this=0x2032ad0) at graphicsview/qgraphicsscene.cpp:490
#49 0x00007ff38d050002 in QGraphicsScene::qt_metacall (this=0x212a1b0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x47ef7b0) at .moc/release-shared/moc_qgraphicsscene.cpp:130
#50 0x00007ff385849565 in Plasma::Corona::qt_metacall (this=0x28b5870, _c=280, _id=1, _a=0x28cfb40) at ./corona.moc:107
#51 0x00007ff3806cdde3 in DesktopCorona::qt_metacall (this=0x28b5870, _c=280, _id=1, _a=0x28cfb40) at ./desktopcorona.moc:86
#52 0x00007ff38d898c79 in QObject::event (this=0x212a1b0, e=0x47ed310) at kernel/qobject.cpp:1248
#53 0x00007ff38d04bfb0 in QGraphicsScene::event (this=0x212a1b0, event=0x47ed310) at graphicsview/qgraphicsscene.cpp:3475
#54 0x00007ff38ca27fac in QApplicationPrivate::notify_helper (this=0x1fa1bb0, receiver=0x212a1b0, e=0x47ed310) at kernel/qapplication.cpp:4298
#55 0x00007ff38ca2e59b in QApplication::notify (this=0x1f8ba80, receiver=0x212a1b0, e=0x47ed310) at kernel/qapplication.cpp:4181
#56 0x00007ff38ddd0d16 in KApplication::notify (this=0x1f8ba80, receiver=0x212a1b0, event=0x47ed310) at ../../kdeui/kernel/kapplication.cpp:302
#57 0x00007ff38d888f3c in QCoreApplication::notifyInternal (this=0x1f8ba80, receiver=0x212a1b0, event=0x47ed310) at kernel/qcoreapplication.cpp:704
#58 0x00007ff38d88b6b7 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x1f152e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#59 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x1f152e0) at kernel/qcoreapplication.cpp:1345
#60 0x00007ff38d8b2923 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#61 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#62 0x00007ff388a97bce in g_main_dispatch (context=0x1fa4080) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:1960
#63 IA__g_main_context_dispatch (context=0x1fa4080) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2513
#64 0x00007ff388a9b598 in g_main_context_iterate (context=0x1fa4080, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>)
    at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2591
#65 0x00007ff388a9b6c0 in IA__g_main_context_iteration (context=0x1fa4080, may_block=1) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2654
#66 0x00007ff38d8b2463 in QEventDispatcherGlib::processEvents (this=0x1f167f0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#67 0x00007ff38cad77ee in QGuiEventDispatcherGlib::processEvents (this=0x28b5870, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#68 0x00007ff38d887862 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#69 0x00007ff38d887c3c in QEventLoop::exec (this=0x7fffd4835b80, flags=) at kernel/qeventloop.cpp:201
#70 0x00007ff38d88b97b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#71 0x00007ff3806d50a2 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at ../../../../plasma/desktop/shell/main.cpp:112
#72 0x0000000000406fb8 in launch (argc=1, _name=<value optimized out>, args=<value optimized out>, cwd=<value optimized out>, envc=0, envs=<value optimized out>, reset_env=false, tty=0x0, 
    avoid_loops=false, startup_id_str=0x40a499 "0") at ../../kinit/kinit.cpp:717
#73 0x0000000000407c70 in handle_launcher_request (sock=8, who=<value optimized out>) at ../../kinit/kinit.cpp:1209
#74 0x0000000000408121 in handle_requests (waitForPid=0) at ../../kinit/kinit.cpp:1402
#75 0x0000000000408df2 in main (argc=4, argv=<value optimized out>, envp=<value optimized out>) at ../../kinit/kinit.cpp:1841
The current source language is "auto; currently asm".
The current source language is "auto; currently c".

This bug may be a duplicate of or related to bug 227297.

Reported using DrKonqi
Comment 1 Dima Ryazanov 2010-02-19 03:32:26 UTC
Actually, it's even simpler (at least, for notification widgets):
Drag the widget to the desktop.
Drag it once on the desktop using the "titlebar" (not the mouse-over handle). The widget is now blank.
Remove it. Crash.
Comment 2 Dario Andres 2010-02-19 14:25:47 UTC
Fixed in KDE SC 4.4.1 and 4.5: bug 219194.
Regards

*** This bug has been marked as a duplicate of bug 219194 ***