Bug 186560

Summary: Dolphin crashes during drag and drop operation (QDragManager::move)
Product: [Applications] dolphin Reporter: Arne Schmitz <arne.schmitz>
Component: generalAssignee: Peter Penz <peter.penz19>
Status: RESOLVED WORKSFORME    
Severity: crash CC: andresbajotierra, mat69, mieszkoslusarczyk, quantumphazor, thierry
Priority: NOR    
Version: 16.12.2   
Target Milestone: ---   
Platform: openSUSE   
OS: Unspecified   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Dolphin crash upon drag and drop file copy operation
dolphin.kcrash

Description Arne Schmitz 2009-03-08 15:52:58 UTC
Version:            (using KDE 4.2.1)
Installed from:    SuSE RPMs

What I did:

I selected three files that I wanted to copy via drag and drop between two Dolphin windows. Then I dragged them, switching to the other, obscured window by Alt-Tab.

What I expected:

When arriving at the target window I expected that the files would be copied after I dropped them on the target window.

What I got instead:

When dropping the files on the target window, Dolphin crashed with the attached backtrace (I think without debug symbols, OpenSUSE build).
Comment 1 Arne Schmitz 2009-03-08 15:53:40 UTC
Created attachment 31909 [details]
Dolphin crash upon drag and drop file copy operation
Comment 2 Dario Andres 2009-03-08 16:11:06 UTC
Pasted backtrace from comment 1:

Anwendung: Dolphin (dolphin), Signal SIGSEGV
[Current thread is 1 (Thread 0xb5bf8920 (LWP 15170))]

Thread 1 (Thread 0xb5bf8920 (LWP 15170)):
[KCrash Handler]
#6  0xb6a7356e in QDragManager::move(QPoint const&) () from /usr/lib/libQtGui.so.4
#7  0xb6a75d01 in QDragManager::eventFilter(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#8  0xb67eabe4 in QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#9  0xb69f2873 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#10 0xb69fb111 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#11 0xb7676a3d in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#12 0xb67eb961 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#13 0xb69fa39e in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&) () from /usr/lib/libQtGui.so.4
#14 0xb6a64756 in ?? () from /usr/lib/libQtGui.so.4
#15 0xb6a63b05 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#16 0xb6a8c0ca in ?? () from /usr/lib/libQtGui.so.4
#17 0xb5feb9a8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#18 0xb5fef063 in ?? () from /usr/lib/libglib-2.0.so.0
#19 0xb5fef221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#20 0xb6815fb8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#21 0xb6a8b7c5 in ?? () from /usr/lib/libQtGui.so.4
#22 0xb67ea01a in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#23 0xb67ea1da in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#24 0xb6a73c30 in QDragManager::drag(QDrag*) () from /usr/lib/libQtGui.so.4
#25 0xb6a05c6a in QDrag::exec(QFlags<Qt::DropAction>, Qt::DropAction) () from /usr/lib/libQtGui.so.4
#26 0xb7b7c7d0 in DragAndDropHelper::startDrag(QAbstractItemView*, QFlags<Qt::DropAction>, DolphinController*) () from /usr/lib/libdolphinprivate.so.4
#27 0xb7b650cb in DolphinIconsView::startDrag(QFlags<Qt::DropAction>) () from /usr/lib/libdolphinprivate.so.4
#28 0xb6ebe159 in QAbstractItemView::mouseMoveEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#29 0xb6ed6282 in QListView::mouseMoveEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#30 0xb765ec79 in KCategorizedView::mouseMoveEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5
#31 0xb6a4a8db in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#32 0xb6d80b03 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#33 0xb6e1723f in QAbstractScrollArea::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#34 0xb6ec1fbf in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#35 0xb6e197e5 in ?? () from /usr/lib/libQtGui.so.4
#36 0xb67eab3a in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#37 0xb69f28da in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#38 0xb69fb111 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#39 0xb7676a3d in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#40 0xb67eb961 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#41 0xb69fa39e in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&) () from /usr/lib/libQtGui.so.4
#42 0xb6a64756 in ?? () from /usr/lib/libQtGui.so.4
#43 0xb6a63b05 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#44 0xb6a8c0ca in ?? () from /usr/lib/libQtGui.so.4
#45 0xb5feb9a8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#46 0xb5fef063 in ?? () from /usr/lib/libglib-2.0.so.0
#47 0xb5fef221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#48 0xb6815fb8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#49 0xb6a8b7c5 in ?? () from /usr/lib/libQtGui.so.4
#50 0xb67ea01a in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#51 0xb67ea1da in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#52 0xb67ec895 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#53 0xb69f2777 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#54 0x0808501f in _start ()
Comment 3 Dario Andres 2009-03-08 16:12:15 UTC
This seems related to bug 157630, however that bugfix should be included into KDE4.2.1. (?)
Comment 4 Arne Schmitz 2009-03-08 16:26:34 UTC
Well, since I am running KDE 4.2.1 from the OpenSUSE factory, it does not seem to fixed yet...
Comment 5 Andrew M 2009-03-13 08:19:15 UTC
A similar problem over here on Arch Linux (KDEmod).

