Bug 371925

Summary: Empty clipboard causes dolphin to crash when moving file to trash
Product: [Frameworks and Libraries] frameworks-kio Reporter: Alivema4ever <alivema4ever>
Component: generalAssignee: David Faure <faure>
Status: RESOLVED DUPLICATE    
Severity: minor CC: elvis.angelaccio, kdelibs-bugs
Priority: NOR    
Version: 5.27.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Alivema4ever 2016-11-01 03:26:43 UTC
This is probably related to #371769

On dolphin inside a wayland session, empty clipboard causes crash when moving file to trash.

$ dolphin
QObject::connect: invalid null parameter
Using Wayland-EGL
QApplication::clipboard()->mimeData() is 0!
Cannot creat accessible child interface for object: PlacesView(0x1d8adc0) index: 26
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
KCrash: Application 'dolphin' crashing...
KCrash: Attempting to start /usr/lib/drkonqi from kdeinit
sock_file=/run/user/1000/kdeinit5__1

As long as some text copied to clipboard, crashes no longer happen.

$ dolphin
QObject::connect: invalid null parameter
Using Wayland-EGL
QApplication::clipboard()->mimeData() is 0!
Cannot creat accessible child interface for object: PlacesView(0x1e0bc60) index: 26
ark.kerfuffle: Mimetype for filename extension ( "application/octet-stream" ) did not match mimetype for content ( "application/x-zerosize" ). Using content-based mimetype.
ark.kerfuffle: Mimetype for filename extension ( "application/octet-stream" ) did not match mimetype for content ( "application/x-zerosize" ). Using content-based mimetype.
ark.kerfuffle: Mimetype for filename extension ( "application/octet-stream" ) did not match mimetype for content ( "application/x-zerosize" ). Using content-based mimetype.
ark.kerfuffle: Mimetype for filename extension ( "application/octet-stream" ) did not match mimetype for content ( "application/x-zerosize" ). Using content-based mimetype.
Comment 1 Alivema4ever 2016-11-01 03:45:58 UTC
Here is gdb session when the crash happened.

$ gdb dolphin
GNU gdb (GDB) 7.12
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from dolphin...(no debugging symbols found)...done.
(gdb) set logging on
Copying output to gdb.txt.
(gdb) run
Starting program: /usr/bin/dolphin
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
QObject::connect: invalid null parameter
[New Thread 0x7fffe0d25700 (LWP 771)]
Using Wayland-EGL
[New Thread 0x7fffd9180700 (LWP 772)]
QApplication::clipboard()->mimeData() is 0!
Cannot creat accessible child interface for object:  PlacesView(0xba8980)  index:  26
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
ark.kerfuffle: Mimetype for filename extension ( "application/octet-stream" ) did not match mimetype for content ( "application/x-zerosize" ). Using content-based mimetype.
QApplication::clipboard()->mimeData() is 0!
QApplication::clipboard()->mimeData() is 0!
[New Thread 0x7fffcc1d7700 (LWP 796)]
[Thread 0x7fffcc1d7700 (LWP 796) exited]
[New Thread 0x7fffcc1d7700 (LWP 797)]
[Thread 0x7fffcc1d7700 (LWP 797) exited]
[New Thread 0x7fffcc1d7700 (LWP 798)]
[New Thread 0x7fffc99e4700 (LWP 799)]
QApplication::clipboard()->mimeData() is 0!
[New Thread 0x7fffc8a51700 (LWP 800)]
[New Thread 0x7fffbbffe700 (LWP 801)]
[New Thread 0x7fffbb7fd700 (LWP 802)]
[New Thread 0x7fffbaffc700 (LWP 803)]
[New Thread 0x7fffba7fb700 (LWP 804)]
[New Thread 0x7fffb9ffa700 (LWP 805)]
QApplication::clipboard()->mimeData() is 0!
[Thread 0x7fffcc1d7700 (LWP 798) exited]
QApplication::clipboard()->mimeData() is 0!

Thread 1 "dolphin" received signal SIGSEGV, Segmentation fault.
0x00007ffff197867d in QMimeData::hasUrls() const ()
   from /usr/lib/libQt5Core.so.5
(gdb) bt full
#0  0x00007ffff197867d in QMimeData::hasUrls() const ()
    at /usr/lib/libQt5Core.so.5
#1  0x00007ffff605fdae in  () at /usr/lib/libKF5KIOWidgets.so.5
#2  0x00007ffff5874692 in KIO::SimpleJob::slotFinished() ()
    at /usr/lib/libKF5KIOCore.so.5
#3  0x00007ffff5874d01 in  () at /usr/lib/libKF5KIOCore.so.5
#4  0x00007ffff197e659 in QMetaObject::activate(QObject*, int, int, void**) ()
    at /usr/lib/libQt5Core.so.5
#5  0x00007ffff584e581 in KIO::SlaveInterface::dispatch(int, QByteArray const&)() at /usr/lib/libKF5KIOCore.so.5
#6  0x00007ffff584cbb7 in KIO::SlaveInterface::dispatch() ()
    at /usr/lib/libKF5KIOCore.so.5
#7  0x00007ffff5851f21 in KIO::Slave::gotInput() ()
    at /usr/lib/libKF5KIOCore.so.5
#8  0x00007ffff58ee205 in  () at /usr/lib/libKF5KIOCore.so.5
#9  0x00007ffff197e659 in QMetaObject::activate(QObject*, int, int, void**) ()
    at /usr/lib/libQt5Core.so.5
#10 0x00007ffff57e4b90 in  () at /usr/lib/libKF5KIOCore.so.5
#11 0x00007ffff197f4b9 in QObject::event(QEvent*) ()
    at /usr/lib/libQt5Core.so.5
#12 0x00007ffff28bde0c in QApplicationPrivate::notify_helper(QObject*, QEvent*)() at /usr/lib/libQt5Widgets.so.5
#13 0x00007ffff28c5581 in QApplication::notify(QObject*, QEvent*) ()
---Type <return> to continue, or q <return> to quit---
    at /usr/lib/libQt5Widgets.so.5
#14 0x00007ffff1952de0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#15 0x00007ffff195556d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#16 0x00007ffff19a7303 in  () at /usr/lib/libQt5Core.so.5
#17 0x00007fffeae9e587 in g_main_context_dispatch ()
    at /usr/lib/libglib-2.0.so.0
#18 0x00007fffeae9e7f0 in  () at /usr/lib/libglib-2.0.so.0
#19 0x00007fffeae9e89c in g_main_context_iteration ()
    at /usr/lib/libglib-2.0.so.0
#20 0x00007ffff19a770f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#21 0x00007ffff195123a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#22 0x00007ffff195973c in QCoreApplication::exec() ()
    at /usr/lib/libQt5Core.so.5
#23 0x00007ffff7b594f7 in kdemain () at /usr/lib/libkdeinit5_dolphin.so
#24 0x00007ffff7779291 in __libc_start_main () at /usr/lib/libc.so.6
#25 0x000000000040065a in _start ()
(gdb) quit
A debugging session is active.

        Inferior 1 [process 767] will be killed.

Quit anyway? (y or n) y
Comment 2 Martin Flöser 2016-11-01 07:47:29 UTC
Not a bug in KWayland. Reassigning to KIO as the crash happens from within KIOWidgets.

Please note that the backtrace is lacking debug symbols. If possible attach a new backtrace with full symbols
Comment 3 Elvis Angelaccio 2016-11-01 09:36:35 UTC
Fix will be in kio 5.28

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