Bug 1237269 - kplasmashell hangs with 100% cpu.
Summary: kplasmashell hangs with 100% cpu.
Alias: None
Product: Fedora
Classification: Fedora
Component: qt5-qtdeclarative
Version: 22
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2015-06-30 16:50 UTC by Mathias Fröhlich
Modified: 2016-01-28 07:17 UTC (History)
7 users (show)

Fixed In Version: kf5-kdeclarative-5.12.0-2.fc22
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2016-01-28 07:17:39 UTC
Type: Bug

Attachments (Terms of Use)
Mentioned patch. (723 bytes, patch)
2015-06-30 16:50 UTC, Mathias Fröhlich
no flags Details | Diff

System ID Private Priority Status Summary Last Updated
KDE Software Compilation 348385 0 None None None Never

Description Mathias Fröhlich 2015-06-30 16:50:54 UTC
Created attachment 1044737 [details]
Mentioned patch.

Description of problem:

kplasmashell hangs with 100% cpu every now and then.

Version-Release number of selected component (if applicable):


How reproducible:


Additional info:

kplasmashell hangs in qt5-declerative/QQuickShaderEffectSource::updatePaintNode in an endless loop.
Attached is a workaround patch that fixes the problem here. It appears that the texture size ends up being zero which makes the successive while loops endless.

Comment 1 Rex Dieter 2015-08-03 12:17:12 UTC
Can you please test,

it may help here

Comment 2 Fedora Update System 2015-08-03 12:17:39 UTC
kf5-kdeclarative-5.12.0-2.fc22 has been submitted as an update for Fedora 22.

Comment 3 Mathias Fröhlich 2015-08-03 21:14:09 UTC
No, the problem just happened again.

I saved the backtrace this time.

(gdb) where
#0  QQuickShaderEffectSource::updatePaintNode (this=0x496e3f0, oldNode=0x5e47a90)
    at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/quick/items/qquickshadereffectsource.cpp:638
#1  0x00007f522952f647 in QQuickWindowPrivate::updateDirtyNode (this=this@entry=0x2916ef0, item=item@entry=0x496e3f0)
    at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/quick/items/qquickwindow.cpp:2823
#2  0x00007f52295300eb in QQuickWindowPrivate::updateDirtyNodes (this=this@entry=0x2916ef0)
    at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/quick/items/qquickwindow.cpp:2648
#3  0x00007f522953075e in QQuickWindowPrivate::syncSceneGraph (this=this@entry=0x2916ef0)
    at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/quick/items/qquickwindow.cpp:340
#4  0x00007f52295014a0 in QSGGuiThreadRenderLoop::renderWindow (this=this@entry=0x1875a80, window=0x2b85110)
    at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/quick/scenegraph/qsgrenderloop.cpp:359
#5  0x00007f5229501f31 in QSGGuiThreadRenderLoop::event (this=0x1875a80, e=<optimized out>)
    at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/quick/scenegraph/qsgrenderloop.cpp:462
#6  0x00007f52263147ec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#7  0x00007f5226319e90 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#8  0x00007f5224d8267b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#9  0x00007f5224dd898d in QTimerInfoList::activateTimers() () from /lib64/libQt5Core.so.5
#10 0x00007f5224dd8ec9 in idleTimerSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#11 0x00007f521f149a8a in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#12 0x00007f521f149e20 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#13 0x00007f521f149ecc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#14 0x00007f5224dd9b6f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#15 0x00007f5224d7feba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#16 0x00007f5224d87a2c in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#17 0x000000000042ef16 in main ()

Comment 4 Fedora Update System 2015-08-05 22:29:24 UTC
kf5-kdeclarative-5.12.0-2.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 5 Mathias Fröhlich 2015-08-06 07:37:16 UTC
Well, the note is already there with Comment #3.
Reopening ...

Comment 6 Fredy Neeser 2015-08-07 12:48:52 UTC
kplasmashell had 100% cpu when mouse ptr "rested" in the KDE Panel area.
Update from Comment #1 fixes problem for me -- thanks!

Comment 7 Mathias Fröhlich 2015-08-21 06:04:45 UTC
The newly arrived qt5-qtdeclarative-5.5.0-3.fc22 does *NOT* fix the issue either!
Applying the patch still fixes this issue.

As I started, I don't know if it is already an error that the textureSize value
contains zero and that this root cause needs to be fixed.
But without either the root cause fixed or the workaround patch applied, the desktop hangs every some minutes - and is basically unusable.
The workaround runs now for 2 months here without problems. Except whenever I get a new upstream rpm update over my handrolled rpm installed, then the desktop hangs within some minutes.

Does anybody mind applying the provided workaround patch at least to the fedora rpms?



Comment 8 Rex Dieter 2015-10-24 13:14:45 UTC
Added to 5.5.1 (currently in rawhide)

* Sat Oct 24 2015 Rex Dieter <rdieter> 5.5.1-3
- workaround QQuickShaderEffectSource::updatePaintNode deadlock (#1237269, kde#348385)

Will include in subsequent f23/f22 qt 5.5.1 builds coming soon.

Comment 9 Mathias Fröhlich 2015-10-25 16:00:42 UTC
Plenty thanks for including!

As I have no f23/24/rawhide installed here, I cannot easily test.
But I assume that this helps me a lot with upcoming fedoras!!



Note You need to log in before you can comment on or make changes to this bug.