Bug 348385

Summary: plasmashell freezes and consumes 100% of the CPU
Product: plasmashell Reporter: P. Varet <p.varet>
Component: generalAssignee: David Edmundson <kde>
Status: CLOSED FIXED    
Severity: crash CC: 3ndymion, anakin.cs, barry, bhush94, brian, bugzylittle, cedric.borgese, christiandehne, codestruct, fademind, gerd, hashbang173, joe.christy, joe.yasi, jospoortvliet, kare.sars, kde, kensington, kolAflash, lbeltrame, loic.yhuel, luis.davila.pc, mathieu, plasma-bugs, randy, rdieter, reuben_p, s.hs, t-mo, travneff, zanetu
Priority: NOR Keywords: drkonqi
Version: 5.3.0   
Target Milestone: 1.0   
Platform: Ubuntu Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Backtrace
Trigger broken dataengine
patch that stops the crash for me
testcase qml file

Description P. Varet 2015-05-29 08:49:27 UTC
Application: plasmashell (5.3.0)

Qt Version: 5.4.1
Operating System: Linux 3.19.0-18-generic x86_64
Distribution: Ubuntu 15.04

-- Information about the crash:
plasmashell's CPU usage tends to rise and rise with time. This time, it outright went to 100%, and stopped responding to keyboard actions or mouse clicks.

I killed -SEGV plasmashell in order to generate the attached backtrace. It did not actually crash on its own (this time).

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fb0b81d87c0 (LWP 15393))]

