SUMMARY I often have Plasma freezes (some times for up to 1min) while running (especially mouse activity around the Icons-only Task Manager). (Before upgrading my KDE Neon to 24.04 Plasma 6.2 these were not hangs, but crashes.) Kwin windows alt-tabbing and shutdown dialog are not affected. Here is some log: https://fars.ee/rkFd.txt STEPS TO REPRODUCE 1. use Icons-only Task Manager 2. 3. OBSERVED RESULT A lot of hangs EXPECTED RESULT No hangs SOFTWARE/OS VERSIONS Operating System: KDE neon 6.2 KDE Plasma Version: 6.2.5 KDE Frameworks Version: 6.10.0 Qt Version: 6.8.1 Kernel Version: 6.12.11-x64v3-xanmod1 (64-bit) Graphics Platform: Wayland Processors: 22 × Intel® Core™ Ultra 7 155H Memory: 31.0 GiB of RAM Graphics Processor: Mesa Intel® Arc ADDITIONAL INFORMATION
one thing that might be done while the plasma process is hang is to attach the gdb process to it then doing a backtrace: ps -C plasmashell -o pid h it will output the pid number then gdb attach pidnumber when is started up, hit ctrl+c then type bt it should output a full backtrace, it might be useful if gdb complains it has no permissions to attach to the process, it might be necessary to run this command beforehand: echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
Waiting for info until actionable
🐛🧹 ⚠️ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME. For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging. Thank you for helping us make KDE software even better for everyone!
Ok, i upgraded to 6.3.1 Now I caught it at least 3 times: https://fars.ee/1e5H.log
pasting inline. it catched it in the mid of a component creation. i wonder if there is some repeater that for some reason creates thousands and thousands of objects. is ram usage of plasmashell unusually high when this freeze occurs? #0 _int_malloc (av=av@entry=0x7f82c8e03ac0 <main_arena>, bytes=bytes@entry=32) at ./malloc/malloc.c:4336 iters = <optimized out> nb = <optimized out> idx = <optimized out> bin = 0x7f82c8e03b60 <main_arena+160> victim = 0x7f82c8e03b50 <main_arena+144> size = <optimized out> victim_index = <optimized out> remainder = <optimized out> remainder_size = <optimized out> block = <optimized out> bit = 32 map = 76 fwd = <optimized out> bck = <optimized out> tcache_unsorted_count = <optimized out> tcache_nb = 48 tc_idx = 1 return_cached = <optimized out> __PRETTY_FUNCTION__ = "_int_malloc" #1 0x00007f82c8cad6f4 in __GI___libc_malloc (bytes=32) at ./malloc/malloc.c:3336 ar_ptr = 0x7f82c8e03ac0 <main_arena> victim = <optimized out> tbytes = <optimized out> tc_idx = <optimized out> __PRETTY_FUNCTION__ = "__libc_malloc" #2 0x00007f82c97da6f1 in QArrayData::allocate(QArrayData**, long long, long long, long long, QArrayData::AllocationOption) () at /lib/x86_64-linux-gnu/libQt6Core.so.6 #3 0x00007f82c1a379bd in ??? () at /lib/x86_64-linux-gnu/libQt6QuickTemplates2.so.6 #4 0x00007f82c19f47e5 in QQuickAbstractButton::setAction(QQuickAction*) () at /lib/x86_64-linux-gnu/libQt6QuickTemplates2.so.6 #5 0x00007f82c19f5aba in QQuickAbstractButton::qt_metacall(QMetaObject::Call, int, void**) () at /lib/x86_64-linux-gnu/libQt6QuickTemplates2.so.6 #6 0x00007f82c1a18e2e in QQuickItemDelegate::qt_metacall(QMetaObject::Call, int, void**) () at /lib/x86_64-linux-gnu/libQt6QuickTemplates2.so.6 #7 0x00007f82ca89ba0e in QQmlObjectCreator::setPropertyBinding(QQmlPropertyData const*, QV4::CompiledData::Binding const*) () --Type <RET> for more, q to quit, c to continue without paging-- at /lib/x86_64-linux-gnu/libQt6Qml.so.6 #8 0x00007f82ca89d8f6 in QQmlObjectCreator::setupBindings(QFlags<QQmlObjectCreator::BindingMode>) () at /lib/x86_64-linux-gnu/libQt6Qml.so.6 #9 0x00007f82ca8a4f29 in QQmlObjectCreator::populateInstance(int, QObject*, QObject*, QQmlPropertyData const*, QV4::CompiledData::Binding const*) () at /lib/x86_64-linux-gnu/libQt6Qml.so.6 #10 0x00007f82ca899386 in QQmlObjectCreator::createInstance(int, QObject*, bool) () at /lib/x86_64-linux-gnu/libQt6Qml.so.6 #11 0x00007f82ca8968fd in QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*, int) () at /lib/x86_64-linux-gnu/libQt6Qml.so.6 #12 0x00007f82ca899b51 in QQmlObjectCreator::createInstance(int, QObject*, bool) () at /lib/x86_64-linux-gnu/libQt6Qml.so.6 #13 0x00007f82ca8968fd in QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*, int) () at /lib/x86_64-linux-gnu/libQt6Qml.so.6 #14 0x00007f82ca899b51 in QQmlObjectCreator::createInstance(int, QObject*, bool) () at /lib/x86_64-linux-gnu/libQt6Qml.so.6 #15 0x00007f82ca8968fd in QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*, int) () at /lib/x86_64-linux-gnu/libQt6Qml.so.6 #16 0x00007f82ca952968 in QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&) () at /lib/x86_64-linux-gnu/libQt6Qml.so.6 #17 0x00007f82ca9531e7 in QQmlEnginePrivate::incubate(QQmlIncubator&, QQmlRefPointer<QQmlContextData> const&) () at /lib/x86_64-linux-gnu/libQt6Qml.so.6 #18 0x00007f82c81cfef0 in ??? () at /lib/x86_64-linux-gnu/libQt6QmlModels.so.6 #19 0x00007f82caf109d8 in ??? () at /lib/x86_64-linux-gnu/libQt6Quick.so.6 #20 0x00007f82caefc7ff in ??? () at /lib/x86_64-linux-gnu/libQt6Quick.so.6 #21 0x00007f82caf09854 in ??? () at /lib/x86_64-linux-gnu/libQt6Quick.so.6 #22 0x00007f82cafad3af in ??? () at /lib/x86_64-linux-gnu/libQt6Quick.so.6 #23 0x00007f82caf08e9a in QQuickItemView::modelUpdated(QQmlChangeSet const&, bool) () at /lib/x86_64-linux-gnu/libQt6Quick.so.6 #24 0x00007f82caf16010 in ??? () at /lib/x86_64-linux-gnu/libQt6Quick.so.6 #25 0x00007f82c9876964 in ??? () at /lib/x86_64-linux-gnu/libQt6Core.so.6 #26 0x00007f82c81a5a27 in QQmlInstanceModel::modelUpdated(QQmlChangeSet const&, bool) () at /lib/x86_64-linux-gnu/libQt6QmlModels.so.6 #27 0x00007f82c81ccf5d in ??? () at /lib/x86_64-linux-gnu/libQt6QmlModels.so.6 #28 0x00007f82c81d2adc in ??? () at /lib/x86_64-linux-gnu/libQt6QmlModels.so.6 #29 0x00007f82c81d3e30 in QQmlDelegateModel::handleModelReset() () at /lib/x86_64-linux-gnu/libQt6QmlModels.so.6 #30 0x00007f82c98763e9 in ??? () at /lib/x86_64-linux-gnu/libQt6Core.so.6 #31 0x00007f82c9718857 in QAbstractItemModel::layoutChanged(QList<QPersistentModelIndex> const&, QAbstractItemModel::LayoutChangeHint) () at /lib/x86_64-linux-gnu/libQt6Core.so.6 #32 0x00007f825906d91f in ??? () at /usr/lib/x86_64-linux-gnu/qt6/qml/org/kde/plasma/private/kicker/libkickerplugin.so #33 0x00007f825908d5ed in ??? () at /usr/lib/x86_64-linux-gnu/qt6/qml/org/kde/plasma/private/kicker/libkickerplugin.so #34 0x00007f82c980385d in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6 #35 0x00007f82cba01158 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6 #36 0x00007f82c98aefa0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6 #37 0x00007f82c98af9fd in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6 --Type <RET> for more, q to quit, c to continue without paging-- #38 0x00007f82c9667a2f in ??? () at /lib/x86_64-linux-gnu/libQt6Core.so.6 #39 0x00007f82c7f1a5b5 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #40 0x00007f82c7f79717 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #41 0x00007f82c7f19a53 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #42 0x00007f82c966e6ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6 #43 0x00007f82c98b14d3 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6 #44 0x00007f82c98b2ffd in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt6Core.so.6 #45 0x00005b979563c453 in ??? () #46 0x00007f82c8c2a1ca in __libc_start_call_main (main=main@entry=0x5b979563b720, argc=argc@entry=2, argv=argv@entry=0x7ffd5b3c8bc8) at ../sysdeps/nptl/libc_start_call_main.h:58 self = <optimized out> result = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140726134148040, 3876612357006281422, 2, 0, 100706605474648, 140199749177344, 3876612356966435534, 3833506226096687822}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x2, 0x7ffd5b3c8bc0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 2}}} not_first_call = <optimized out> #47 0x00007f82c8c2a28b in __libc_start_main_impl (main=0x5b979563b720, argc=2, argv=0x7ffd5b3c8bc8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd5b3c8bb8) at ../csu/libc-start.c:360 #48 0x00005b979563c585 in ??? () (gdb) q
(In reply to Marco Martin from comment #5) > pasting inline. > it catched it in the mid of a component creation. i wonder if there is some > repeater that for some reason creates thousands and thousands of objects. > > is ram usage of plasmashell unusually high when this freeze occurs? I haven't noticed any jumps in RAM consumption
(In reply to Marco Martin from comment #5) > is ram usage of plasmashell unusually high when this freeze occurs? Although today I caught a long plasmashell hang, and I have to say you are right, there is a large memory consumption by the plasmashell process - 2.8GB - during the hang. And then after the hang it goes down to 1.8GB. https://0x0.st/8_1p.jpg
The process usually consumes about 1GB of memory, while not hanging https://0x0.st/8_Op.png
I am noticing this too. where plasma panels will be unresponsive for 30-45 secs and launching apps and interacting with panels can be unresponsive. might be related to this issue
this is the output I got when monitoring journamctl https://pastebin.com/DUFjLu8S
I have upgraded to 6.3.4 but te hangs still occur. The only thing that helps me is kill 9 the plasma: ``` kill -9 `ps -C plasmashell -o pid h`; plasmashell --replace >& /dev/null & ```