Bug 323742 - plasma-desktop crashes when dragging windows from task manager to pager
Summary: plasma-desktop crashes when dragging windows from task manager to pager
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: 4.11.0
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2013-08-19 18:22 UTC by Jens Rutschmann
Modified: 2013-08-26 22:10 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.11.1


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jens Rutschmann 2013-08-19 18:22:27 UTC
Application: plasma-desktop (4.11.00)
KDE Platform Version: 4.11.00 (Compiled from sources)
Qt Version: 4.8.5
Operating System: Linux 3.9.9 i686
Distribution (Platform): Gentoo Packages

-- Information about the crash:
What I was doing when the application crashed:
- I have 4 virtual desktops.
- Akregator window was placed on desktop 2
- I wanted to move it to desktop 1 by dragging it onto the respective icon in the pager as used from KDE 4.10
- I dragged the window onto the icon and waited until the desktop was switched to desktop 1
-> Crash

In the meantime I learned that this feature was removed in 4.11 but you might still be interested in fixing the crash.

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma-Desktop-Umgebung (plasma-desktop), signal: Segmentation fault
Using host libthread_db library "/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0xae26a740 (LWP 24511))]

Thread 3 (Thread 0xabd02b40 (LWP 24574)):
#0  0xb76f9424 in __kernel_vsyscall ()
#1  0xb5d7cbcc in pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb759f12c in __pthread_cond_wait (cond=0xb3a638b0 <QTWTF::pageheap_memory+20720>, mutex=0xb3a63898 <QTWTF::pageheap_memory+20696>) at forward.c:149
#3  0xb395e821 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0xb3a5e7c0 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#4  0xb395e85f in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0xb3a5e7c0 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#5  0xb5d78dff in start_thread (arg=0xabd02b40) at pthread_create.c:308
#6  0xb7591d8e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 2 (Thread 0xa342bb40 (LWP 24622)):
#0  0xb76f9424 in __kernel_vsyscall ()
#1  0xb75a4cc2 in clock_gettime (clock_id=1, tp=0xa342af78) at ../sysdeps/unix/clock_gettime.c:115
#2  0xb5e5d4b5 in do_gettime (frac=0xa342af70, sec=0xa342af68) at tools/qelapsedtimer_unix.cpp:127
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:144
#4  0xb5f4bcd6 in QTimerInfoList::updateCurrentTime (this=0xa2b020bc) at kernel/qeventdispatcher_unix.cpp:354
#5  0xb5f4c03a in QTimerInfoList::timerWait (this=0xa2b020bc, tm=...) at kernel/qeventdispatcher_unix.cpp:460
#6  0xb5f4a703 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xa342b09c) at kernel/qeventdispatcher_glib.cpp:136
#7  0xb5f4a7a5 in timerSourcePrepare (source=0xa2b02088, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#8  0xb27a037e in g_main_context_prepare (context=0xa2b004f8, priority=0xa342b0f8) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3328
#9  0xb27a0c3f in g_main_context_iterate (dispatch=1, block=1, context=0xa2b004f8, self=<optimized out>) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3681
#10 g_main_context_iterate (context=0xa2b004f8, block=1, dispatch=1, self=<optimized out>) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3638
#11 0xb27a0e91 in g_main_context_iteration (context=0xa2b004f8, may_block=1) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3762
#12 0xb5f4b26f in QEventDispatcherGlib::processEvents (this=0xa2b00480, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#13 0xb5f1675d in QEventLoop::processEvents (this=0xa342b220, flags=...) at kernel/qeventloop.cpp:149
#14 0xb5f169f9 in QEventLoop::exec (this=0xa342b220, flags=...) at kernel/qeventloop.cpp:204
#15 0xb5dfafdc in QThread::exec (this=0x9712fa8) at thread/qthread.cpp:536
#16 0xb5ef35fd in QInotifyFileSystemWatcherEngine::run (this=0x9712fa8) at io/qfilesystemwatcher_inotify.cpp:256
#17 0xb5dfe528 in QThreadPrivate::start (arg=0x9712fa8) at thread/qthread_unix.cpp:338
#18 0xb5d78dff in start_thread (arg=0xa342bb40) at pthread_create.c:308
#19 0xb7591d8e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131