Thread 36 (Thread 0x7fb0a3f5d700 (LWP 15442)):
#0  0x00007fb0b2d6f8dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb0b5500b72 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fb0b550264f in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fb0a62a4099 in QXcbEventReader::run (this=0x73c770) at qxcbconnection.cpp:1105
#4  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x73c770) at thread/qthread_unix.cpp:337
#5  0x00007fb0b25f66aa in start_thread (arg=0x7fb0a3f5d700) at pthread_create.c:333
#6  0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 35 (Thread 0x7fb0a1be7700 (LWP 15443)):
#0  0x00007fb0af6e3306 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69f96c in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69fe60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0940008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb0a1be6de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x812ff0) at thread/qthread.cpp:503
#7  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x812ff0) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x812ff0) at thread/qthread_unix.cpp:337
#9  0x00007fb0b25f66aa in start_thread (arg=0x7fb0a1be7700) at pthread_create.c:333
#10 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 34 (Thread 0x7fb093dd6700 (LWP 15444)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb09b0464fb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#2  0x00007fb09b045c87 in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#3  0x00007fb0b25f66aa in start_thread (arg=0x7fb093dd6700) at pthread_create.c:333
#4  0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 33 (Thread 0x7fb08f918700 (LWP 15445)):
#0  0x00007fb0af6e47a4 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69f852 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69fe60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0880008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb08f917de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0xb0e640) at thread/qthread.cpp:503
#7  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0xb0e640) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0xb0e640) at thread/qthread_unix.cpp:337
#9  0x00007fb0b25f66aa in start_thread (arg=0x7fb08f918700) at pthread_create.c:333
#10 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 32 (Thread 0x7fb08d198700 (LWP 15472)):
#0  0x00007fb0b33e89ca in testAndSetRelaxed<QMutexData*> (currentValue=<synthetic pointer>, newValue=0x1, expectedValue=0x0, _q_value=@0xc67c08: 0x1) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86.h:259
#1  testAndSetAcquire<QMutexData*, QMutexData*> (currentValue=<synthetic pointer>, newValue=0x1, expectedValue=0x0, _q_value=@0xc67c08: 0x1) at ../../include/QtCore/../../src/corelib/thread/qgenericatomic.h:166
#2  testAndSetAcquire (currentValue=<synthetic pointer>, newValue=0x1, expectedValue=0x0, this=0xc67c08, this@entry=0x29) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:270
#3  fastTryLock (current=<synthetic pointer>, this=0xc67c08, this@entry=0x29) at thread/qmutex.h:82
#4  QMutex::lock (this=this@entry=0xc67c08) at thread/qmutex.cpp:212
#5  0x00007fb0b36875a9 in QMutexLocker (m=0xc67c08, this=<synthetic pointer>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:128
#6  canWaitLocked (this=0xc67be0) at ../../include/QtCore/5.4.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:243
#7  postEventSourcePrepare (timeout=<synthetic pointer>, s=0x7fb0840012d0) at kernel/qeventdispatcher_glib.cpp:254
#8  postEventSourceCheck (source=0x7fb0840012d0) at kernel/qeventdispatcher_glib.cpp:264
#9  0x00007fb0af69f8c1 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007fb0af69fe60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0840008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#13 0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb08d197de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#14 0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0xc21370) at thread/qthread.cpp:503
#15 0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0xc21370) at qml/ftw/qqmlthread.cpp:141
#16 0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0xc21370) at thread/qthread_unix.cpp:337
#17 0x00007fb0b25f66aa in start_thread (arg=0x7fb08d198700) at pthread_create.c:333
#18 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 31 (Thread 0x7fb07f7bb700 (LWP 15498)):
#0  0x00007fb0af6e4789 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69f409 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69fde8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0780008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb07f7bade0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0xd30e40) at thread/qthread.cpp:503
#7  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0xd30e40) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0xd30e40) at thread/qthread_unix.cpp:337
#9  0x00007fb0b25f66aa in start_thread (arg=0x7fb07f7bb700) at pthread_create.c:333
#10 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 30 (Thread 0x7fb07e76a700 (LWP 15499)):
#0  0x00007fb0b2d6b49d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb0af6e32f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69f96c in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69fe60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0700008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#6  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb07e769de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#7  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0xe64b30) at thread/qthread.cpp:503
#8  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0xe64b30) at qml/ftw/qqmlthread.cpp:141
#9  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0xe64b30) at thread/qthread_unix.cpp:337
#10 0x00007fb0b25f66aa in start_thread (arg=0x7fb07e76a700) at pthread_create.c:333
#11 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 29 (Thread 0x7fb07d669700 (LWP 15500)):
#0  0x00007fb0af6e4789 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69fea2 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0740008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#4  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb07d668de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0xf21f00) at thread/qthread.cpp:503
#6  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0xf21f00) at qml/ftw/qqmlthread.cpp:141
#7  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0xf21f00) at thread/qthread_unix.cpp:337
#8  0x00007fb0b25f66aa in start_thread (arg=0x7fb07d669700) at pthread_create.c:333
#9  0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 28 (Thread 0x7fb06ffff700 (LWP 15501)):
#0  0x00007fb0b2d6b4a1 in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb0af6e32f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69f96c in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69fe60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0680008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#6  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb06fffede0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#7  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x1028150) at thread/qthread.cpp:503
#8  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x1028150) at qml/ftw/qqmlthread.cpp:141
#9  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x1028150) at thread/qthread_unix.cpp:337
#10 0x00007fb0b25f66aa in start_thread (arg=0x7fb06ffff700) at pthread_create.c:333
#11 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 27 (Thread 0x7fb06effe700 (LWP 15502)):
#0  0x00007fb0af6e47a4 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69f3f0 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69fde8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0600008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb06effdde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x1101aa0) at thread/qthread.cpp:503
#7  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x1101aa0) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x1101aa0) at thread/qthread_unix.cpp:337
#9  0x00007fb0b25f66aa in start_thread (arg=0x7fb06effe700) at pthread_create.c:333
#10 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 26 (Thread 0x7fb06dffd700 (LWP 15503)):
#0  0x00007fb0b2d6f8dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb0af69febc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0640008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#4  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb06dffcde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x123a940) at thread/qthread.cpp:503
#6  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x123a940) at qml/ftw/qqmlthread.cpp:141
#7  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x123a940) at thread/qthread_unix.cpp:337
#8  0x00007fb0b25f66aa in start_thread (arg=0x7fb06dffd700) at pthread_create.c:333
#9  0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 25 (Thread 0x7fb06cffc700 (LWP 15504)):
#0  0x00007fb0af69cfdb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69f488 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69fde8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0580008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb06cffbde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x12f0510) at thread/qthread.cpp:503
#7  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x12f0510) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x12f0510) at thread/qthread_unix.cpp:337
#9  0x00007fb0b25f66aa in start_thread (arg=0x7fb06cffc700) at pthread_create.c:333
#10 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 24 (Thread 0x7fb05f7ff700 (LWP 15505)):
#0  0x00007fb0b2d6f8dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb0af69febc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0540008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#4  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb05f7fede0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x13f2720) at thread/qthread.cpp:503
#6  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x13f2720) at qml/ftw/qqmlthread.cpp:141
#7  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x13f2720) at thread/qthread_unix.cpp:337
#8  0x00007fb0b25f66aa in start_thread (arg=0x7fb05f7ff700) at pthread_create.c:333
#9  0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 23 (Thread 0x7fb05e7fe700 (LWP 15518)):
#0  0x00007fff0d9e2b0f in clock_gettime ()
#1  0x00007fb0b2d8938d in __GI___clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:115
#2  0x00007fb0b34a6cb6 in qt_clock_gettime (ts=0x7fb05e7fdb40, clock=<optimized out>) at tools/qelapsedtimer_unix.cpp:105
#3  do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:161
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:170
#5  0x00007fb0b3685639 in QTimerInfoList::updateCurrentTime (this=this@entry=0x7fb04c0030d0) at kernel/qtimerinfo_unix.cpp:84
#6  0x00007fb0b3685ba5 in QTimerInfoList::timerWait (this=0x7fb04c0030d0, tm=...) at kernel/qtimerinfo_unix.cpp:379
#7  0x00007fb0b368703e in timerSourcePrepareHelper (timeout=0x7fb05e7fdc14, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:127
#8  timerSourcePrepare (source=<optimized out>, timeout=0x7fb05e7fdc14) at kernel/qeventdispatcher_glib.cpp:160
#9  0x00007fb0af69f3fd in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007fb0af69fde8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb04c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#13 0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb05e7fdde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#14 0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x14da520) at thread/qthread.cpp:503
#15 0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x14da520) at qml/ftw/qqmlthread.cpp:141
#16 0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x14da520) at thread/qthread_unix.cpp:337
#17 0x00007fb0b25f66aa in start_thread (arg=0x7fb05e7fe700) at pthread_create.c:333
#18 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 22 (Thread 0x7fb05d7fd700 (LWP 15525)):
#0  0x00007fb0af6e47a4 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69f3f0 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69fde8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0500008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb05d7fcde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x15e0840) at thread/qthread.cpp:503
#7  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x15e0840) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x15e0840) at thread/qthread_unix.cpp:337
#9  0x00007fb0b25f66aa in start_thread (arg=0x7fb05d7fd700) at pthread_create.c:333
#10 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 21 (Thread 0x7fb04bfff700 (LWP 15541)):
#0  0x00007fb0b2d6b49d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb0af6e32f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69f96c in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69fe60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0440008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#6  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb04bffede0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#7  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x16b9f50) at thread/qthread.cpp:503
#8  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x16b9f50) at qml/ftw/qqmlthread.cpp:141
#9  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x16b9f50) at thread/qthread_unix.cpp:337
#10 0x00007fb0b25f66aa in start_thread (arg=0x7fb04bfff700) at pthread_create.c:333
#11 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 20 (Thread 0x7fb04affe700 (LWP 15555)):
#0  __libc_enable_asynccancel () at ../sysdeps/unix/sysv/linux/x86_64/cancellation.S:65
#1  0x00007fb0b2d6b492 in read () at ../sysdeps/unix/syscall-template.S:81
#2  0x00007fb0af6e32f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69f96c in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0af69fe60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb03c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#7  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb04affdde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#8  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x17f0b60) at thread/qthread.cpp:503
#9  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x17f0b60) at qml/ftw/qqmlthread.cpp:141
#10 0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x17f0b60) at thread/qthread_unix.cpp:337
#11 0x00007fb0b25f66aa in start_thread (arg=0x7fb04affe700) at pthread_create.c:333
#12 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 19 (Thread 0x7fb049ffd700 (LWP 15558)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb0b731f644 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007fb0b731f689 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007fb0b25f66aa in start_thread (arg=0x7fb049ffd700) at pthread_create.c:333
#4  0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 18 (Thread 0x7fb0497fc700 (LWP 15559)):
#0  0x00007fb0af6e4789 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69fe7e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fb0400008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#4  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fb0497fbde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x18a2a80) at thread/qthread.cpp:503
#6  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x18a2a80) at qml/ftw/qqmlthread.cpp:141
#7  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x18a2a80) at thread/qthread_unix.cpp:337
#8  0x00007fb0b25f66aa in start_thread (arg=0x7fb0497fc700) at pthread_create.c:333
#9  0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 17 (Thread 0x7fafba552700 (LWP 15609)):
#0  0x00007fb0b2d6f8dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb0af69febc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fafb40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#4  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fafba551de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x1c2b670) at thread/qthread.cpp:503
#6  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x1c2b670) at qml/ftw/qqmlthread.cpp:141
#7  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x1c2b670) at thread/qthread_unix.cpp:337
#8  0x00007fb0b25f66aa in start_thread (arg=0x7fafba552700) at pthread_create.c:333
#9  0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 16 (Thread 0x7fafb8b69700 (LWP 15610)):
#0  0x00007fb0af6e47a4 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69f8b9 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69fe60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fafac0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fafb8b68d90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x2a613d0) at thread/qthread.cpp:503
#7  0x00007fb0b7e88b56 in QQuickPixmapReader::run (this=0x2a613d0) at util/qquickpixmapcache.cpp:714
#8  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x2a613d0) at thread/qthread_unix.cpp:337
#9  0x00007fb0b25f66aa in start_thread (arg=0x7fafb8b69700) at pthread_create.c:333
#10 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 15 (Thread 0x7fafb2f23700 (LWP 15614)):
#0  0x00007fb0af6e4789 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69fa16 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69ff20 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fafa80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fafb2f22de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x31a7e40) at thread/qthread.cpp:503
#7  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x31a7e40) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x31a7e40) at thread/qthread_unix.cpp:337
#9  0x00007fb0b25f66aa in start_thread (arg=0x7fafb2f23700) at pthread_create.c:333
#10 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 14 (Thread 0x7fafa6fda700 (LWP 15616)):
#0  0x00007fb0af6e4789 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69f409 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69fde8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7fafa00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fafa6fd9de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x39b83f0) at thread/qthread.cpp:503
#7  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x39b83f0) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x39b83f0) at thread/qthread_unix.cpp:337
#9  0x00007fb0b25f66aa in start_thread (arg=0x7fafa6fda700) at pthread_create.c:333
#10 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 13 (Thread 0x7fafa5ed7700 (LWP 15617)):
#0  0x00007fb0b2d6f8e1 in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb0af69febc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7faf980008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#4  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fafa5ed6de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x3a7ea60) at thread/qthread.cpp:503
#6  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x3a7ea60) at qml/ftw/qqmlthread.cpp:141
#7  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x3a7ea60) at thread/qthread_unix.cpp:337
#8  0x00007fb0b25f66aa in start_thread (arg=0x7fafa5ed7700) at pthread_create.c:333
#9  0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 12 (Thread 0x7fafa4dd4700 (LWP 15618)):
#0  0x00007fb0af69fd8c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7faf9c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#3  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fafa4dd3de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#4  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x3b89f70) at thread/qthread.cpp:503
#5  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x3b89f70) at qml/ftw/qqmlthread.cpp:141
#6  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x3b89f70) at thread/qthread_unix.cpp:337
#7  0x00007fb0b25f66aa in start_thread (arg=0x7fafa4dd4700) at pthread_create.c:333
#8  0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 11 (Thread 0x7faf977ff700 (LWP 15619)):
#0  0x00007fff0d9e2b3b in clock_gettime ()
#1  0x00007fb0b2d8938d in __GI___clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:115
#2  0x00007fb0b34a6cb6 in qt_clock_gettime (ts=0x7faf977feb40, clock=<optimized out>) at tools/qelapsedtimer_unix.cpp:105
#3  do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:161
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:170
#5  0x00007fb0b3685639 in QTimerInfoList::updateCurrentTime (this=this@entry=0x7faf900013a0) at kernel/qtimerinfo_unix.cpp:84
#6  0x00007fb0b3685ba5 in QTimerInfoList::timerWait (this=0x7faf900013a0, tm=...) at kernel/qtimerinfo_unix.cpp:379
#7  0x00007fb0b368703e in timerSourcePrepareHelper (timeout=0x7faf977fec14, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:127
#8  timerSourcePrepare (source=<optimized out>, timeout=0x7faf977fec14) at kernel/qeventdispatcher_glib.cpp:160
#9  0x00007fb0af69f3fd in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007fb0af69fde8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7faf900008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#13 0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7faf977fede0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#14 0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x3c77e70) at thread/qthread.cpp:503
#15 0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x3c77e70) at qml/ftw/qqmlthread.cpp:141
#16 0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x3c77e70) at thread/qthread_unix.cpp:337
#17 0x00007fb0b25f66aa in start_thread (arg=0x7faf977ff700) at pthread_create.c:333
#18 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7faf967fe700 (LWP 15620)):
#0  0x00007fb0b2d6b49d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb0af6e32f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69f96c in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69fe60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7faf880008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#6  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7faf967fdde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#7  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x3db3070) at thread/qthread.cpp:503
#8  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x3db3070) at qml/ftw/qqmlthread.cpp:141
#9  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x3db3070) at thread/qthread_unix.cpp:337
#10 0x00007fb0b25f66aa in start_thread (arg=0x7faf967fe700) at pthread_create.c:333
#11 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7faf957fd700 (LWP 15621)):
#0  0x00007fb0af6e4789 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69f641 in g_main_context_query () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69fe37 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7faf8c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7faf957fcde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x3e63730) at thread/qthread.cpp:503
#7  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x3e63730) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x3e63730) at thread/qthread_unix.cpp:337
#9  0x00007fb0b25f66aa in start_thread (arg=0x7faf957fd700) at pthread_create.c:333
#10 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7faf83cc0700 (LWP 15622)):
#0  0x00007fb0b2d6f8dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb0af69febc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7faf7c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#4  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7faf83cbfdc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007fb0b33ebb44 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#6  0x00007faf85f69cf7 in KCupsConnection::run() () from /usr/lib/x86_64-linux-gnu/libkcupslib.so
#7  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x4298670) at thread/qthread_unix.cpp:337
#8  0x00007fb0b25f66aa in start_thread (arg=0x7faf83cc0700) at pthread_create.c:333
#9  0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7faf82d81700 (LWP 15623)):
#0  0x00007fb0af6e47a4 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69f8b9 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69fe60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7faf740008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7faf82d80de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x4856600) at thread/qthread.cpp:503
#7  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x4856600) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x4856600) at thread/qthread_unix.cpp:337
#9  0x00007fb0b25f66aa in start_thread (arg=0x7faf82d81700) at pthread_create.c:333
#10 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7faf81d80700 (LWP 15624)):
#0  0x00007fb0b33e8e0f in testAndSetRelaxed<QMutexData*> (currentValue=<synthetic pointer>, newValue=0x0, expectedValue=0x1, _q_value=@0x498d4d8: 0x0) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86.h:259
#1  testAndSetRelease<QMutexData*, QMutexData*> (currentValue=<synthetic pointer>, newValue=0x0, expectedValue=0x1, _q_value=@0x498d4d8: 0x0) at ../../include/QtCore/../../src/corelib/thread/qgenericatomic.h:175
#2  testAndSetRelease (currentValue=<synthetic pointer>, newValue=0x0, expectedValue=0x1, this=this@entry=0x498d4d8) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:272
#3  fastTryUnlock (current=<synthetic pointer>, this=this@entry=0x498d4d8) at thread/qmutex.h:85
#4  QMutex::unlock (this=this@entry=0x498d4d8) at thread/qmutex.cpp:264
#5  0x00007fb0b36875b5 in unlock (this=<synthetic pointer>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:138
#6  ~QMutexLocker (this=<synthetic pointer>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:132
#7  canWaitLocked (this=<optimized out>) at ../../include/QtCore/5.4.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:244
#8  postEventSourcePrepare (timeout=<synthetic pointer>, s=0x7faf780012d0) at kernel/qeventdispatcher_glib.cpp:254
#9  postEventSourceCheck (source=0x7faf780012d0) at kernel/qeventdispatcher_glib.cpp:264
#10 0x00007fb0af69f8c1 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007fb0af69fe60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7faf780008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#14 0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7faf81d7fde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#15 0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x96bb00) at thread/qthread.cpp:503
#16 0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x96bb00) at qml/ftw/qqmlthread.cpp:141
#17 0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x96bb00) at thread/qthread_unix.cpp:337
#18 0x00007fb0b25f66aa in start_thread (arg=0x7faf81d80700) at pthread_create.c:333
#19 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7faf80d7f700 (LWP 15625)):
#0  0x00007fb0b2d6b49d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb0af6e32f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69f96c in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69fe60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7faf6c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#6  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7faf80d7ede0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#7  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x3f79710) at thread/qthread.cpp:503
#8  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x3f79710) at qml/ftw/qqmlthread.cpp:141
#9  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x3f79710) at thread/qthread_unix.cpp:337
#10 0x00007fb0b25f66aa in start_thread (arg=0x7faf80d7f700) at pthread_create.c:333
#11 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7faf59a3b700 (LWP 16219)):
#0  0x00007fb0b2d6b49d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fb0af6e32f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69f96c in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69fe60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x66f15a0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#6  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7faf59a3ade0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#7  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x72098e0) at thread/qthread.cpp:503
#8  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x72098e0) at qml/ftw/qqmlthread.cpp:141
#9  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x72098e0) at thread/qthread_unix.cpp:337
#10 0x00007fb0b25f66aa in start_thread (arg=0x7faf59a3b700) at pthread_create.c:333
#11 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7faf5cc4e700 (LWP 16221)):
#0  0x00007fb0af69cf1d in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69f39b in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69fde8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7faf7800b2e0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7faf5cc4dd90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x512d040) at thread/qthread.cpp:503
#7  0x00007fb0b7e88b56 in QQuickPixmapReader::run (this=0x512d040) at util/qquickpixmapcache.cpp:714
#8  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x512d040) at thread/qthread_unix.cpp:337
#9  0x00007fb0b25f66aa in start_thread (arg=0x7faf5cc4e700) at pthread_create.c:333
#10 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7faf5daae700 (LWP 21254)):
#0  0x00007fb0af6e47a4 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fb0af69f6f9 in g_main_context_query () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb0af69fe37 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb0b3687c6c in QEventDispatcherGlib::processEvents (this=0x7faf6c310aa0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#5  0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7faf5daadde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fb0b33ebb44 in QThread::exec (this=this@entry=0x4de60e0) at thread/qthread.cpp:503
#7  0x00007fb0b5179f65 in QQmlThreadPrivate::run (this=0x4de60e0) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fb0b33f0b0e in QThreadPrivate::start (arg=0x4de60e0) at thread/qthread_unix.cpp:337
#9  0x00007fb0b25f66aa in start_thread (arg=0x7faf5daae700) at pthread_create.c:333
#10 0x00007fb0b2d7aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fb0b81d87c0 (LWP 15393)):
[KCrash Handler]
#6  QQuickShaderEffectSource::updatePaintNode (this=0x7f98e50, oldNode=0x8e44860) at items/qquickshadereffectsource.cpp:638
#7  0x00007fb0b7f264bf in QQuickWindowPrivate::updateDirtyNode (this=this@entry=0x3118520, item=item@entry=0x7f98e50) at items/qquickwindow.cpp:2821
#8  0x00007fb0b7f274cb in QQuickWindowPrivate::updateDirtyNodes (this=this@entry=0x3118520) at items/qquickwindow.cpp:2646
#9  0x00007fb0b7f27d80 in QQuickWindowPrivate::syncSceneGraph (this=0x3118520) at items/qquickwindow.cpp:338
#10 0x00007fb0b7ef6f05 in QSGGuiThreadRenderLoop::renderWindow (this=0x965d90, window=0x3143fe0) at scenegraph/qsgrenderloop.cpp:364
#11 0x00007fb0b7ef7979 in QSGGuiThreadRenderLoop::event (this=0x965d90, e=<optimized out>) at scenegraph/qsgrenderloop.cpp:467
#12 0x00007fb0b3f38b2c in QApplicationPrivate::notify_helper (this=0x721420, receiver=0x965d90, e=0x7fff0d91d070) at kernel/qapplication.cpp:3720
#13 0x00007fb0b3f3e000 in QApplication::notify (this=0x7fff0d91d440, receiver=0x965d90, e=0x7fff0d91d070) at kernel/qapplication.cpp:3503
#14 0x00007fb0b362ec2b in QCoreApplication::notifyInternal (this=0x7fff0d91d440, receiver=0x965d90, event=event@entry=0x7fff0d91d070) at kernel/qcoreapplication.cpp:935
#15 0x00007fb0b3686ae5 in sendEvent (event=0x7fff0d91d070, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228
#16 QTimerInfoList::activateTimers (this=0x769a80) at kernel/qtimerinfo_unix.cpp:635
#17 0x00007fb0b3686f99 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:177
#18 idleTimerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:224
#19 0x00007fb0af69fc3d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007fb0af69ff20 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007fb0af69ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007fb0b3687c57 in QEventDispatcherGlib::processEvents (this=0x75efa0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#23 0x00007fb0b362c3e2 in QEventLoop::exec (this=this@entry=0x7fff0d91d2c0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#24 0x00007fb0b363402c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#25 0x00007fb0b397331c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1510
#26 0x00007fb0b3f347a5 in QApplication::exec () at kernel/qapplication.cpp:2956
#27 0x00000000004301b3 in main (argc=1, argv=<optimized out>) at ../../shell/main.cpp:154

