Bug 415198

Summary: Dolphin crashes when deleting a file in the "recent" folders
Product: [Applications] dolphin Reporter: eddymcv
Component: panels: foldersAssignee: Dolphin Bug Assignee <dolphin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: david, demm, kfm-devel, nate
Priority: NOR    
Version: 19.12.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: dolphin valgrind log

Description eddymcv 2019-12-15 12:31:38 UTC
SUMMARY
Dolphin crashes when deleting a file in the "recents" folders. Deletion is successful but it crashes soon (0~2 seconds) afterwards.

STEPS TO REPRODUCE
1. Navigate to a recents folder from the side pane
2. Attempt to delete any file

OBSERVED RESULT
Dolphin crashes after successfully deleting a file

EXPECTED RESULT
Dolphin doesn't crash from deleting a file in a recents folder

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 5.3.12-1-default/openSUSE Tumbleweed
(available in About System)
KDE Plasma Version: 5.17.4
KDE Frameworks Version: 5.64.0
Qt Version: 5.13.1
Comment 1 Nate Graham 2019-12-15 15:32:38 UTC
Cannot reproduce with Move To Trash or Delete directly.

Are you using the item named "Recent Files"? Or something else?
Comment 2 eddymcv 2019-12-17 14:18:03 UTC
Created attachment 124552 [details]
dolphin valgrind log

Log from running Dolphin with valgrind.
Comment 3 eddymcv 2019-12-17 14:21:54 UTC
(In reply to Nate Graham from comment #1)
> Cannot reproduce with Move To Trash or Delete directly.
> 
> Are you using the item named "Recent Files"? Or something else?

Yes, I am.
I tried deleting files from both the today recent folder and the yesterday recent folder.
Running Dolphin with valgrind doesn't result in a crash, though the deletion operation takes about a minute to complete. Regardless, I've attached the log in the comment above, just in case it has something revealing the cause of the crash.
Comment 4 David Hallas 2019-12-17 16:02:26 UTC
I can reproduce the crash by doing the following:

1. Navigate to Recent Locations
2. Delete a folder by selecting the folder and pressing the Delete key on the keyboard
3. Hover the mouse over the now deleted folder

I think the key here is the hovering part, because it seems like Dolphin doesn't realize that the folder has been deleted, since it doesn't disappear. So when I do a Mouse Over it tries to fetch metadata from the folder and then crashes.

I will try and get a coredump and attach the information here.
Comment 5 David Hallas 2019-12-17 16:04:48 UTC
Here is a gdb backtrace:

Thread 1 "dolphin" received signal SIGSEGV, Segmentation fault.
0x00007ffff5aa456d in QByteArray::QByteArray(int, Qt::Initialization) () from /usr/lib64/libQt5Core.so.5
(gdb) bt
#0  0x00007ffff5aa456d in QByteArray::QByteArray(int, Qt::Initialization) () from /usr/lib64/libQt5Core.so.5
#1  0x00007ffff6f8c4dd in ?? () from /usr/lib64/libKF5FileMetaData.so.3
#2  0x00007ffff746d89b in ?? () from /usr/lib64/libKF5BalooWidgets.so.5
#3  0x00007ffff7470c58 in ?? () from /usr/lib64/libKF5BalooWidgets.so.5
#4  0x00007ffff5c4e6cf in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#5  0x00007ffff5bb6a0f in QProcess::finished(int, QProcess::ExitStatus) () from /usr/lib64/libQt5Core.so.5
#6  0x00007ffff5bbbf41 in ?? () from /usr/lib64/libQt5Core.so.5
#7  0x00007ffff5bbc159 in ?? () from /usr/lib64/libQt5Core.so.5
#8  0x00007ffff5c4e58b in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#9  0x00007ffff5c598b8 in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) () from /usr/lib64/libQt5Core.so.5
#10 0x00007ffff5c59c01 in QSocketNotifier::event(QEvent*) () from /usr/lib64/libQt5Core.so.5
#11 0x00007ffff6610431 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#12 0x00007ffff6617840 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#13 0x00007ffff5c261d1 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#14 0x00007ffff5c77ac6 in ?? () from /usr/lib64/libQt5Core.so.5
#15 0x00007ffff426cb12 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#16 0x00007ffff426cda0 in ?? () from /usr/lib64/libglib-2.0.so.0
#17 0x00007ffff426ce2f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#18 0x00007ffff5c77173 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#19 0x00007ffff5c250d3 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#20 0x00007ffff5c2cdd2 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#21 0x00007ffff7ec48a2 in kdemain (argc=1, argv=0x7fffffffd6e8) at ../src/main.cpp:188
#22 0x0000555555555187 in main (argc=1, argv=0x7fffffffd6e8) at src/dolphin_dummy.cpp:3
Comment 6 David Hallas 2019-12-18 14:15:13 UTC
After digging a bit, it turns out that this bug has the same root cause as bug 414227, which has already been fixed in commit https://commits.kde.org/kfilemetadata/4bb4195a6fc6841dd9ce1d3f564fc122b6032d86 - so please retest this once Frameworks 5.66 is out.

Thanks for reporting the issue :)

*** This bug has been marked as a duplicate of bug 414227 ***
Comment 7 demm 2019-12-18 15:10:14 UTC
Quote "please retest this once Frameworks 5.66 is out"
Kfilemetadata 5.65 includes the needed fix (tar was respun).