Bug 474710 - Dolphin crashes when reloading a directory that no longer exists
Summary: Dolphin crashes when reloading a directory that no longer exists
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 23.08.1
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2023-09-20 00:38 UTC by Mattia
Modified: 2023-11-17 16:30 UTC (History)
5 users (show)

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


Attachments
New crash information added by DrKonqi (3.00 KB, text/plain)
2023-09-26 00:02 UTC, Roke Julian Lockhart Beedell
Details
New crash information added by DrKonqi (3.59 KB, text/plain)
2023-11-15 11:29 UTC, Andrew M
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mattia 2023-09-20 00:38:37 UTC
Application: dolphin (23.08.1)

Qt Version: 5.15.10
Frameworks Version: 5.110.0
Operating System: Linux 6.5.3-arch1-1 x86_64
Windowing System: X11
Distribution: "Arch Linux"
DrKonqi: 5.27.8 [KCrashBackend]

-- Information about the crash:
Basically the title. In particular, I had a directory of an external USB device open, then I unmounted the device keeping Dophin open, went back to Dolphin, hit F5 and it crashed.

The reporter is unsure if this crash is reproducible.

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

[KCrash Handler]
#4  0x00007f7513f44e21 in  () at /usr/lib/libKF5KIOCore.so.5
#5  0x00007f7513f4358d in  () at /usr/lib/libKF5KIOCore.so.5
#6  0x00007f75122c4174 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#7  0x00007f7512f7893f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#8  0x00007f751229c6f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#9  0x00007f75122a165b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#10 0x00007f75122e76d8 in  () at /usr/lib/libQt5Core.so.5
#11 0x00007f750ff0df19 in  () at /usr/lib/libglib-2.0.so.0
#12 0x00007f750ff6c2b7 in  () at /usr/lib/libglib-2.0.so.0
#13 0x00007f750ff0c112 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#14 0x00007f75122eb51c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#15 0x00007f751229b404 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#16 0x00007f751229c8a3 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#17 0x000055f146b5bdb8 in  ()
#18 0x00007f7511827cd0 in  () at /usr/lib/libc.so.6
#19 0x00007f7511827d8a in __libc_start_main () at /usr/lib/libc.so.6
#20 0x000055f146b5c575 in  ()
[Inferior 1 (process 25976) detached]

Reported using DrKonqi
Comment 1 Roke Julian Lockhart Beedell 2023-09-26 00:02:48 UTC
Created attachment 161872 [details]
New crash information added by DrKonqi

dolphin (23.08.1) using Qt 5.15.10

Dolphin was reloading a path which had been renamed. Potentially noteworthy is that the paths contained prefixed tab characters, so for diagnostic purposes, don't just perform tests with ASCII characters.

-- Backtrace (Reduced):
#4  0x00007fc2f43546f1 in KCoreDirListerCache::updateDirectory(QUrl const&) (this=<optimized out>, _dir=<optimized out>) at /usr/src/debug/kio-5.110.0/src/core/kcoredirlister.cpp:686
#5  0x00007fc2f4352d99 in KCoreDirListerPrivate::CachedItemsJob::done() (this=0x559bde3fa040) at /usr/src/debug/kio-5.110.0/src/core/kcoredirlister.cpp:289
#6  KCoreDirListerPrivate::CachedItemsJob::done() (this=0x559bde3fa040) at /usr/src/debug/kio-5.110.0/src/core/kcoredirlister.cpp:284
#7  0x00007fc2f2719320 in QObject::event(QEvent*) (this=0x559bde3fa040, e=0x559bdf191370) at kernel/qobject.cpp:1347
#8  0x00007fc2f33a519e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x559bde3fa040, e=0x559bdf191370) at kernel/qapplication.cpp:3640
Comment 2 fanzhuyifan 2023-10-25 16:16:41 UTC
Is there a particular set of circumstances where you could always trigger this bug? 

