Bug 372348 - Konsole crashes dragging and dropping files into it on wayland
Summary: Konsole crashes dragging and dropping files into it on wayland
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-11-11 14:26 UTC by idoitprone
Modified: 2018-02-15 00:59 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description idoitprone 2016-11-11 14:26:11 UTC
Application: konsole (16.11.70)

Qt Version: 5.7.0
Frameworks Version: 5.28.0
Operating System: Linux 4.4.0-300-bb x86_64
Distribution: KDE neon Developer Edition

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

When I crash it with these two methods
method 1

1. open krunner
2. search anything
3. drag the any result into the konsole
4. crash

method 2
1. Open dolphin
2. Drag any file into console
3. crash

I am kde running on wayland.

Distributor ID: neon
Description:    KDE neon Developer Edition
Release:        16.04
Codename:       xenial

I cannot seem to attach my bug report to exisiting one with dr konqi

It seems to be related to bug #365757

The crash can be reproduced every time.

-- Backtrace:
Application: Konsole (konsole), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f924413b8c0 (LWP 2339))]

Thread 2 (Thread 0x7f9231182700 (LWP 2340)):
#0  0x00007f9243be5b5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f923b1f239c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f923b1f24ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f92407ed23b in QEventDispatcherGlib::processEvents (this=0x7f922c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f9240797cea in QEventLoop::exec (this=this@entry=0x7f9231181cd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#5  0x00007f92405bcfb4 in QThread::exec (this=this@entry=0x7f9244283d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:507
#6  0x00007f924420f7a5 in QDBusConnectionManager::run (this=0x7f9244283d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:196
#7  0x00007f92405c1b98 in QThreadPrivate::start (arg=0x7f9244283d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:344
#8  0x00007f923ce4d70a in start_thread (arg=0x7f9231182700) at pthread_create.c:333
#9  0x00007f9243bf182d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f924413b8c0 (LWP 2339)):
[KCrash Handler]
#6  0x00007f92407bead6 in QMimeDataPrivate::retrieveTypedData (this=0xb, format=..., type=type@entry=QVariant::ByteArray) at kernel/qmimedata.cpp:109
#7  0x00007f92407bff2d in QMimeData::data (this=<optimized out>, mimeType=...) at kernel/qmimedata.cpp:560
#8  0x00007f9240a23ec1 in KUrlMimeData::urlsFromMimeData(QMimeData const*, KUrlMimeData::DecodeOptions, QMap<QString, QString>*) () from /usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#9  0x00007f9242e260c3 in KIO::drop(QDropEvent const*, QUrl const&, QFlags<KIO::JobFlag>) () from /usr/lib/x86_64-linux-gnu/libKF5KIOWidgets.so.5
#10 0x00007f924387cdc7 in Konsole::TerminalDisplay::dropEvent(QDropEvent*) () from /usr/lib/x86_64-linux-gnu/libkonsoleprivate.so.16
#11 0x00007f9241360398 in QWidget::event (this=0x220f850, event=0x7ffd1a98ea80) at kernel/qwidget.cpp:9144
#12 0x00007f924387e9ca in Konsole::TerminalDisplay::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libkonsoleprivate.so.16
#13 0x00007f924131989c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x220f850, e=0x7ffd1a98ea80) at kernel/qapplication.cpp:3799
#14 0x00007f92413216b6 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7ffd1a98ea80) at kernel/qapplication.cpp:3556
#15 0x00007f9240799cf8 in QCoreApplication::notifyInternal2 (receiver=0x220f850, event=event@entry=0x7ffd1a98ea80) at kernel/qcoreapplication.cpp:988
#16 0x00007f924137bd1a in QCoreApplication::sendSpontaneousEvent (event=0x7ffd1a98ea80, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#17 QWidgetWindow::handleDropEvent (this=this@entry=0x2010eb0, event=event@entry=0x7ffd1a98eda0) at kernel/qwidgetwindow.cpp:873
#18 0x00007f924137c84b in QWidgetWindow::event (this=0x2010eb0, event=0x7ffd1a98eda0) at kernel/qwidgetwindow.cpp:279
#19 0x00007f924131989c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x2010eb0, e=0x7ffd1a98eda0) at kernel/qapplication.cpp:3799
#20 0x00007f9241321296 in QApplication::notify (this=0x1eeebb0, receiver=0x2010eb0, e=0x7ffd1a98eda0) at kernel/qapplication.cpp:3556
#21 0x00007f9240799cf8 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x2010eb0, event=event@entry=0x7ffd1a98eda0) at kernel/qcoreapplication.cpp:988
#22 0x00007f9240d80948 in QCoreApplication::sendEvent (event=0x7ffd1a98eda0, receiver=0x2010eb0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#23 QGuiApplicationPrivate::processDrop (w=w@entry=0x2010eb0, dropData=dropData@entry=0x22a8af0, p=..., supportedActions=supportedActions@entry=...) at kernel/qguiapplication.cpp:2853
#24 0x00007f9240d5f0ff in QWindowSystemInterface::handleDrop (w=0x2010eb0, dropData=0x22a8af0, p=..., supportedActions=supportedActions@entry=...) at kernel/qwindowsysteminterface.cpp:699
#25 0x00007f92331dfdc6 in QtWaylandClient::QWaylandDataDevice::data_device_drop (this=0x1efd330) at qwaylanddatadevice.cpp:146
#26 0x00007f92326d1e40 in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#27 0x00007f92326d18ab in ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#28 0x00007f9232ae41e8 in wl_closure_invoke (closure=<optimized out>, flags=<optimized out>, target=0x1efb650, opcode=4, data=0x1efd340) at ../src/connection.c:945
#29 0x00007f9232ae14f0 in dispatch_event (display=display@entry=0x1ef7280, queue=0x1ef7340) at ../src/wayland-client.c:1173
#30 0x00007f9232ae156c in dispatch_queue (display=display@entry=0x1ef7280, queue=queue@entry=0x1ef7340) at ../src/wayland-client.c:1348
#31 0x00007f9232ae22d4 in wl_display_dispatch_queue_pending (display=0x1ef7280, queue=0x1ef7340) at ../src/wayland-client.c:1621
#32 0x00007f9232ae230c in wl_display_dispatch_pending (display=<optimized out>) at ../src/wayland-client.c:1699
#33 0x00007f92331c9de2 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x1ef7100) at qwaylanddisplay.cpp:198
#34 0x00007f92407c4b09 in QMetaObject::activate (sender=sender@entry=0x1f6b860, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd1a98f3a0) at kernel/qobject.cpp:3740
#35 0x00007f92407c54b7 in QMetaObject::activate (sender=sender@entry=0x1f6b860, m=m@entry=0x7f92409e4660 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd1a98f3a0) at kernel/qobject.cpp:3602
#36 0x00007f924083d4ee in QSocketNotifier::activated (this=this@entry=0x1f6b860, _t1=3) at .moc/moc_qsocketnotifier.cpp:135
#37 0x00007f92407d105b in QSocketNotifier::event (this=0x1f6b860, e=<optimized out>) at kernel/qsocketnotifier.cpp:266
#38 0x00007f924131989c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x1f6b860, e=0x7ffd1a98f610) at kernel/qapplication.cpp:3799
#39 0x00007f9241321296 in QApplication::notify (this=0x1eeebb0, receiver=0x1f6b860, e=0x7ffd1a98f610) at kernel/qapplication.cpp:3556
#40 0x00007f9240799cf8 in QCoreApplication::notifyInternal2 (receiver=0x1f6b860, event=event@entry=0x7ffd1a98f610) at kernel/qcoreapplication.cpp:988
#41 0x00007f92407ed6dd in QCoreApplication::sendEvent (event=0x7ffd1a98f610, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#42 socketNotifierSourceDispatch (source=0x1f6bcf0) at kernel/qeventdispatcher_glib.cpp:106
#43 0x00007f923b1f21a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007f923b1f2400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007f923b1f24ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007f92407ed21f in QEventDispatcherGlib::processEvents (this=0x1f66920, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#47 0x00007f9240797cea in QEventLoop::exec (this=this@entry=0x7ffd1a98f830, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#48 0x00007f92407a02fc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1261
#49 0x00007f9243edc1fc in kdemain () from /usr/lib/x86_64-linux-gnu/libkdeinit5_konsole.so
#50 0x00007f9243b0b830 in __libc_start_main (main=0x4006b0, argc=1, argv=0x7ffd1a98faf8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd1a98fae8) at ../csu/libc-start.c:291
#51 0x00000000004006e9 in _start ()

Possible duplicates by query: bug 365757.

Reported using DrKonqi
Comment 1 Kurt Hindenburg 2017-01-29 16:45:35 UTC
yea, judging from other apps, wayland and mimedata are an issue

Testing using http://files.kde.org/neon/images/plasma-wayland-devedition-gitunstable/current/ in a VM
Comment 2 Kurt Hindenburg 2018-02-15 00:35:37 UTC
DND from Dolphin works now; however, dnd from krunner doesn't work but doesn't crash
Comment 3 Kurt Hindenburg 2018-02-15 00:59:17 UTC
Git commit b392dd49b2f6e1de01299f757dc72831643b2baf by Kurt Hindenburg.
Committed on 15/02/2018 at 00:55.
Pushed by hindenburg into branch 'master'.

Allow drag-n-drop menu to work in Wayland

Previously there were crashes in KIO which appear fixed now.
Still not perfect as it appears the Konsole window loses focus.

M  +1    -3    src/TerminalDisplay.cpp

https://commits.kde.org/konsole/b392dd49b2f6e1de01299f757dc72831643b2baf