Thread 1 (Thread 0xae26a740 (LWP 24511)):
[KCrash Handler]
#7  0xb6c75b6e in QDeclarativeGuard (g=<optimized out>, this=0xa5962c4) at ../../include/QtDeclarative/private/../../../src/declarative/qml/qdeclarativeguard_p.h:165
#8  ObjectData (t=343, o=0xaa36aa0, this=0xa5962c0) at qml/qdeclarativeobjectscriptclass.cpp:70
#9  QDeclarativeObjectScriptClass::newQObject (this=0x9536420, object=0xaa36aa0, type=343) at qml/qdeclarativeobjectscriptclass.cpp:133
#10 0xb6c76cd0 in QDeclarativeObjectScriptClass::property (this=0x9536420, obj=0xbfdb07a0, name=@0xb6db9770: 0xb6ab8230 <QDeclarativeGuard<QObject>::~QDeclarativeGuard()>) at qml/qdeclarativeobjectscriptclass.cpp:277
#11 0xb6c77343 in QDeclarativeObjectScriptClass::property (this=0x9536420, object=0x91ebb88, name=@0xbfdb00e4: 0xa56beec0) at qml/qdeclarativeobjectscriptclass.cpp:218
#12 0xb39e2c4e in QScript::DeclarativeObjectDelegate::getOwnPropertySlot (this=0xa6af820, object=0xa4ce5a00, exec=0xa4d3c048, propertyName=..., slot=...) at bridge/qscriptdeclarativeobject.cpp:76
#13 0xb39ca084 in QScriptObject::getOwnPropertySlot (this=0xa4ce5a00, exec=0xa4d3c048, propertyName=..., slot=...) at bridge/qscriptobject.cpp:61
#14 0xb386bb30 in fastGetOwnPropertySlot (slot=..., propertyName=..., exec=0xa4d3c048, this=0xa4ce5a00) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.h:382
#15 QTJSC::JSValue::get (this=0xbfdb0218, exec=0xa4d3c048, propertyName=..., slot=...) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.h:618
#16 0xb389ffe9 in QTJSC::cti_op_get_by_id_generic (args=0xbfdb0230) at ../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:1237
#17 0xa21a4c54 in ?? ()
#18 0xb385aeec in execute (exception=<optimized out>, globalData=<optimized out>, callFrame=<optimized out>, registerFile=<optimized out>, this=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/jit/JITCode.h:79
#19 QTJSC::Interpreter::execute (this=0xa56c2330, functionExecutable=0xa2001a68, callFrame=0x95348ec, function=0xa1ed2cc0, thisObj=0xa4d3c048, args=..., scopeChain=0xa1cdc810, exception=0xa565da94) at ../3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp:716
#20 0xb38f9c52 in QTJSC::JSFunction::call (this=0xa1ed2cc0, exec=0x95348ec, thisValue=..., args=...) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSFunction.cpp:122
#21 0xb38cd299 in QTJSC::call (exec=0x95348ec, functionObject=..., callType=QTJSC::CallTypeJS, callData=..., thisValue=..., args=...) at ../3rdparty/javascriptcore/JavaScriptCore/runtime/CallData.cpp:62
#22 0xb39c30df in QScriptValue::call (this=0xb6db9770 <vtable for QDeclarativeGuard<QObject>+8>, thisObject=..., args=...) at api/qscriptvalue.cpp:1604
#23 0xb6bd43a8 in QDeclarativeQtScriptExpression::eval (this=0x9542ecc, secondaryScope=0xb6db9770 <vtable for QDeclarativeGuard<QObject>+8>, isUndefined=0x0) at qml/qdeclarativeexpression.cpp:518
#24 0xb6bd6862 in QDeclarativeQtScriptExpression::scriptValue (this=0x9542ecc, secondaryScope=0xb6db9770 <vtable for QDeclarativeGuard<QObject>+8>, isUndefined=0x0) at qml/qdeclarativeexpression.cpp:470
#25 0xb6bd6b6b in QDeclarativeExpressionPrivate::scriptValue (this=0x9542ecc, secondaryScope=0xb6db9770 <vtable for QDeclarativeGuard<QObject>+8>, isUndefined=0xb6db9770 <vtable for QDeclarativeGuard<QObject>+8>) at qml/qdeclarativeexpression.cpp:653
#26 0xb6bd6ce4 in QDeclarativeExpressionPrivate::value (this=0x9542e80, secondaryScope=0xa5dff20, isUndefined=0x0) at qml/qdeclarativeexpression.cpp:667
#27 0xb6c136a8 in QDeclarativeBoundSignal::qt_metacall (this=0x9550218, c=QMetaObject::InvokeMetaMethod, id=5, a=0xbfdb0758) at qml/qdeclarativeboundsignal.cpp:199
#28 0xb5f1eecd in metacall (argv=0xbfdb0758, idx=5, cl=QMetaObject::InvokeMetaMethod, object=0x9550218) at kernel/qmetaobject.cpp:245
#29 QMetaObject::metacall (object=0x9550218, cl=QMetaObject::InvokeMetaMethod, idx=5, argv=0xbfdb0758) at kernel/qmetaobject.cpp:240
#30 0xb5f2eef5 in QMetaObject::activate (sender=0x9552540, m=0xa518ebdc, local_signal_index=2, argv=0xbfdb0758) at kernel/qobject.cpp:3577
#31 0xa5186a35 in ?? () from /usr/lib/kde4/imports/org/kde/draganddrop/libdraganddropplugin.so
#32 0xa5189902 in ?? () from /usr/lib/kde4/imports/org/kde/draganddrop/libdraganddropplugin.so
#33 0xb5a650c5 in QGraphicsItem::sceneEvent (this=0x9552548, event=0xbfdb0e80) at graphicsview/qgraphicsitem.cpp:6726
#34 0xb6b5f583 in QDeclarativeItem::sceneEvent (this=0x9552540, event=0xbfdb0e80) at graphicsitems/qdeclarativeitem.cpp:3047
#35 0xb5a8e8ee in sendEvent (event=0xbfdb0e80, item=0x9552548, this=<optimized out>) at graphicsview/qgraphicsscene.cpp:1221
#36 QGraphicsScenePrivate::sendEvent (this=0x8cb67f8, item=0x9552548, event=0xbfdb0e80) at graphicsview/qgraphicsscene.cpp:1197
#37 0xb5a9022f in QGraphicsScenePrivate::sendDragDropEvent (this=0x8cb67f8, item=0x9552548, dragDropEvent=0xbfdb0e80) at graphicsview/qgraphicsscene.cpp:1250
#38 0xb5a90756 in QGraphicsScene::dragMoveEvent (this=0x8d68238, event=0xbfdb0e80) at graphicsview/qgraphicsscene.cpp:3706
#39 0xb7276b63 in Plasma::Corona::dragMoveEvent (this=0x8d68238, event=0xbfdb0e80) at /tmp/portage/kde-base/kdelibs-4.11.0/work/kdelibs-4.11.0/plasma/corona.cpp:652
#40 0xb5a9e98c in QGraphicsScene::event (this=0x8d68238, event=0xbfdb0e80) at graphicsview/qgraphicsscene.cpp:3403
#41 0xb5408364 in notify_helper (e=0xbfdb0e80, receiver=0x8d68238, this=0x8c769d0) at kernel/qapplication.cpp:4562
#42 QApplicationPrivate::notify_helper (this=0x8c769d0, receiver=0x8d68238, e=0xbfdb0e80) at kernel/qapplication.cpp:4534
#43 0xb540d7ca in QApplication::notify (this=0xbfdb0e80, receiver=0x8d68238, e=0xbfdb0e80) at kernel/qapplication.cpp:4291
#44 0xb6606881 in KApplication::notify (this=0x8c4e830, receiver=0x8d68238, event=0xbfdb0e80) at /tmp/portage/kde-base/kdelibs-4.11.0/work/kdelibs-4.11.0/kdeui/kernel/kapplication.cpp:311
#45 0xb5f17f8e in QCoreApplication::notifyInternal (this=0x8c4e830, receiver=0x8d68238, event=0xbfdb0e80) at kernel/qcoreapplication.cpp:949
#46 0xb5ab7582 in sendEvent (event=0xbfdb0e80, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#47 QGraphicsView::dragMoveEvent (this=0xa282320, event=0xbfdb1500) at graphicsview/qgraphicsview.cpp:3018
#48 0xb5463b0b in QWidget::event (this=0xa282320, event=0xbfdb1500) at kernel/qwidget.cpp:8585
#49 0xb5857575 in QFrame::event (this=0xa282320, e=0xbfdb1500) at widgets/qframe.cpp:557
#50 0xb58eb4d1 in QAbstractScrollArea::viewportEvent (this=0xa282320, e=0xbfdb1500) at widgets/qabstractscrollarea.cpp:1043
#51 0xb5ac0b8c in QGraphicsView::viewportEvent (this=0xa282320, event=0xbfdb1500) at graphicsview/qgraphicsview.cpp:2866
#52 0xb58edc46 in viewportEvent (this=<optimized out>, event=0xbfdb1500) at widgets/qabstractscrollarea_p.h:100
#53 eventFilter (e=0xbfdb1500, this=<optimized out>, o=<optimized out>) at widgets/qabstractscrollarea_p.h:116
#54 QAbstractScrollAreaFilter::eventFilter (this=0xa2371f0, o=0xa283008, e=0xbfdb1500) at widgets/qabstractscrollarea_p.h:115
#55 0xb5f18126 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x8c769d0, receiver=0xa283008, event=0xbfdb1500) at kernel/qcoreapplication.cpp:1059
#56 0xb5408332 in notify_helper (e=0xbfdb1500, receiver=0xa283008, this=0x8c769d0) at kernel/qapplication.cpp:4558
#57 QApplicationPrivate::notify_helper (this=0x8c769d0, receiver=0xa283008, e=0xbfdb1500) at kernel/qapplication.cpp:4534
#58 0xb540e0ff in QApplication::notify (this=0x8c769d0, receiver=0xa283008, e=0xbfdb1500) at kernel/qapplication.cpp:4348
#59 0xb6606881 in KApplication::notify (this=0x8c4e830, receiver=0xa283008, event=0xbfdb1500) at /tmp/portage/kde-base/kdelibs-4.11.0/work/kdelibs-4.11.0/kdeui/kernel/kapplication.cpp:311
#60 0xb5f17f8e in QCoreApplication::notifyInternal (this=0x8c4e830, receiver=0xa283008, event=0xbfdb1500) at kernel/qcoreapplication.cpp:949
#61 0xb54a0763 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#62 handle_xdnd_position (w=0xa282320, xe=0xbfdb16d4, passive=false) at kernel/qdnd_x11.cpp:934
#63 0xb54a15ca in QDragManager::move (this=0xa8961e8, globalPos=...) at kernel/qdnd_x11.cpp:1704
#64 0xb54a1f2f in QDragManager::eventFilter (this=0xa8961e8, o=0x9531338, e=0xbfdb1ce8) at kernel/qdnd_x11.cpp:1304
#65 0xb5f1805b in QCoreApplicationPrivate::sendThroughApplicationEventFilters (this=0x8c769d0, receiver=0x9531338, event=0xbfdb1ce8) at kernel/qcoreapplication.cpp:1040
#66 0xb54082da in QApplicationPrivate::notify_helper (this=0x8c769d0, receiver=0x9531338, e=0xbfdb1ce8) at kernel/qapplication.cpp:4537
#67 0xb540e4b8 in QApplication::notify (this=0x8c769d0, receiver=0x9531338, e=0xbfdb1ce8) at kernel/qapplication.cpp:4105
#68 0xb6606881 in KApplication::notify (this=0x8c4e830, receiver=0x9531338, event=0xbfdb1ce8) at /tmp/portage/kde-base/kdelibs-4.11.0/work/kdelibs-4.11.0/kdeui/kernel/kapplication.cpp:311
#69 0xb5f17f8e in QCoreApplication::notifyInternal (this=0x8c4e830, receiver=0x9531338, event=0xbfdb1ce8) at kernel/qcoreapplication.cpp:949
#70 0xb5409365 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#71 QApplicationPrivate::sendMouseEvent (receiver=0x9531338, event=0xbfdb1ce8, alienWidget=0x0, nativeWidget=0x9531338, buttonDown=0xb5d6ec74 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3173
#72 0xb54926b7 in QETWidget::translateMouseEvent (this=0x9531338, event=0xbfdb20c0) at kernel/qapplication_x11.cpp:4517
#73 0xb5491256 in QApplication::x11ProcessEvent (this=0x8c4e830, event=0xbfdb20c0) at kernel/qapplication_x11.cpp:3640
#74 0xb54bca9c in x11EventSourceDispatch (s=0x8c78560, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#75 0xb27a0a16 in g_main_dispatch (context=0x8b93f08) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3054
#76 g_main_context_dispatch (context=0x8b93f08) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3630
#77 0xb27a0db8 in g_main_context_iterate (dispatch=1, block=-1300566832, context=0x8b93f08, self=<optimized out>) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3701
#78 g_main_context_iterate (context=0x8b93f08, block=-1300566832, dispatch=1, self=<optimized out>) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3638
#79 0xb27a0e91 in g_main_context_iteration (context=0x8b93f08, may_block=1) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3762
#80 0xb5f4b207 in QEventDispatcherGlib::processEvents (this=0x8c73d18, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#81 0xb54bc6ba in QGuiEventDispatcherGlib::processEvents (this=0x8c73d18, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#82 0xb5f1675d in QEventLoop::processEvents (this=0x961d670, flags=...) at kernel/qeventloop.cpp:149
#83 0xb5f169f9 in QEventLoop::exec (this=0x961d670, flags=...) at kernel/qeventloop.cpp:204
#84 0xb54a1bcd in QDragManager::drag (this=0xa8961e8, o=0x98d55b8) at kernel/qdnd_x11.cpp:2028
#85 0xb541bc55 in QDrag::exec (this=0x98d55b8, supportedActions=..., defaultDropAction=Qt::MoveAction) at kernel/qdrag.cpp:284
#86 0xa51894ce in ?? () from /usr/lib/kde4/imports/org/kde/draganddrop/libdraganddropplugin.so
#87 0xa51895bc in ?? () from /usr/lib/kde4/imports/org/kde/draganddrop/libdraganddropplugin.so
#88 0xb5a87fe7 in QGraphicsScenePrivate::filterDescendantEvent (this=0x8cb67f8, item=0xa24d9a8, event=0xbfdb2cf4) at graphicsview/qgraphicsscene.cpp:1159
#89 0xb5a8e884 in QGraphicsScenePrivate::sendEvent (this=0x8cb67f8, item=0xa24d9a8, event=0xbfdb2cf4) at graphicsview/qgraphicsscene.cpp:1211
#90 0xb5a8f52b in QGraphicsScenePrivate::sendMouseEvent (this=0x8cb67f8, mouseEvent=0xbfdb2cf4) at graphicsview/qgraphicsscene.cpp:1295
#91 0xb5a90103 in QGraphicsScene::mouseMoveEvent (this=0x8d68238, mouseEvent=0xbfdb2cf4) at graphicsview/qgraphicsscene.cpp:4102
#92 0xb5a9eaf7 in QGraphicsScene::event (this=0x8d68238, event=0xbfdb2cf4) at graphicsview/qgraphicsscene.cpp:3451
#93 0xb5408364 in notify_helper (e=0xbfdb2cf4, receiver=0x8d68238, this=0x8c769d0) at kernel/qapplication.cpp:4562
#94 QApplicationPrivate::notify_helper (this=0x8c769d0, receiver=0x8d68238, e=0xbfdb2cf4) at kernel/qapplication.cpp:4534
#95 0xb540d7ca in QApplication::notify (this=0xbfdb2cf4, receiver=0x8d68238, e=0xbfdb2cf4) at kernel/qapplication.cpp:4291
#96 0xb6606881 in KApplication::notify (this=0x8c4e830, receiver=0x8d68238, event=0xbfdb2cf4) at /tmp/portage/kde-base/kdelibs-4.11.0/work/kdelibs-4.11.0/kdeui/kernel/kapplication.cpp:311
#97 0xb5f17f8e in QCoreApplication::notifyInternal (this=0x8c4e830, receiver=0x8d68238, event=0xbfdb2cf4) at kernel/qcoreapplication.cpp:949
#98 0xb540651d in sendSpontaneousEvent (event=0xbfdb2cf4, receiver=0x8d68238) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#99 qt_sendSpontaneousEvent (receiver=0x8d68238, event=0xbfdb2cf4) at kernel/qapplication.cpp:5560
#100 0xb5abbfba in QGraphicsViewPrivate::mouseMoveEventHandler (this=0xa27e0c0, event=0xbfdb3598) at graphicsview/qgraphicsview.cpp:646
#101 0xb5abc21e in QGraphicsView::mouseMoveEvent (this=0xa282320, event=0xbfdb3598) at graphicsview/qgraphicsview.cpp:3276
#102 0xb5462ef1 in QWidget::event (this=0xa282320, event=0xbfdb3598) at kernel/qwidget.cpp:8361
#103 0xb5857575 in QFrame::event (this=0xa282320, e=0xbfdb3598) at widgets/qframe.cpp:557
#104 0xb58eb4d1 in QAbstractScrollArea::viewportEvent (this=0xa282320, e=0xbfdb3598) at widgets/qabstractscrollarea.cpp:1043
#105 0xb5ac0b8c in QGraphicsView::viewportEvent (this=0xa282320, event=0xbfdb3598) at graphicsview/qgraphicsview.cpp:2866
#106 0xb58edc46 in viewportEvent (this=<optimized out>, event=0xbfdb3598) at widgets/qabstractscrollarea_p.h:100
#107 eventFilter (e=0xbfdb3598, this=<optimized out>, o=<optimized out>) at widgets/qabstractscrollarea_p.h:116
#108 QAbstractScrollAreaFilter::eventFilter (this=0xa2371f0, o=0xa283008, e=0xbfdb3598) at widgets/qabstractscrollarea_p.h:115
#109 0xb5f18126 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x8c769d0, receiver=0xa283008, event=0xbfdb3598) at kernel/qcoreapplication.cpp:1059
#110 0xb5408332 in notify_helper (e=0xbfdb3598, receiver=0xa283008, this=0x8c769d0) at kernel/qapplication.cpp:4558
#111 QApplicationPrivate::notify_helper (this=0x8c769d0, receiver=0xa283008, e=0xbfdb3598) at kernel/qapplication.cpp:4534
#112 0xb540e4b8 in QApplication::notify (this=0x8c769d0, receiver=0xa283008, e=0xbfdb3598) at kernel/qapplication.cpp:4105
#113 0xb6606881 in KApplication::notify (this=0x8c4e830, receiver=0xa283008, event=0xbfdb3598) at /tmp/portage/kde-base/kdelibs-4.11.0/work/kdelibs-4.11.0/kdeui/kernel/kapplication.cpp:311
#114 0xb5f17f8e in QCoreApplication::notifyInternal (this=0x8c4e830, receiver=0xa283008, event=0xbfdb3598) at kernel/qcoreapplication.cpp:949
#115 0xb5409365 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#116 QApplicationPrivate::sendMouseEvent (receiver=0xa283008, event=0xbfdb3598, alienWidget=0xa283008, nativeWidget=0xa282320, buttonDown=0xb5d6ec74 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3173
#117 0xb54926b7 in QETWidget::translateMouseEvent (this=0xa282320, event=0xbfdb3970) at kernel/qapplication_x11.cpp:4517
#118 0xb5491256 in QApplication::x11ProcessEvent (this=0x8c4e830, event=0xbfdb3970) at kernel/qapplication_x11.cpp:3640
#119 0xb54bca9c in x11EventSourceDispatch (s=0x8c78560, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#120 0xb27a0a16 in g_main_dispatch (context=0x8b93f08) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3054
#121 g_main_context_dispatch (context=0x8b93f08) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3630
#122 0xb27a0db8 in g_main_context_iterate (dispatch=1, block=-1300566832, context=0x8b93f08, self=<optimized out>) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3701
#123 g_main_context_iterate (context=0x8b93f08, block=-1300566832, dispatch=1, self=<optimized out>) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3638
#124 0xb27a0e91 in g_main_context_iteration (context=0x8b93f08, may_block=1) at /tmp/portage/dev-libs/glib-2.36.4/work/glib-2.36.4/glib/gmain.c:3762
#125 0xb5f4b207 in QEventDispatcherGlib::processEvents (this=0x8c73d18, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#126 0xb54bc6ba in QGuiEventDispatcherGlib::processEvents (this=0x8c73d18, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#127 0xb5f1675d in QEventLoop::processEvents (this=0xbfdb3c64, flags=...) at kernel/qeventloop.cpp:149
#128 0xb5f169f9 in QEventLoop::exec (this=0xbfdb3c64, flags=...) at kernel/qeventloop.cpp:204
#129 0xb5f1c09a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#130 0xb54062a4 in QApplication::exec () at kernel/qapplication.cpp:3823
#131 0xb76873b9 in kdemain (argc=1, argv=0xbfdb3e64) at /tmp/portage/kde-base/plasma-workspace-4.11.0/work/plasma-workspace-4.11.0/plasma/desktop/shell/main.cpp:126
#132 0x0804858b in main (argc=1, argv=0xbfdb3e64) at /tmp/portage/kde-base/plasma-workspace-4.11.0/work/plasma-workspace-4.11.0_build/plasma/desktop/shell/plasma-desktop_dummy.cpp:3