I tried multiple times with the mentioned steps, with both unmounting, and unplugging and external USB, and couldn't reproduce this issue (on 23.08.2). The dolphin window gets back to the parent directory with the message "Current location changed, xxxx is no longer accessible".
Comment 3 Roke Julian Lockhart Beedell 2023-10-26 00:08:53 UTC
(In reply to fanzhuyifan from comment #2)
> Is there a particular set of circumstances where you could always trigger
> this bug? 
> 
> I tried multiple times with the mentioned steps, with both unmounting, and
> unplugging and external USB, and couldn't reproduce this issue (on 23.08.2).
> The dolphin window gets back to the parent directory with the message
> "Current location changed, xxxx is no longer accessible".

0. Mount secondary internal storage device
1. Open Dolphin and navigate to it
2. Disable automounture at login
3. Enable automatic window reinitialization at login (SDDM KCM?)
4. Reboot (logout)
5. Log in
6. Refresh Dolphin
7. Crash should occur
Comment 4 Bug Janitor Service 2023-11-10 03:45:51 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 5 Andrew M 2023-11-15 11:29:50 UTC
Created attachment 163182 [details]
New crash information added by DrKonqi

dolphin (23.08.3) using Qt 5.15.11

Found a way to reproduce a crash by refreshing after deleting an open folder

Steps to reproduce:

1. Go to /tmp/
2. Make a /tmp/test/ directory
3. Split view
4. Open /tmp/test/ on the right side. Make sure the right side is active before the next step
5. New tab
6. Replicate the first tab split view with /tmp/ on the left and /tmp/test/ on the right
7. Delete /tmp/test in tab 2, left pane
8. Close tab 2. You will drop to tab 1 with a warning about the folder being removed in the right pane and the right pane should be active
9. Hit F5 (refresh)
10. Segfault

-- Backtrace (Reduced):
#6  0x00007ff430e30e41 in KCoreDirListerCache::updateDirectory(QUrl const&) (this=<optimized out>, _dir=<optimized out>) at /usr/src/debug/kio5/kio-5.112.0/src/core/kcoredirlister.cpp:686
#7  0x00007ff430e2f5ad in KCoreDirListerPrivate::CachedItemsJob::done() (this=0x562d636e9890) at /usr/src/debug/kio5/kio-5.112.0/src/core/kcoredirlister.cpp:289
#8  KCoreDirListerPrivate::CachedItemsJob::done() (this=0x562d636e9890) at /usr/src/debug/kio5/kio-5.112.0/src/core/kcoredirlister.cpp:284
#9  0x00007ff42f0c3bd4 in QObject::event(QEvent*) (this=0x562d636e9890, e=0x562d639ae040) at kernel/qobject.cpp:1347
#10 0x00007ff42fd788ff in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x562d636e9890, e=0x562d639ae040) at kernel/qapplication.cpp:3640
Comment 6 Akseli Lahtinen 2023-11-17 08:34:28 UTC
Cant reproduce with above steps. Possibly fixed?

Dolphin:
Using kdesrc-build dolphin version: 24.01.75

System info:
Operating System: Fedora Linux 39
KDE Plasma Version: 5.81.0
KDE Frameworks Version: 5.245.0
Qt Version: 6.6.0
Kernel Version: 6.5.11-300.fc39.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 3600 6-Core Processor
Memory: 15.5 GiB of RAM
Graphics Processor: AMD Radeon RX 6600
Comment 7 fanzhuyifan 2023-11-17 16:20:18 UTC
(In reply to Andrew M from comment #5)
> Created attachment 163182 [details]
> New crash information added by DrKonqi
> 
> dolphin (23.08.3) using Qt 5.15.11
> 
> Found a way to reproduce a crash by refreshing after deleting an open folder
> 
> Steps to reproduce:
> 
> 1. Go to /tmp/
> 2. Make a /tmp/test/ directory
> 3. Split view
> 4. Open /tmp/test/ on the right side. Make sure the right side is active
> before the next step
> 5. New tab
> 6. Replicate the first tab split view with /tmp/ on the left and /tmp/test/
> on the right
> 7. Delete /tmp/test in tab 2, left pane
> 8. Close tab 2. You will drop to tab 1 with a warning about the folder being
> removed in the right pane and the right pane should be active
> 9. Hit F5 (refresh)
> 10. Segfault
> 
> -- Backtrace (Reduced):
> #6  0x00007ff430e30e41 in KCoreDirListerCache::updateDirectory(QUrl const&)
> (this=<optimized out>, _dir=<optimized out>) at
> /usr/src/debug/kio5/kio-5.112.0/src/core/kcoredirlister.cpp:686
> #7  0x00007ff430e2f5ad in KCoreDirListerPrivate::CachedItemsJob::done()
> (this=0x562d636e9890) at
> /usr/src/debug/kio5/kio-5.112.0/src/core/kcoredirlister.cpp:289
> #8  KCoreDirListerPrivate::CachedItemsJob::done() (this=0x562d636e9890) at
> /usr/src/debug/kio5/kio-5.112.0/src/core/kcoredirlister.cpp:284
> #9  0x00007ff42f0c3bd4 in QObject::event(QEvent*) (this=0x562d636e9890,
> e=0x562d639ae040) at kernel/qobject.cpp:1347
> #10 0x00007ff42fd788ff in QApplicationPrivate::notify_helper(QObject*,
> QEvent*) (this=<optimized out>, receiver=0x562d636e9890, e=0x562d639ae040)
> at kernel/qapplication.cpp:3640

Can reproduce in the mentioned version. Let me check the kde neon unstable to see if it is fixed there.
Comment 8 fanzhuyifan 2023-11-17 16:30:26 UTC
Can't reproduce with the exact same steps on latest kde neon unstable, even though was able to reproduce for 23.08.3. So marking this as fixed. Feel free to reopen if you still encounter this in the latest qt6 versions.