I have Dolphin set up with the folder tree on the left underneath Places. I drag and drop a folder from /var/abs/community in the main window to ~/builds in the folder tree.

The Move/Copy/Link/Cancel menu pops up but I can't click on it and the cursor is the one with the red circle with line through (like no smoking sign) it with a folder (the drag and drop subject) under it when hovering over the menu and is the B&W inverted win3.1 cursor with the folder under it when anywhere else on the screen. (I hope that made sense to someone).

I click around to fix it but it soon crashes Dolphin. If I click on the folder tree it opens another menu that reacts to mouse hover but still crashes Dolphin if I click it.

It seems to happen less if I select the folder first before I drag it.

Also it may be related problems I have where I drag and drop multiple files selected by dragging a box around them where it seems to get stuck dragging a box but the mouse button isn't being pressed.
Comment 6 Andrew M 2009-03-13 08:36:36 UTC
Created attachment 32065 [details]
dolphin.kcrash
Comment 7 Dario Andres 2009-03-15 13:38:15 UTC
@Arne: are you packages updated? Some distributiones packaged a non-final version of KDE4.2.1, thus this may be related to that issue. (or this whole issue isn't properly fixed yet)
Comment 8 Arne Schmitz 2009-03-15 13:47:44 UTC
Yes, currently I update at least weekly. Right now I am at SUSE's build 103 of KDE 4.2.1, and the crash still happens. I figure that this should be the "real" KDE 4.2.1 release, since it is also from the factory repository.
Comment 9 Matthias Fuchs 2009-03-16 19:29:17 UTC
I just tried to reproduce your bug on the most recent KDE branch (r940156) and did not manage to crash it. So either this bug has been fixed by now, or the packages are too old, or there is another reason why it does not crash here.
Comment 10 Matthias Fuchs 2009-03-16 19:31:06 UTC
The last post was about the bug Arne reported.
Comment 11 Thierry CHARLES 2009-03-17 10:17:09 UTC
I have exactly the same bug on debian squeeze, with KDE 4.2.1 (compiled manually from official sources, not debian). I have tried to replace te debian's Qt (4.4.3) with Qt 4.5.0 (downloaded and compiled manually) but the problem is still present.

I would like to give some precisions about what appens just before the crash :
1) left clic on a file + drag
2) I release the mouse button
3) the popup menu appears, the mouse cursor is just on the menu border
4) as soon as I move the mouse, dolphin crashes

in qdnd_x11.cpp :
XClientMessageEvent enter;
...
enter.data.l[0] = dragPrivate()->source->effectiveWinId();

the stack trace shows that either "dragPrivate()" or "source" is NULL so there are 2 solutions :
- either there is a bug in Qt that makes D&D badly initialized (dragPrivate() returns NULL)
- either source is NULL and it may be due to a bad initialization in KDE source code.


Good luck !
Comment 12 Dario Andres 2009-04-07 15:05:00 UTC
*** Bug 188348 has been marked as a duplicate of this bug. ***
Comment 13 Thierry CHARLES 2009-04-07 15:06:19 UTC
It looks like this bug have been fixed with v4.2.2 (downloaded & compiled on 4th april)
Comment 14 Dario Andres 2009-04-07 15:09:44 UTC
@Thierry CHARLES: thanks for the information.
To everybody: please, test KDE4.2.2 once you can get it on your distributions to confirm this is fixed. 
Thanks to all
Comment 15 Arne Schmitz 2009-04-07 16:18:37 UTC
Works on OpenSUSE 11.1 with KDE 4.2.2! So I vote for closing this bug.
Comment 16 Dario Andres 2009-04-07 17:01:50 UTC
Ok, Marking as WORKSFORME :)