Reported using DrKonqi
Comment 1 Eike Hein 2013-08-20 17:20:34 UTC
Thanks for the backtrace. Drag-to-pager was reimplemented for 4.11.1 now and isn't crashing for me, so hopefully this is fixed, whatever it was ...
Comment 2 Jens Rutschmann 2013-08-20 21:26:52 UTC
Hi Eike,

could you give me a pointer to the patch / git revision? 
I'd be glad to test it - if it can be applied on top of 4.11.0

Thanks,
Jens
Comment 3 Eike Hein 2013-08-20 21:29:49 UTC
It should be fairly easy to apply, however you need to patch both kde-runtime and kde-workspace (the reason the feature didn't make 4.11.0 was that there was a missing feature in an underlying library that I had to get through review first). Here are the relevant revisions in the two repositories:

http://quickgit.kde.org/?p=kde-runtime.git&a=commit&h=7b69cd2f6c28a088c886a51549005b8edcbb91f1

http://quickgit.kde.org/?p=kde-workspace.git&a=commit&h=e7b8ac8397721f7870ccb2158275afe4a463878f

If you get a chance to test it before 4.11.1 is tagged that would be much appreciated!
Comment 4 Jens Rutschmann 2013-08-21 19:08:43 UTC
Unfortunately I'm still getting the same crash. Could be a PEBKAC but I've seen from the build log that the Gentoo package manager applied the patches cleanly. I then first tried a re-login, then a reboot without any change. Do I need to create a new panel first?

Let me describe the behavior a bit better:

When I drag the window to the pager all is fine, no crash so far - can't drop it there though.
Now I keep the window icon dragged over a desktop symbol and wait there a few seconds.
Then the system switches to this desktop (window icon is still being dragged). I can move it around on the pager and quick start icons in the panel without problem, but  as soon as I drag it over the task manager area the crash occurs.

Let me know if you need further info.
Comment 5 Eike Hein 2013-08-21 19:12:28 UTC
Thanks for testing - I haven't had a chance to try your new steps to reproduce yet, but I'll reopen this for now.
Comment 6 Eike Hein 2013-08-26 21:57:58 UTC
Git commit af6653c766981ca81bac499de284abcdc2c7f08f by Eike Hein.
Committed on 26/08/2013 at 21:57.
Pushed by hein into branch 'KDE/4.11'.

Factor drag instanciation out into a C++ helper.

This moves the drag source out of the task delegate, making
sure it survives the delegate in scenarios where it might be
destroyed prior to dropping (e.g. due to a virtual desktop
switch), avoiding a crash. I'd like to move this back into
QML in Plasma 2 if we can add a programmatic way to initiate
a drag to DragArea, or work through some of the event hand-
ling issues involved with having a single drag area below
the repeater (though this would mean pretty ugly spaghetti
code regardless), or QML gains the ability to reparent
objects including transferring object ownership (unlikely ...).
Related: bug 322283

This also reduces the number of sub-items the task delegate
instanciates and specifically the number of mouse event-
handling items per task from two to one, simplifying the
scene mouse event filtering that's going on, which appears
to address a second rare crash (or at least it has become
unreproducable here), although further investigation to
prove this conclusively would be nice.

M  +1    -0    plasma/desktop/applets/tasks/CMakeLists.txt
M  +4    -4    plasma/desktop/applets/tasks/package/contents/ui/MouseHandler.qml
M  +58   -49   plasma/desktop/applets/tasks/package/contents/ui/Task.qml
M  +11   -0    plasma/desktop/applets/tasks/package/contents/ui/main.qml
A  +61   -0    plasma/desktop/applets/tasks/support/draghelper.cpp     [License: GPL (v2+)]
A  +45   -0    plasma/desktop/applets/tasks/support/draghelper.h     [License: GPL (v2+)]
M  +2    -0    plasma/desktop/applets/tasks/tasks.cpp

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