Reported using DrKonqi
Comment 1 David Edmundson 2015-06-14 15:50:49 UTC
Do you have any of the system load applets (the ones with the animating graphs of resource usage) on your desktop?
Comment 2 Loïc Yhuel 2015-07-06 16:53:50 UTC
(In reply to David Edmundson from comment #1)
> Do you have any of the system load applets (the ones with the animating
> graphs of resource usage) on your desktop?
I just reproduced the issue, with the "System Load Viewer" applet in the panel.

m_sourceItem is a QQuickShaderEffect, by looking at the shaders it seems it comes from a LinearGradient.
m_sourceItem->width() is 11
m_sourceItem->height() is 5.0792036951891379e+17
=> qCeil(qAbs(sourceRect.height())) overflows to -2147483648, and the loops runs forever
Comment 3 David Edmundson 2015-07-06 17:39:38 UTC
*hugs* thank you so much for spotting that.

Should be much much easier to fix now.
Comment 4 David Edmundson 2015-07-06 17:43:34 UTC
*** Bug 345696 has been marked as a duplicate of this bug. ***
Comment 5 Loïc Yhuel 2015-07-06 18:15:55 UTC
(In reply to David Edmundson from comment #4)
> *** Bug 345696 has been marked as a duplicate of this bug. ***
I this case, plasmashell is completely frozen, as it's an infinite loop.
Do you think the other bug is caused by a big height, but not enough to cause overflows (and smaller than maximum texture size too) ?
Comment 6 Luca Beltrame 2015-07-06 18:33:25 UTC
https://bugs.kde.org/show_bug.cgi?id=346134 might also be related.
Comment 7 David Edmundson 2015-07-08 13:55:11 UTC
Git commit f399aa8b48db02f809454be5427c0ca01b809882 by David Edmundson.
Committed on 08/07/2015 at 13:54.
Pushed by davidedmundson into branch 'master'.

Only resize plot texture if size actually changes

Test compared rounded QSize with QSizeF, which will be almost always
returning true.
REVIEW: 124280

M  +6    -7    src/qmlcontrols/kquickcontrolsaddons/plotter.cpp

http://commits.kde.org/kdeclarative/f399aa8b48db02f809454be5427c0ca01b809882
Comment 8 miku84 2015-07-17 13:00:27 UTC
Good news:)
is this patch relevant for the monitor applets CPU leak?
Is this part of the next Plasma release?
Comment 9 David Edmundson 2015-07-17 13:23:52 UTC
I don't think this fix is /the/ fix which is why I've left this open.

It's just something I noticed when looking into what Loïc Yhuel said.
Comment 10 Luca Beltrame 2015-07-17 14:31:16 UTC
In data Friday 17 July 2015 13:23:52, hai scritto:

> I don't think this fix is /the/ fix which is why I've left this open.
> It's just something I noticed when looking into what Loïc Yhuel said.

According to what normart said earlier in this bug, the way to fix this 
properly is to use event compression.
Comment 11 Loïc Yhuel 2015-07-17 15:14:21 UTC
(In reply to Luca Beltrame from comment #10)
> According to what normart said earlier in this bug, the way to fix this 
> properly is to use event compression.
Event compression would help when the CPU usage is high, but not in this case, where plasmashell is frozen (in an infinite loop).
Comment 12 David Edmundson 2015-07-27 10:54:26 UTC
Git commit 7a6a2cda780784e504960c96b4b41241ddf10531 by David Edmundson.
Committed on 27/07/2015 at 10:54.
Pushed by davidedmundson into branch 'master'.

Don't refresh the entire window when we render the plotter

This means the window is only updated when the plotter changes, rather
than effectively every possible frame.

Reviewed by: Marco Martin

M  +0    -3    src/qmlcontrols/kquickcontrolsaddons/plotter.cpp

http://commits.kde.org/kdeclarative/7a6a2cda780784e504960c96b4b41241ddf10531
Comment 13 David Edmundson 2015-07-27 11:19:38 UTC
[13:16] <Lekensteyn> d___ed: confirmed that the CPU usage is normal, render is called for a reasonable number of times

I'm going to optimistically assume this is fixed for 5.13
Please, please test and report back.
Comment 14 Peter Wu 2015-07-27 11:22:46 UTC
Confirmed that kdeclarative commit 7a6a2cda780784e504960c96b4b41241ddf10531 fixes the CPU usage. Tested with RAM and CPU monitors (separately). Before this patch the Plotter::render() function would be called an insanely amount of times (125 times per second). After this patch, it is only called once (for each Plotter::addSample -> Plotter::updatePaintMode).
Comment 15 Antonio Rojas 2015-08-15 07:14:37 UTC
*** Bug 350573 has been marked as a duplicate of this bug. ***
Comment 16 3ndymion 2015-08-17 16:42:22 UTC
(In reply to David Edmundson from comment #12)
> Git commit 7a6a2cda780784e504960c96b4b41241ddf10531 by David Edmundson.
> Committed on 27/07/2015 at 10:54.
> Pushed by davidedmundson into branch 'master'.
> 
> Don't refresh the entire window when we render the plotter
> 
> This means the window is only updated when the plotter changes, rather
> than effectively every possible frame.
> 
> Reviewed by: Marco Martin
> 
> M  +0    -3    src/qmlcontrols/kquickcontrolsaddons/plotter.cpp
> 
> http://commits.kde.org/kdeclarative/7a6a2cda780784e504960c96b4b41241ddf10531

Guys...  I just wanted to say thanks for this.  For the past week or 2, I have noticed that the CPU on my laptop is not going crazy & burning up anymore, even with widgets active.  Now, it actually stays under 1% when idle, just the way it should be.  I was wondering if the bug, bug 345696 , was silently fixed somehow, & now I see that it was fixed.

I've only been using Linux for a couple of years now, but I am very frustrated with the things that go on in the world of Linux... things constantly don't work... things constantly don't get fixed...  it's so annoying.  This has caused me to learn all I can & start building a program of my own for the world to use.  Now that my laptop is not burning up anymore, I can finally work with peace of heart, & I'm sure many other people as well.

So seriously guys...  thanks so much for this.  It's very much appreciated.  : )
Comment 17 Loïc Yhuel 2015-09-15 10:11:08 UTC
I just reproduced the original issue on 5.4.1 (but it's probably much more random now).

Same problem : infinite loop in QQuickShaderEffectSource::updatePaintNode, since m_sourceItem->height() is 5.0792036951891379e+17
Comment 18 David Edmundson 2015-09-15 10:13:41 UTC
Ah comment #2 said something about height being exteme too.

The thing I fixed was a constant redrawing, yet kinda usable.

I think we may have two bugs on our hands with similar symptoms.
Comment 19 Loïc Yhuel 2015-09-15 10:45:59 UTC
I don't know if it's related, but the qFuzzyCompare(adjustedMax - adjustedMin, 0) in Plotter::normalizeData probably doesn't work, as the Qt doc states : "Note that comparing values where either p1 or p2 is 0.0 will not work. The solution to this is to compare against values greater than or equal to 1.0."
Comment 20 brian 2015-09-16 19:45:29 UTC
Created attachment 94604 [details]
Backtrace

Seems to be the same problem for me. Does not appear to be tied to anything quite in particular. It happens within minutes of starting the computer. I have completely uninstalled, reinstalled plasma, deleted all my configurations, started from scratch. Tested other graphics drivers to make sure the issue wasn't a configuration error on my side. 

Hopefully my back trace can be useful. When the crash occurs anything else running still runs but eventually the entire screen locks up and I can only move the mouse. So the desktop goes black, all the side bars disappear, I can still alt-tab and lock my screen but the rest of what I believe is the plasma shell is inaccessible.
Comment 21 Loïc Yhuel 2015-09-16 23:07:18 UTC
(In reply to Brian Logan from comment #20)
> Created attachment 94604 [details]
> Backtrace
It seems to be an actual crash, not a plasmashell freeze with 100% CPU.
Comment 22 David Edmundson 2015-09-20 22:32:06 UTC
@Brian, I think that's unrelated. I have seen that trace elsewhere though so we don't need to make a new bug
Comment 23 David Edmundson 2015-09-20 22:49:39 UTC
@Loïc Yhuel

Thanks for the qFuzzyCompare comments, that's useful

but QQuickShaderEffectSource isn't used in the plotter

Places that use it are :
 WidgetExplorer
 Kicker Dashboard
 SystemLoadViewer Compact Bar Monitor
Comment 24 Loïc Yhuel 2015-09-20 23:25:48 UTC
(In reply to David Edmundson from comment #23)
>  SystemLoadViewer Compact Bar Monitor
This is the one I'm using (and probably the original reporter too since the callstacks are the same), see comment 2.
I thought the plotter fixes were related, since reproducing the issue is now much harder, but it seems it's really random.
Comment 25 David Edmundson 2015-09-21 00:11:39 UTC
it'll be the systemloadviewer compact bar monitor...
            height: barBorder.height * barMonitor.proportions[index]

proportions coming from SystemLoadViewer.qml 
proportions should be between 0 and 1, however it must have a divide by zero in there when it does:

 proprtion = current/max

code that we have in SystemLoadViewer.qml. 

I have a patch that will probably fix it:

--- a/applets/systemloadviewer/package/contents/ui/CompactBarMonitor.qml
+++ b/applets/systemloadviewer/package/contents/ui/CompactBarMonitor.qml
@@ -43,7 +43,7 @@ Item {
         model: proportions.length
         Rectangle {
             color: barMonitor.colors[index]
-            height: barBorder.height * barMonitor.proportions[index]
+            height: barBorder.height * Math.max(barMonitor.proportions[index],1)
             width: barBorder.width
             anchors {
                 bottom: index == 0 ? barBorder.bottom : barRepeater.itemAt(index-1).top
(END)


but I'd rather get to the bottom of this if we can. The datasource must be reporting some bogus results somewhere.
Comment 26 Loïc Yhuel 2015-09-21 01:15:03 UTC
(In reply to David Edmundson from comment #25)
> -            height: barBorder.height * barMonitor.proportions[index]
> +            height: barBorder.height *
> Math.max(barMonitor.proportions[index],1)
Math.min
> 
> but I'd rather get to the bottom of this if we can. The datasource must be
> reporting some bogus results somewhere.
Tell me if I can help.

Looking in SystemLoadViewer.qml, I see a few parseFloat() calls, which would return NaN if the dataSource reports something unexpected. I don't know what it would do when set to height.
Comment 27 David Edmundson 2015-09-21 07:04:19 UTC
Would you be able to run with this patch for a while, then hopefully we'll see which entry is failing.

https://paste.kde.org/pq7xyq53q

in the meantime I'll take a code review of the dataengine and look for anything possibly related.
Comment 28 Barry Scott 2015-09-28 16:35:43 UTC
Here is a gdb session from what I think is an instance of this bug.
I have plasma-workspace-5.4.1-3.fc22.x86_64 installed.

It shows a problem "while loop" stuck at:
qquickshadereffectsource.cpp:637 and 638
You can see that the height  being doubled is 0x80000000 and each time its value stays the same.

(gdb) bt 5
#0  0x00007f32c8a2a198 in QQuickShaderEffectSource::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) (this=0x2157d20, oldNode=0x7f31f03f0a20) at /usr/src/debug/qtdeclarative-opensource-src-5.5.0/src/quick/items/qquickshadereffectsource.cpp:638
#1  0x00007f32c8940850 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) (this=this@entry=0x19d92b0, item=item@entry=0x2157d20)
    at /usr/src/debug/qtdeclarative-opensource-src-5.5.0/src/quick/items/qquickwindow.cpp:2985
#2  0x00007f32c89410ab in QQuickWindowPrivate::updateDirtyNodes() (this=this@entry=0x19d92b0)
    at /usr/src/debug/qtdeclarative-opensource-src-5.5.0/src/quick/items/qquickwindow.cpp:2723
#3  0x00007f32c8941220 in QQuickWindowPrivate::syncSceneGraph() (this=0x19d92b0)
    at /usr/src/debug/qtdeclarative-opensource-src-5.5.0/src/quick/items/qquickwindow.cpp:341
#4  0x00007f32c8912c13 in QSGRenderThread::sync(bool) (this=this@entry=0x27f3e10, inExpose=<optimized out>)
    at /usr/src/debug/qtdeclarative-opensource-src-5.5.0/src/quick/scenegraph/qsgthreadedrenderloop.cpp:512
#5  0x00007f32c8913e55 in QSGRenderThread::syncAndRender() (this=this@entry=0x27f3e10)
    at /usr/src/debug/qtdeclarative-opensource-src-5.5.0/src/quick/scenegraph/qsgthreadedrenderloop.cpp:558
(gdb) n
637         while (textureSize.height() < minTextureSize.height())
(gdb) 
638             textureSize.rheight() *= 2;
(gdb) 
637         while (textureSize.height() < minTextureSize.height())
(gdb) p textureSize 
$1 = {wd = 21, ht = -2147483648}
(gdb) p minTextureSize
$2 = {wd = 1, ht = <optimized out>}
(gdb) p minTextureSize
$3 = {wd = 1, ht = <optimized out>}
(gdb) p textureSize.ht
$5 = -2147483648
(gdb) p/x textureSize.ht
$6 = 0x80000000
(gdb) n
638             textureSize.rheight() *= 2;
(gdb) 
637         while (textureSize.height() < minTextureSize.height())
(gdb) 
638             textureSize.rheight() *= 2;
(gdb) 
637         while (textureSize.height() < minTextureSize.height())
(gdb) 
638             textureSize.rheight() *= 2;
(gdb) 
637         while (textureSize.height() < minTextureSize.height())
(gdb) p/x textureSize.ht
$7 = 0x80000000
(gdb)
Comment 29 David Edmundson 2015-09-28 16:59:14 UTC
Thanks, that matches the evaluation above. Could you run with the patch at #27?
Comment 30 jos poortvliet 2015-09-29 10:48:02 UTC
Thanks for tracking this down, guys, Plasma invariably uses 100% cpu after being up for a day or two.

Of course, so does Firefox so I'm not sure what to yell at for making the fan of my computer blow like it's in the middle of a heat wave... ;-)

But, combined with KRunner frequently getting slow as ass, this takes care of my last gripes with Plasma 5.x so awesome work!
Comment 31 Barry Scott 2015-09-29 10:55:16 UTC
(In reply to David Edmundson from comment #29)
> Thanks, that matches the evaluation above. Could you run with the patch at
> #27?

I'm Running the patch. Where does console.log output to so that I can check for the error messages?
Comment 32 David Edmundson 2015-09-29 11:26:01 UTC
stderr

so either ~/.xsession-errors
or the shell you started plasmashell from if you started it by hand
Comment 33 Barry Scott 2015-09-30 10:58:04 UTC
Sorry the patch does not help. I see exactly the same looping in the plasmashell.

Why not patch the code that is looping to detect the bad input condition and error out?
Either crash or report the error. Isn't better then allow a DoS on plasmashell by using poorly
written qml?

I did see these messages:
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemloadviewer/contents/ui/SystemLoadViewer.qml:153: TypeError: Cannot read property 'value' of undefined
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemloadviewer/contents/ui/SystemLoadViewer.qml:67: TypeError: Cannot read property of null
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemloadviewer/contents/ui/SystemLoadViewer.qml:181: TypeError: Cannot read property 'value' of undefined
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemloadviewer/contents/ui/SystemLoadViewer.qml:181: TypeError: Cannot read property 'value' of undefined
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemloadviewer/contents/ui/SystemLoadViewer.qml:192: TypeError: Cannot read property 'value' of undefined
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemloadviewer/contents/ui/SystemLoadViewer.qml:181: TypeError: Cannot read property 'value' of undefined
Comment 34 Loïc Yhuel 2015-09-30 11:30:19 UTC
(In reply to Barry Scott from comment #33)
> Sorry the patch does not help. I see exactly the same looping in the
> plasmashell.
The patch is there to try to understand which values are wrong.
> 
> Why not patch the code that is looping to detect the bad input condition and
> error out?
> Either crash or report the error. Isn't better then allow a DoS on
> plasmashell by using poorly
> written qml?
I agree QQuickShaderEffectSource should fail in these cases (width/height too big), perhaps we should create a Qt bug for this.
> 
> I did see these messages:
> file:///usr/share/plasma/plasmoids/org.kde.plasma.systemloadviewer/contents/
> ui/SystemLoadViewer.qml:153: TypeError: Cannot read property 'value' of
> undefined
> file:///usr/share/plasma/plasmoids/org.kde.plasma.systemloadviewer/contents/
> ui/SystemLoadViewer.qml:67: TypeError: Cannot read property of null
> file:///usr/share/plasma/plasmoids/org.kde.plasma.systemloadviewer/contents/
> ui/SystemLoadViewer.qml:181: TypeError: Cannot read property 'value' of
> undefined
> file:///usr/share/plasma/plasmoids/org.kde.plasma.systemloadviewer/contents/
> ui/SystemLoadViewer.qml:181: TypeError: Cannot read property 'value' of
> undefined
> file:///usr/share/plasma/plasmoids/org.kde.plasma.systemloadviewer/contents/
> ui/SystemLoadViewer.qml:192: TypeError: Cannot read property 'value' of
> undefined
> file:///usr/share/plasma/plasmoids/org.kde.plasma.systemloadviewer/contents/
> ui/SystemLoadViewer.qml:181: TypeError: Cannot read property 'value' of
> undefined
I have those too, but on startup, so (at least in my case) they are not related to this issue.
I didn't reproduce the freeze since I added the patch.
Comment 35 Barry Scott 2015-10-01 10:24:46 UTC
(In reply to Loïc Yhuel from comment #34)
> (In reply to Barry Scott from comment #33)
> > Sorry the patch does not help. I see exactly the same looping in the
> > plasmashell.
> The patch is there to try to understand which values are wrong.
> > 
> > Why not patch the code that is looping to detect the bad input condition and
> > error out?
> > Either crash or report the error. Isn't better then allow a DoS on
> > plasmashell by using poorly
> > written qml?
> I agree QQuickShaderEffectSource should fail in these cases (width/height
> too big), perhaps we should create a Qt bug for this.

If one of the plasmashell developers can come up with a patch to catch this bug early I will happily run with it and report back findings. I seem to be able to trigger this once or twice a day
(I do not not know how).

I would need to know how to identify the code triggering the error detection.
If you can print that into the logs great, otherwise how can I find that answer with gdb?
Comment 36 David Edmundson 2015-10-01 10:54:19 UTC
Created attachment 94795 [details]
Trigger broken dataengine

Attached QML file shows that we can get NaNs whilst the engine connects.

I'll add a shoddy guard in the QML for 5.4.2, then for 5.5 I'm rewriting this garbage with a proper import where we have types done properly.
Comment 37 David Edmundson 2015-10-01 11:27:47 UTC
Git commit 564b06d32c2e7c581f2316342854881b08788809 by David Edmundson.
Committed on 01/10/2015 at 11:26.
Pushed by davidedmundson into branch 'Plasma/5.4'.

Fix system loadviewer results

SystemLoadViewer Dataengine gives us undefined values at startup.

We need an immediate fix in Plasma stable so check bad values on the JS
side.

M  +10   -3    applets/systemloadviewer/package/contents/ui/SystemLoadViewer.qml

http://commits.kde.org/kdeplasma-addons/564b06d32c2e7c581f2316342854881b08788809
Comment 38 Loïc Yhuel 2015-10-01 11:33:24 UTC
Are you sure it will fix the issue ?
The freeze doesn't happen on startup when the engine connects.
Comment 39 David Edmundson 2015-10-01 11:37:19 UTC
I'm 80% confident.
Let me know if it doesn't.
Comment 40 Barry Scott 2015-10-06 11:57:35 UTC
I am running with your updated SystemLoadViewer.qml from http://commits.kde.org/kdeplasma-addons/564b06d32c2e7c581f2316342854881b08788809

It does not fix the problem. I still see the hang in the same place.
Comment 41 Loïc Yhuel 2015-10-08 23:16:58 UTC
I just had the freeze again on 5.4.2.
Comment 42 Kåre Särs 2015-10-19 10:19:16 UTC
Created attachment 95040 [details]
patch that stops the crash for me

Hi, 
When I apply this patch on top of the patch in https://git.reviewboard.kde.org/r/125006/ I no-longer get the crash in system-load-viewer. I applied this patch half a week ago and no crashes since then. Before this patch I would get the crash ~every 30min. 

Note: I'm using the compact bars.
The review does not touch this file except increasing the number of bars

(I have compiled and installed just the systemloadviewer from kdeplasma-addons master on top of Kubuntu packages of Plasma 5.3)
Comment 43 Kåre Särs 2015-10-19 10:27:21 UTC
"bottomMargin: index == 0 ? barBorder.border.width : 0"

the line above should also be removed as barBorder is no longer a Rectangle and besides the border was always 0...
Comment 44 Gerd v. Egidy 2015-10-24 17:07:45 UTC
@David: In https://bugs.kde.org/show_bug.cgi?id=354126#c14 you wrote that you need some more info.

I'm experiencing the problem with 5.4.2, so your patch from Comment 37 above is already applied.

What exactly do you want me to try? The patch Kåre posted which removes the LinearGradient?
Comment 45 David Edmundson 2015-10-24 17:15:06 UTC
obviously removing the gradient will fix it in #42

I will do that as a last resort for 5.4.3 if we don't have something better

However, that's definitely not a proper fix and it just hides the cause.
Comment 46 David Edmundson 2015-10-24 17:22:44 UTC
Created attachment 95106 [details]
testcase qml file

Can people who have this run

qmlscene thisfilq.qml

it should list the values the bar chart is using. using the same code.

If this says NaN or Infinity or something like 2034982034980435 then let me know.
Comment 47 Gerd v. Egidy 2015-10-24 21:44:50 UTC
(In reply to David Edmundson from comment #46)
> Can people who have this run
> 
> qmlscene thisfilq.qml
> 
> it should list the values the bar chart is using. using the same code.

Directly after I started it, it wrote to the shell:

file:///home/gerd/tmp/tmpd/testcase.qml:74: TypeError: Cannot read property 'value' of undefined
file:///home/gerd/tmp/tmpd/testcase.qml:74: TypeError: Cannot read property 'value' of undefined
file:///home/gerd/tmp/tmpd/testcase.qml:74: TypeError: Cannot read property 'value' of undefined
file:///home/gerd/tmp/tmpd/testcase.qml:81: TypeError: Cannot read property 'value' of undefined

Afterwards it looks like this is not working as expected: I ran your qml for some hours. plasmashell (with system load viewer and compact bar) froze two times during that time, but your qml didn't output anything on the shell I started it on or in it's window.
Comment 48 Kåre Särs 2015-10-27 13:47:24 UTC
Hi,

I modified the CompactBarMonitor.qml to print out barMonitor.proportions[] if one of the values where NaN, < 0 or >10000.

After a couple of minutes I got:
plasmashell(0x7d7610) expression for height 55: !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 186330739112222400 186330739112222400 4
plasmashell(0x7d7610) expression for height 57: prop 0 = 0.010101009999999999
plasmashell(0x7d7610) expression for height 57: prop 1 = 0.040404039999999995
plasmashell(0x7d7610) expression for height 57: prop 2 = 0
plasmashell(0x7d7610) expression for height 57: prop 3 = 186330739112222400

The "prop 3" stands for ioWait:  dataSource.data[ "cpu/cpu" + cpuIndex + "/wait"]

/Kåre
Comment 49 Barry Scott 2015-10-27 19:08:50 UTC
(In reply to Kåre Särs from comment #48)
> Hi,
> 
> I modified the CompactBarMonitor.qml to print out barMonitor.proportions[]
> if one of the values where NaN, < 0 or >10000.
> 
> After a couple of minutes I got:
> plasmashell(0x7d7610) expression for height 55:
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 186330739112222400 186330739112222400 4
> plasmashell(0x7d7610) expression for height 57: prop 0 = 0.010101009999999999
> plasmashell(0x7d7610) expression for height 57: prop 1 = 0.040404039999999995
> plasmashell(0x7d7610) expression for height 57: prop 2 = 0
> plasmashell(0x7d7610) expression for height 57: prop 3 = 186330739112222400
> 
> The "prop 3" stands for ioWait:  dataSource.data[ "cpu/cpu" + cpuIndex +
> "/wait"]

Any idea why you do not see the "value" errors that Gerd and I have seen with the original script?

Would you mind explaining how you got it to output messages and where are they logged?

Barry
Comment 50 AnAkkk 2015-10-27 23:29:53 UTC
I have a similar issue with Plasma 5.4.2 on ArchLinux. plasmashell is currently using 100% CPU, and even goes to 120% from time to time. This gets my laptop quite hot and the fans make a lot of noise.

I can't find any errors in .xsession-errors or journalctl though.

Here's a backtrace, if it's of any use:

Thread 9 (Thread 0x7f428be19700 (LWP 1501)):
#0  0x00007f429c28d18d in poll () from /usr/lib/libc.so.6
#1  0x00007f42a12c4ae2 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007f42a12c6757 in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3  0x00007f428d539e89 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#4  0x00007f429c98e96e in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007f429ba954a4 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007f429c29613d in clone () from /usr/lib/libc.so.6

Thread 8 (Thread 0x7f42891db700 (LWP 1588)):
#0  0x00007f429c28d18d in poll () from /usr/lib/libc.so.6
#1  0x00007f429873dfbc in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f429873e0cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f429cbc634f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f429cb6d37a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f429c9899c4 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f429fd3fc85 in ?? () from /usr/lib/libQt5Qml.so.5
#7  0x00007f429c98e96e in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f429ba954a4 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f429c29613d in clone () from /usr/lib/libc.so.6

Thread 7 (Thread 0x7f42780f7700 (LWP 1591)):
#0  0x00007f429c28d18d in poll () from /usr/lib/libc.so.6
#1  0x00007f429873dfbc in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f429873e0cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f429cbc634f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f429cb6d37a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f429c9899c4 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f429fd3fc85 in ?? () from /usr/lib/libQt5Qml.so.5
#7  0x00007f429c98e96e in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f429ba954a4 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f429c29613d in clone () from /usr/lib/libc.so.6

Thread 6 (Thread 0x7f4276508700 (LWP 1595)):
#0  0x00007f429c28d18d in poll () from /usr/lib/libc.so.6
#1  0x00007f429873dfbc in ?? () from /usr/lib/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#2  0x00007f429873e0cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f429cbc634f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f429cb6d37a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f429c9899c4 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f429fd3fc85 in ?? () from /usr/lib/libQt5Qml.so.5
#7  0x00007f429c98e96e in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f429ba954a4 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f429c29613d in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7f4274bdc700 (LWP 1597)):
#0  0x00007f429ba9b07f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f42a255f5e4 in ?? () from /usr/lib/libQt5Script.so.5
#2  0x00007f42a255f629 in ?? () from /usr/lib/libQt5Script.so.5
#3  0x00007f429ba954a4 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f429c29613d in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f426df8e700 (LWP 1598)):
#0  0x00007f429c28d18d in poll () from /usr/lib/libc.so.6
#1  0x00007f429873dfbc in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f429873e0cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f429cbc636b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f429cb6d37a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f429c9899c4 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f42a08f8486 in ?? () from /usr/lib/libQt5Quick.so.5
#7  0x00007f429c98e96e in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f429ba954a4 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f429c29613d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f41e0514700 (LWP 1681)):
#0  0x00007f429c28d18d in poll () from /usr/lib/libc.so.6
#1  0x00007f429873dfbc in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f429873e0cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f429cbc634f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f429cb6d37a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f429c9899c4 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f41e0d7a9f5 in ?? () from /usr/lib/qt/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so
#7  0x00007f429c98e96e in ?? () from /usr/lib/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#8  0x00007f429ba954a4 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f429c29613d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f41dfb0b700 (LWP 1682)):
#0  0x00007f429c28d18d in poll () from /usr/lib/libc.so.6
#1  0x00007f429873dfbc in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f429873e0cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f429cbc634f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f429cb6d37a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f429c9899c4 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f429c98e96e in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007f429ba954a4 in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007f429c29613d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f42a2dca800 (LWP 1497)):
#0  0x00007f429c28d18d in poll () from /usr/lib/libc.so.6
#1  0x00007f429873dfbc in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f429873e0cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f429cbc634f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f429cb6d37a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f429cb7533c in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00000000004300f3 in main ()
Comment 51 AnAkkk 2015-10-28 00:00:52 UTC
This is apparently caused by the octopi-notifier icon for me, when it has updates to display. If I kill the octopi-notifier process, plasmashell usage goes back to 0%. Starting it again make it go back to 100%.
Comment 52 Kåre Särs 2015-10-28 07:04:38 UTC
Hi,

I let the computer run over night and now in the morning it had failed when the dataengine returned an insanely high value for "ioWait".

I think the JS workaround would be to also add a check that the value returned by fitCpuLoad() is not over 1 (and maybe also not under 0).

I had missed that the infinite loop only happened with QQuickShaderEffect items ;)

Barry: I stopped plasmashell and started it from Konsole and then the output goes to the Konsole output

 AnAkkk: I think that is a separate issue that I see that you already reported to arch :)
Comment 53 Kåre Särs 2015-10-29 12:18:44 UTC
Git commit 351c2a03827040d148a1b73dbeab12eb3d3e69de by Kåre Särs.
Committed on 29/10/2015 at 07:21.
Pushed by sars into branch 'master'.

Fix SystemLoadViewer freezing plasmashell
REVIEW: 125858

M  +3    -3    applets/systemloadviewer/package/contents/ui/SystemLoadViewer.qml

http://commits.kde.org/kdeplasma-addons/351c2a03827040d148a1b73dbeab12eb3d3e69de
Comment 54 Kåre Särs 2015-10-29 12:29:52 UTC
Git commit e32a705bcca843b71fa5a43defd2d0630cb2f810 by Kåre Särs.
Committed on 29/10/2015 at 12:28.
Pushed by sars into branch 'Plasma/5.4'.

Fix SystemLoadViewer freezing plasmashell
REVIEW: 125858

M  +3    -3    applets/systemloadviewer/package/contents/ui/SystemLoadViewer.qml

http://commits.kde.org/kdeplasma-addons/e32a705bcca843b71fa5a43defd2d0630cb2f810
Comment 55 David Edmundson 2015-11-03 19:35:42 UTC
*** Bug 354675 has been marked as a duplicate of this bug. ***