https://bugs.kde.org/show_bug.cgi?id=526485
Bug ID: 526485
Summary: Synchronise Directories hangs forever without feedback
when a filesystem blocks I/O (D-state)
Classification: Applications
Product: krusader
Version First 2.8.1
Reported In:
Platform: Ubuntu
OS: Linux
Status: REPORTED
Severity: wishlist
Priority: NOR
Component: synchronize
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: ---
DESCRIPTION
When running Tools -> "Synchronise Directories" on a directory whose filesystem
driver blocks I/O in uninterruptible sleep (D-state), the scan never finishes.
There is no timeout, no indication which path is stuck, and no error message.
In my case an ntfs3 kernel BUG_ON during a write left an inode lock held;
afterwards every process iterating that directory - including krusader -
blocked in iterate_dir forever. The filesystem bug itself is not krusader's
fault, but the UI should not freeze silently.
STEPS TO REPRODUCE
1. Have a directory whose access blocks in the kernel (e.g. a dead FUSE mount,
an unreachable NFS share, or an ntfs3 volume after a driver BUG)
2. Open it in one panel, any directory in the other
3. Start Tools -> Synchronise Directories
OBSERVED RESULT
The comparison hangs forever. `ps -eo stat,wchan,comm` shows krusader in state
D at iterate_dir. No error, no way to abort; the stuck kernel thread cannot
even be killed with SIGKILL.
EXPECTED RESULT
After a per-directory timeout (e.g. 60 s) the synchronizer reports which path
is stuck and offers to abort the comparison - at minimum an error message
naming the offending path instead of a silent eternal hang.
SOFTWARE/OS VERSIONS
Operating System: Ubuntu 24.04.5 LTS, kernel 7.0.0-34-generic
KDE Plasma Version: 5.27
KDE Frameworks Version: 5.115
Qt Version: 5.15.3
Krusader: 2.8.1
ADDITIONAL INFORMATION
Kernel context here: ntfs3 write triggered "kernel BUG at
fs/iomap/buffered-io.c:1061" (Comm: KIO::WorkerThre). A watchdog around the
directory scan in the synchronizer would turn such kernel-level hangs into a
visible, abortable error.
--
You are receiving this mail because:
You are watching all bug changes.