Bug 439372 - Dolphin crashed when i tried to paste a .desktop file copied from Desktop to /.local/share/applications/
Summary: Dolphin crashed when i tried to paste a .desktop file copied from Desktop to ...
Status: RESOLVED WORKSFORME
Alias: None
Product: frameworks-kio
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.82.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KIO Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-01 11:34 UTC by Lyubomir
Modified: 2021-07-09 18:32 UTC (History)
4 users (show)

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 Lyubomir 2021-07-01 11:34:12 UTC
Application: dolphin (20.12.3)

Qt Version: 5.15.2
Frameworks Version: 5.82.0
Operating System: Linux 5.11.0-18-lowlatency x86_64
Windowing System: Wayland
Drkonqi Version: 5.22.0
Distribution: Ubuntu 21.04

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

Tried to paste a .desktop file from the Desktop to /home/username/.local/share/applications/. I used Ctrl + C, Ctrl + V.

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f866a8b1087 in QMimeDataPrivate::q_func (this=<optimized out>) at kernel/qmimedata.cpp:67
#5  QMimeDataPrivate::retrieveTypedData (this=0x100000000, format=..., type=QMetaType::QByteArray) at kernel/qmimedata.cpp:117
#6  0x00007f866a8b2272 in QMimeData::data (this=<optimized out>, mimeType=...) at kernel/qmimedata.cpp:573
#7  0x00007f866c4e1856 in KIO::isClipboardDataCut(QMimeData const*) () from /lib/x86_64-linux-gnu/libKF5KIOWidgets.so.5
#8  0x00007f866c503ab2 in ?? () from /lib/x86_64-linux-gnu/libKF5KIOWidgets.so.5
#9  0x00007f866a8b810c in QObject::event (this=0x561837cc4700, e=0x561837b1e3b0) at kernel/qobject.cpp:1314
#10 0x00007f866b37a783 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x561837cc4700, e=0x561837b1e3b0) at kernel/qapplication.cpp:3632
#11 0x00007f866a88a7ba in QCoreApplication::notifyInternal2 (receiver=0x561837cc4700, event=0x561837b1e3b0) at kernel/qcoreapplication.cpp:1063
#12 0x00007f866a88d7e1 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x561836be8890) at kernel/qcoreapplication.cpp:1817
#13 0x00007f866a8e4ba7 in postEventSourceDispatch (s=0x561836c6c040) at kernel/qeventdispatcher_glib.cpp:277
#14 0x00007f86686c08eb in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007f8668713d28 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007f86686be023 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f866a8e4204 in QEventDispatcherGlib::processEvents (this=0x561836c6c020, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#18 0x00007f866a88911b in QEventLoop::exec (this=this@entry=0x7ffc30d1f110, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#19 0x00007f866a891604 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#20 0x00007f866ac63520 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#21 0x00007f866b37a6f9 in QApplication::exec () at kernel/qapplication.cpp:2824
#22 0x00007f866cb09570 in kdemain (argc=<optimized out>, argv=<optimized out>) at ./src/main.cpp:222
#23 0x00007f866c8f2565 in __libc_start_main (main=0x561835169060 <main>, argc=1, argv=0x7ffc30d1f3d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc30d1f3c8) at ../csu/libc-start.c:332
#24 0x000056183516909e in _start ()
[Inferior 1 (process 97831) detached]

Report to https://bugs.kde.org/
Comment 1 Harald Sitter 2021-07-02 09:33:59 UTC
Moving to KIO as that's where the crash is. Unfortunately the most relevant frame along with the most relevant this addresses are missing, but assuming this isn't actually a bug in Qt giving out dodgy mimedata pointers I'd say from grepping code that this may be PasteJobPrivate::slotStart. The only other use of isClipboardDataCut that isn't protected by a nullptr condition is pasteClipboardUrls which I don't see used in dolphin at all.
With that in mind my suspicion would be that dolphin requested the mimedata from qApp, got nullptr back, passed that to KIO::paste and no where along the way from there to PasteJobPrivate::slotStar is the pointer actually checked for null.
Comment 2 Ahmad Samir 2021-07-09 17:20:10 UTC
If you still see this issue, please install the debug packages, then provide a crash backtrace.
Comment 3 Lyubomir 2021-07-09 18:11:16 UTC
Can't reproduce for now, feel free to change the status to NEEDSINFO. Anyway if there's another crash i'll report it here or with new bug.
Comment 4 Ahmad Samir 2021-07-09 18:32:47 UTC
OK, thanks.