https://bugs.kde.org/show_bug.cgi?id=514161
Bug ID: 514161
Summary: [ANR] Dolphin Freezes When Connecting to Unresponsive
WebDAV Server
Classification: Applications
Product: dolphin
Version First 25.12.0
Reported In:
Platform: Fedora RPMs
OS: Linux
Status: REPORTED
Keywords: drkonqi
Severity: crash
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: ---
Application: dolphin (25.12.0)
ApplicationNotResponding [ANR]: true
Qt Version: 6.10.1
Frameworks Version: 6.21.0
Operating System: Linux 6.17.12-300.fc43.x86_64 x86_64
Windowing System: Wayland
Distribution: "Fedora Linux 43 (KDE Plasma Desktop Edition)"
DrKonqi: 6.5.4 [CoredumpBackend]
-- Information about the crash:
The interface for Dolphin becomes unresponsive when trying to interface with an
unresponsive WebDAV file server mounted with rclone, forcing me to kill Dolphin
from the unresponsive window popup.
I have mounted a [copyparty](https://github.com/9001/copyparty) file server
using rclone following the project's
[documentation](https://github.com/9001/copyparty/blob/hovudstraum/docs/rclone.md#on-unix-clients).
This works fine, including the mount automatically showing up in the "Remote"
section on the left sidebar. However, if the copyparty server is terminated or
the connection drops while a Dolphin window has the remote directory open, the
entire Dolphin UI becomes unresponsive. I would expect Dolphin to show some
kind of loading spinner or other placeholder, while allowing me to navigate
somewhere else if the requested location can't be loaded, instead of becoming
unresponsive and forcing me to close it.
I have briefly tested equivalent operations in the command line (e.g., trying
to `ls` the copyparty directory while disconnected, interrupting the connection
while `mv`'ing a file, etc.), and the behavior seems to be that `rclone` will
indefinitely wait for the connection to return, blocking in the meantime. I
guess this is fine for command-line applications, but it's a bummer when the UI
of a GUI application freezes when a drive becomes unresponsive.
The crash can be reproduced every time.
-- Backtrace (Reduced):
#5 0x00007ff9ffcdbd69 in qAtomicDetach<QUrlPrivate> (d=@0x7ffec8d2b4a8:
0x55c7ffdf5380) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/thread/qatomic.h:206
[...]
#7 0x00007ff9ffce1b71 in QUrl::adjusted (this=this@entry=0x7ffec8d2b518,
options=options@entry=...) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/io/qurl.cpp:2916
#8 0x00007ffa02c4e95b in DolphinView::observeCreatedDirectory
(this=0x55c80068d960, newDirectoryUrl=...) at
/usr/src/debug/dolphin-25.12.0-1.fc43.x86_64/src/views/dolphinview.cpp:1848
#9 0x00007ff9ffd6759a in QtPrivate::QSlotObjectBase::call
(this=0x55c80068df90, r=0x55c80068d960, a=0x7ffec8d2b6a0) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#10 doActivate<false> (sender=0x7ffa02d30d40
<QGlobalStatic<QtGlobalStatic::Holder<(anonymous
namespace)::Q_QGS_s_DolphinNewFileMenuObserver> >::instance()::holder>,
signal_index=<optimized out>, argv=argv@entry=0x7ffec8d2b6a0) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobject.cpp:4257
[...]
#13 DolphinNewFileMenuObserver::directoryCreated (this=<optimized out>,
_t1=...) at
/usr/src/debug/dolphin-25.12.0-1.fc43.x86_64/redhat-linux-build/src/dolphinprivate_autogen/include/moc_dolphinnewfilemenuobserver.cpp:143
#14 0x00007ff9ffd6759a in QtPrivate::QSlotObjectBase::call
(this=0x55c80016dad0, r=0x7ffa02d30d40
<QGlobalStatic<QtGlobalStatic::Holder<(anonymous
namespace)::Q_QGS_s_DolphinNewFileMenuObserver> >::instance()::holder>,
a=0x7ffec8d2b7a0) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#15 doActivate<false> (sender=0x55c800159100, signal_index=<optimized out>,
argv=argv@entry=0x7ffec8d2b7a0) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobject.cpp:4257
[...]
#18 KNewFileMenu::directoryCreated (this=this@entry=0x55c800159100, _t1=...) at
/usr/src/debug/kf6-kio-6.21.0-1.fc43.x86_64/redhat-linux-build/src/filewidgets/KF6KIOFileWidgets_autogen/include/moc_knewfilemenu.cpp:212
#19 0x00007ffa02aded93 in KNewFileMenu::slotResult (this=0x55c800159100,
job=0x55c8010204d0) at
/usr/src/debug/kf6-kio-6.21.0-1.fc43.x86_64/src/filewidgets/knewfilemenu.cpp:1799
#20 0x00007ff9ffd6759a in QtPrivate::QSlotObjectBase::call
(this=0x55c801020810, r=0x55c800159100, a=0x7ffec8d2ba20) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#21 doActivate<false> (sender=0x55c8010204d0, signal_index=<optimized out>,
argv=argv@entry=0x7ffec8d2ba20) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobject.cpp:4257
[...]
#24 KJob::result (this=this@entry=0x55c8010204d0, _t1=<optimized out>,
_t1@entry=0x55c8010204d0, _t2=...) at
/usr/src/debug/kf6-kcoreaddons-6.21.0-1.fc43.x86_64/redhat-linux-build/src/lib/KF6CoreAddons_autogen/include/moc_kjob.cpp:475
#25 0x00007ffa01b7001b in KJob::finishJob (this=0x55c8010204d0,
emitResult=<optimized out>) at
/usr/src/debug/kf6-kcoreaddons-6.21.0-1.fc43.x86_64/src/lib/jobs/kjob.cpp:115
#26 0x00007ff9ffd6759a in QtPrivate::QSlotObjectBase::call
(this=0x55c8008bbe20, r=0x55c8010204d0, a=0x7ffec8d2bae8) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#27 doActivate<false> (sender=0x55c800732a90, signal_index=<optimized out>,
argv=0x7ffec8d2bae8, argv@entry=0x0) at
/usr/src/debug/qt6-qtbase-6.10.1-3.fc43.x86_64/src/corelib/kernel/qobject.cpp:4257
Reported using DrKonqi
--
You are receiving this mail because:
You are watching all bug changes.