https://bugs.kde.org/show_bug.cgi?id=521214

            Bug ID: 521214
           Summary: kio_trash.so loops forever at 100% CPU on unreadable
                    USB drive sector
    Classification: Frameworks and Libraries
           Product: frameworks-kio
      Version First unspecified
       Reported In:
          Platform: Kubuntu
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Trash
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

DESCRIPTION
A kio_trash.so kioworker spawned by Dolphin kept running after all Dolphin
windows were closed. It ran for days at ~100% CPU. The system fan stayed at
100%, and journald/rsyslog wrote continuously because the worker repeatedly
triggered kernel I/O errors on a USB drive.

Steps/conditions:
1. USB drive mounted as /dev/sda.
2. Dolphin/Trash access apparently spawned kio_trash.so.
3. USB drive had an unreadable sector.
4. kio_trash.so continued running even after all Dolphin windows were closed.
5. It caused repeated read attempts and log spam until
killed/rebooted/unplugged.

OBSERVED RESULT
This caused sustained 100% CPU/fan use and continuous writes to the system disk
through journald/rsyslog for an entire weekend.

EXPECTED RESULT
kio_trash should not retry indefinitely when trash enumeration hits repeated
I/O errors on a removable drive. It should back off, surface an error, stop
scanning that device/path, and exit once the requester is gone. A bad USB drive
should not allow a kio_trash worker to run for days at 100% CPU and indirectly
cause unbounded journald/rsyslog writes.

SOFTWARE/OS VERSIONS
Operating System: Kubuntu 26.04 LTS
KDE Plasma Version: 6.6.4
KDE Frameworks Version: 6.24.0
Qt Version: 6.10.2
Kernel Version: 7.0.0-22-generic (64-bit)
Graphics Platform: Wayland
Processors: 32 × AMD RYZEN AI MAX+ 395 w/ Radeon 8060S
Memory: 128 GiB of RAM (62.4 GiB usable)
Graphics Processor: Radeon 8060S Graphics


ADDITIONAL INFORMATION
Affected process observed:

/usr/lib/x86_64-linux-gnu/libexec/kf6/kioworker
/usr/lib/x86_64-linux-gnu/qt6/plugins/kf6/kio/kio_trash.so trash
local:/run/user/1000/dolphinBWkKiO.2.kioworker.socket

Process tree:

systemd,1 splash
  └─systemd,1951 --user
      └─kioworker,1094887
/usr/lib/x86_64-linux-gnu/qt6/plugins/kf6/kio/kio_trash.so trash
local:/run/user/1000/dolphinBWkKiO.2.kioworker.socket

Kernel log repeatedly showed:

I/O error, dev sda, sector 6073614352 op 0x0:(READ) flags 0x800000 phys_seg 1
prio class 2
blk_print_req_error: 2073326 callbacks suppressed
blk_print_req_error: 2082653 callbacks suppressed

iotop showed the stuck process as:

kioworker /usr/lib/x86_64-linux-gnu/qt6/plugins/kf6/kio/kio_trash.so trash
local:/run/user/1000/dolphinBWkKiO.2.kioworker.socket

with extremely high accumulated disk read.

The USB drive having an unreadable sector is understood. The bug report is
about kio_trash apparently retrying without limit/backoff and continuing after
Dolphin was closed, turning a removable-drive read error into days of 100% CPU
and log writes.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to