Bug 426879

Summary: Very Large Wallpaper Directories Hang plasmashell
Product: [Plasma] plasmashell Reporter: Aaron Goldblatt <rnbwpnt>
Component: Image WallpaperAssignee: Marco Martin <notmart>
Status: RESOLVED DUPLICATE    
Severity: crash CC: nate, plasma-bugs
Priority: NOR    
Version: 5.18.5   
Target Milestone: 1.0   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Aaron Goldblatt 2020-09-22 16:37:42 UTC
When adding very large directory (70k+ images) of wallpapers for slideshow mode, plasmashell pegs one core to 100% and locks up.


STEPS TO REPRODUCE
1. Wallpaper
2. Folder OR Desktop view (doesn't matter)
3. Slideshow
4. any positioning, but my preference is Scaled, Keep Proportions
5. any order
6. add folder
7. boom

OBSERVED RESULT
1. plasmashell spikes one core to 100% usage, with no observable hard drive activity. The other three cores remain at normal load.
2. plasmashell stops responding to input. Right-click on the desktop fails, task bar stops responding, launcher stops responding, notifications stop, etc.
3. Already-running programs (e.g., brave browser, xchat, terminal windows) continue functioning normally.

Shutting down and restarting plasmashell from a terminal window does not resolve the issue, unless the target wallpaper directory is emptied or removed prior to restart. When plasmashell is restarted, the crash is immediate as it tries to parse the wallpaper directory on startup.

EXPECTED RESULT
The directory should be added and the system should begin randomly rotating wallpapers.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Kubuntu 20.04
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8

ADDITIONAL INFORMATION
32gb RAM
Intel i5-6600
/ on a 128gb SSD
~ on a 2tb HDD
nvidia 450 drivers on a GTX1060 6gb, 3 heads each at 1920x1080

Adding a wallpaper folder with 10k files works correctly, but adding a second directory with an additional 10k files causes the observed behavior.
Comment 1 Nate Graham 2020-09-23 18:15:17 UTC
Same root cause as Bug 371455.

*** This bug has been marked as a duplicate of bug 371455 ***