Bug 421904

Summary: KTorrent does IO in the GUI thread
Product: [Applications] ktorrent Reporter: Lastique <andysem>
Component: generalAssignee: Joris Guisson <joris.guisson>
Status: REPORTED ---    
Severity: normal    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Kubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Lastique 2020-05-22 10:31:16 UTC
SUMMARY

Apparently, KTorrent performs file IO in the main GUI thread. This results in GUI becoming unresponsive at times when KTorrent performs heavy IO activity (e.g. when it downloads or seeds torrents at high bitrates). This is more prominently seen when the files are stored on rotational HDD. I'm experiencing multi-second GUI freezes at times.

It would be better to use separate threads for file/network IO and GUI.

Operating System: Kubuntu 20.04
KTorrent: 5.1.2
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8
Kernel Version: 5.4.0-31-lowlatency
OS Type: 64-bit
Processors: 8 × Intel® Core™ i7-2600K CPU @ 3.40GHz
Memory: 15.6 GiB of RAM
Comment 1 Lastique 2023-08-04 12:05:09 UTC
This is still a problem. One way to reproduce it is:

1. Enable disk space reservation in Settings -> Advanced. Enable both "Reserve disk space before starting a torrent" and "Fully reserve disk space".
2. Add a new torrent to download queue. The torrent should be large enough (tens, hundreds of gigabytes, with large files) and should be downloaded to a ntfs-3g partition. In my case, it's on a SATA SSD drive.
3. Once the disk space reservation starts, try interacting with KTorrent UI. Go into menus, Settings, etc.

The above results in UI stutters, sometimes a few second long freezes. I can also see long gaps between stats updates in the main window (e.g. download/upload rates).

Operating System: Kubuntu 22.04
KTorrent: 21.12.3
KDE Plasma Version: 5.24.7
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3
Kernel Version: 6.2.0-1009-lowlatency (64-bit)
Graphics Platform: X11
Processors: 16 × 12th Gen Intel® Core™ i7-12700K
Memory: 31.1 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2