Bug 494703 - Plasma consumes a lot of memory and crashes when moving tens of thousands of images
Summary: Plasma consumes a lot of memory and crashes when moving tens of thousands of ...
Status: RESOLVED UNMAINTAINED
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 22.12.3
Platform: Debian stable Linux
: NOR crash
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2024-10-13 23:03 UTC by vit.musienko@gmail.com
Modified: 2024-10-14 02:22 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description vit.musienko@gmail.com 2024-10-13 23:03:36 UTC
Application: dolphin (22.12.3)

Qt Version: 5.15.8
Frameworks Version: 5.103.0
Operating System: Linux 6.10.6-061006-generic x86_64
Windowing System: Wayland
Distribution: Debian GNU/Linux 12 (bookworm)
DrKonqi: 5.27.5 [KCrashBackend]

-- Information about the crash:
I have a moderately sized photo library. I am trying to organize it. Once I start moving files from one folder to another, Dolphin hangs and then the whole plasma goes gray / crashes / restarts. Memory consumption then grows to abnormal amounts. See my reddit post for more details. https://www.reddit.com/r/kde/comments/1g305qv/wtf_plasmashell_memory_consumption_bonkers/
Restart with session restore turned off fixes memory leak, but plasma still crashes when I move a big number of files which happen to be images. 
heaptrack showed most allocations are of QImageData / QArrayData: 12GB and 9716781 allocations.

The crash can be reproduced every time.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault

[KCrash Handler]
#4  0x00007b72dfa0ad5e in KJobWidgets::window(KJob*) () from /lib/x86_64-linux-gnu/libKF5JobWidgets.so.5
#5  0x00007b72dfb3c48a in KIO::WidgetsAskUserActionHandler::askUserRename(KJob*, QString const&, QUrl const&, QUrl const&, QFlags<KIO::RenameDialog_Option>, unsigned long long, unsigned long long, QDateTime const&, QDateTime const&, QDateTime const&, QDateTime const&) () from /lib/x86_64-linux-gnu/libKF5KIOWidgets.so.5
#6  0x00007b72df856d6d in ?? () from /lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#7  0x00007b72ddae8f8f in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007b72df011775 in KJob::result(KJob*, KJob::QPrivateSignal) () from /lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#9  0x00007b72df012c5b in KJob::finishJob(bool) () from /lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#10 0x00007b72ddae8f8f in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007b72df882516 in KIO::SlaveInterface::error(int, QString const&) () from /lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#12 0x00007b72df884767 in KIO::SlaveInterface::dispatch(int, QByteArray const&) () from /lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#13 0x00007b72df882d56 in KIO::SlaveInterface::dispatch() () from /lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#14 0x00007b72df887ac9 in KIO::Slave::gotInput() () from /lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#15 0x00007b72ddae8f8f in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007b72ddadd730 in QObject::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007b72de762fae in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007b72ddab1738 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007b72ddab46c1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007b72ddb0a193 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007b72db71e7a9 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007b72db71ea38 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007b72db71eacc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007b72ddb09876 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007b72ddab01bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007b72ddab8316 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00005b0d00bd5142 in ?? ()
#28 0x00007b72dd64624a in __libc_start_call_main (main=main@entry=0x5b0d00bd3ed0, argc=argc@entry=1, argv=argv@entry=0x7ffe0e9bf308) at ../sysdeps/nptl/libc_start_call_main.h:58
#29 0x00007b72dd646305 in __libc_start_main_impl (main=0x5b0d00bd3ed0, argc=1, argv=0x7ffe0e9bf308, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe0e9bf2f8) at ../csu/libc-start.c:360
#30 0x00005b0d00bd5591 in ?? ()
[Inferior 1 (process 2574) detached]

Reported using DrKonqi
Comment 1 Harald Sitter 2024-10-14 02:22:21 UTC
Thank you for your bug report!
Debian advises users to not submit bugs upstream (https://www.debian.org/Bugs/Reporting), as this version of the KDE software is out of support from KDE, and so it's possible that the bug exists only in Debian at this point.
Could you report the bug to Debian using the report bug utility (https://packages.debian.org/stable/utils/reportbug)? If necessary, the maintainer of the package will forward the bug upstream.
Thanks for understanding!