Bug 346024 - Kwin Crashes after suspend
Summary: Kwin Crashes after suspend
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: scene-opengl (show other bugs)
Version: 5.3.0
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi
: 346639 350076 365274 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-04-09 17:00 UTC by chadwick.ferguson
Modified: 2018-12-01 03:48 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
thomas.luebking: NVIDIA+


Attachments
SDDM corruption (99.60 KB, image/jpeg)
2015-04-09 18:11 UTC, chadwick.ferguson
Details
Backtrace kwin wobbly + edge flip when moving (17.95 KB, text/plain)
2015-04-16 21:15 UTC, chadwick.ferguson
Details
tail .xsession-errors -f > xsession-errors_kwin_sddm_suspend_resume.txt (159.89 KB, text/plain)
2015-04-16 21:25 UTC, chadwick.ferguson
Details
kwin bt normaloperation (13.46 KB, text/plain)
2015-04-16 22:16 UTC, chadwick.ferguson
Details
kwin bt while distorted (17.44 KB, text/plain)
2015-04-16 22:18 UTC, chadwick.ferguson
Details
Installed pertinent files (15.72 KB, text/plain)
2015-04-16 22:27 UTC, chadwick.ferguson
Details
kwin bt normaloperation, nearly all effects disabled (16.10 KB, text/plain)
2015-04-16 22:36 UTC, chadwick.ferguson
Details
kwin bt while distorted, nearly all effects disabled (16.10 KB, text/plain)
2015-04-16 22:36 UTC, chadwick.ferguson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description chadwick.ferguson 2015-04-09 17:00:15 UTC
Application: kwin_x11 (5.2.2)

Qt Version: 5.4.1
Operating System: Linux 3.19.0-12-lowlatency x86_64
Distribution: Ubuntu Vivid Vervet (development branch)

-- Information about the crash:
- What I was doing when the application crashed:

Kmenu > Leave > Suspend

- Unusual behavior I noticed:

Kwin crashes, sometimes complete graphical distortion/SDDM not shown

- Custom settings of the application:

Nvidia Xorg http://ppa.launchpad.net/xorg-edgers/ppa/ubuntu
other ppa's have nothing to do with QT/Kwin

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f6b0bfd7800 (LWP 6679))]

Thread 4 (Thread 0x7f6aef7fe700 (LWP 6700)):
#0  0x00007f6b0baa5743 in select () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f6b0a2d6101 in qt_safe_select (nfds=15, fdread=fdread@entry=0x7f6adc000a98, fdwrite=fdwrite@entry=0x7f6adc000d28, fdexcept=fdexcept@entry=0x7f6adc000fb8, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f6b0a2d7cd2 in select (timeout=0x0, exceptfds=0x7f6adc000fb8, writefds=0x7f6adc000d28, readfds=0x7f6adc000a98, nfds=<optimized out>, this=0x7f6adc0008e0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f6adc000900, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f6b0a2d8275 in QEventDispatcherUNIX::processEvents (this=0x7f6adc0008e0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f6b0a27f3e2 in QEventLoop::exec (this=this@entry=0x7f6aef7fdda0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f6b0a03eb44 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007f6b05e59f45 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f6b0a043b0e in QThreadPrivate::start (arg=0x1aa2370) at thread/qthread_unix.cpp:337
#9  0x00007f6b052276aa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007f6b0baaeeed in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7f6aedffc700 (LWP 6710)):
#0  0x00007f6b0522cda0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f6b09055644 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f6b09055689 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f6b052276aa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007f6b0baaeeed in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 2 (Thread 0x7f6a4705f700 (LWP 7199)):
#0  0x00007f6b0522cda0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f6b0a044c6b in wait (time=18446744073709551615, this=0x25cf2a0) at thread/qwaitcondition_unix.cpp:128
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x25cf660, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:200
#3  0x00007f6b092e2fab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#4  0x00007f6b092e33a0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#5  0x00007f6b0a043b0e in QThreadPrivate::start (arg=0x25cf5e0) at thread/qthread_unix.cpp:337
#6  0x00007f6b052276aa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7  0x00007f6b0baaeeed in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7f6b0bfd7800 (LWP 6679)):
[KCrash Handler]
#6  0x00007f6b0ba47f79 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x00007f6b062b1516 in KWin::GLVertexBuffer::setData (this=this@entry=0x1f17eb0, vertexCount=36, dim=dim@entry=2, vertices=0x22afb18, texcoords=texcoords@entry=0x0) at ../../libkwineffects/kwinglutils.cpp:2242
#8  0x00007f6b0b665d3d in KWin::SceneOpenGL2::doPaintBackground (this=<optimized out>, vertices=...) at ../scene_opengl.cpp:1039
#9  0x00007f6b0b66b475 in KWin::SceneOpenGL::paintBackground (this=this@entry=0x1f20690, region=...) at ../scene_opengl.cpp:732
#10 0x00007f6b0b654e6c in KWin::Scene::paintSimpleScreen (this=this@entry=0x1f20690, orig_mask=orig_mask@entry=8, region=...) at ../scene.cpp:369
#11 0x00007f6b0b665513 in KWin::SceneOpenGL2::paintSimpleScreen (this=this@entry=0x1f20690, mask=mask@entry=8, region=...) at ../scene_opengl.cpp:1005
#12 0x00007f6b0b652205 in KWin::Scene::finalPaintScreen (this=0x1f20690, mask=mask@entry=8, region=..., data=...) at ../scene.cpp:199
#13 0x00007f6b0b688cff in KWin::EffectsHandlerImpl::paintScreen (this=0x220d380, mask=mask@entry=8, region=..., data=...) at ../effects.cpp:393
#14 0x00007f6b09a6657f in KWin::Effect::paintScreen (this=this@entry=0x2208df0, mask=mask@entry=8, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:535
#15 0x00007f6b0b688cad in KWin::EffectsHandlerImpl::paintScreen (this=0x220d380, mask=mask@entry=8, region=..., data=...) at ../effects.cpp:390
#16 0x00007f6b09a6657f in KWin::Effect::paintScreen (this=this@entry=0x28042a0, mask=mask@entry=8, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:535
#17 0x00007f6b0b688cad in KWin::EffectsHandlerImpl::paintScreen (this=0x220d380, mask=mask@entry=8, region=..., data=...) at ../effects.cpp:390
#18 0x00007f6b09a6657f in KWin::Effect::paintScreen (this=this@entry=0x21d2290, mask=mask@entry=8, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:535
#19 0x00007f6b0b688cad in KWin::EffectsHandlerImpl::paintScreen (this=0x220d380, mask=mask@entry=8, region=..., data=...) at ../effects.cpp:390
#20 0x00007f6b09a6657f in KWin::Effect::paintScreen (this=this@entry=0x20f33d0, mask=mask@entry=8, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:535
#21 0x00007f6b0b688cad in KWin::EffectsHandlerImpl::paintScreen (this=0x220d380, mask=8, region=..., data=...) at ../effects.cpp:390
#22 0x00007f6b0b651e6a in KWin::Scene::paintScreen (this=this@entry=0x1f20690, mask=mask@entry=0x7fffd081b06c, damage=..., repaint=..., updateRegion=updateRegion@entry=0x7fffd081b080, validRegion=validRegion@entry=0x7fffd081b090) at ../scene.cpp:149
#23 0x00007f6b0b66bda7 in KWin::SceneOpenGL::paint (this=0x1f20690, damage=..., toplevels=...) at ../scene_opengl.cpp:651
#24 0x00007f6b0b64b973 in KWin::Compositor::performCompositing (this=0x1930290) at ../composite.cpp:658
#25 0x00007f6b0a2b36f3 in QObject::event (this=0x1930290, e=<optimized out>) at kernel/qobject.cpp:1267
#26 0x00007f6b0ab93b2c in QApplicationPrivate::notify_helper (this=0x17ef050, receiver=0x1930290, e=0x7fffd081b4a0) at kernel/qapplication.cpp:3720
#27 0x00007f6b0ab99000 in QApplication::notify (this=0x7fffd081b6e0, receiver=0x1930290, e=0x7fffd081b4a0) at kernel/qapplication.cpp:3503
#28 0x00007f6b0a281c2b in QCoreApplication::notifyInternal (this=0x7fffd081b6e0, receiver=0x1930290, event=event@entry=0x7fffd081b4a0) at kernel/qcoreapplication.cpp:935
#29 0x00007f6b0a2d9ae5 in sendEvent (event=0x7fffd081b4a0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228
#30 QTimerInfoList::activateTimers (this=0x1849738) at kernel/qtimerinfo_unix.cpp:635
#31 0x00007f6b0a2d76a0 in QEventDispatcherUNIX::activateTimers (this=this@entry=0x18338e0) at kernel/qeventdispatcher_unix.cpp:549
#32 0x00007f6b0a2d8243 in QEventDispatcherUNIX::processEvents (this=0x18338e0, flags=flags@entry=...) at kernel/qeventdispatcher_unix.cpp:611
#33 0x00007f6af83c196d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#34 0x00007f6b0a27f3e2 in QEventLoop::exec (this=this@entry=0x7fffd081b600, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#35 0x00007f6b0a28702c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#36 0x00007f6b0a5cb31c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1510
#37 0x00007f6b0ab8f7a5 in QApplication::exec () at kernel/qapplication.cpp:2956
#38 0x00007f6b0bd7c8c3 in kdemain (argc=1, argv=0x7fffd081b838) at ../main_x11.cpp:294
#39 0x00007f6b0b9c8a40 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#40 0x00000000004007c9 in _start ()

Reported using DrKonqi
Comment 1 chadwick.ferguson 2015-04-09 18:11:46 UTC
Created attachment 91967 [details]
SDDM corruption

This may or may not be related at all, generally when this happens I enter my password blind, hit enter, alt+shift+f12 and it goes away, alt+shift+f12 back on is fine too.  Sometime kwin will crash in the midst of this.
Comment 2 chadwick.ferguson 2015-04-09 18:14:09 UTC
FYI: https://github.com/sddm/sddm/issues/398
Comment 3 Thomas Lübking 2015-04-16 20:43:50 UTC
looks like faile VBO mapping - can you please check the stock nvidia blob?

likely a dupe of bug #344326
Comment 4 chadwick.ferguson 2015-04-16 21:01:19 UTC
FYI 349.12-0ubuntu0~xedgers14.04.1
Comment 5 chadwick.ferguson 2015-04-16 21:15:25 UTC
Created attachment 92089 [details]
Backtrace kwin wobbly + edge flip when moving
Comment 6 Thomas Lübking 2015-04-16 21:19:22 UTC
That's bug #338972 - completely unrelated.
Comment 7 chadwick.ferguson 2015-04-16 21:25:41 UTC
Created attachment 92091 [details]
tail .xsession-errors -f > xsession-errors_kwin_sddm_suspend_resume.txt

.xsession-errors for the following

1) tail default 10 lines
2) click Kmenu
3) move to leave tab
4) click Sleep (suspend to ram)
5) wake with key press
6) same glitch as in the image when wake
7) enter password, hit Enter to login from sddm
8) Alt+Shift+F12
9) click on konqueror that is running tail
10) Ctrl-c
Comment 8 chadwick.ferguson 2015-04-16 21:28:08 UTC
Comment on attachment 92089 [details]
Backtrace kwin wobbly + edge flip when moving

Red Herring
Comment 9 chadwick.ferguson 2015-04-16 21:30:09 UTC
Comment on attachment 92091 [details]
tail .xsession-errors -f > xsession-errors_kwin_sddm_suspend_resume.txt

346.59-0ubuntu1 FYI
Comment 10 chadwick.ferguson 2015-04-16 22:16:00 UTC
Created attachment 92092 [details]
kwin bt normaloperation

$ sudo gdb -p `ps ax | grep kwin | cut -b 2-5 | head -n 1` -batch -ex "thread apply all bt full" > kwin-bt.txt
Comment 11 chadwick.ferguson 2015-04-16 22:18:05 UTC
Created attachment 92093 [details]
kwin bt while distorted

$ sudo gdb -p `ps ax | grep kwin | cut -b 2-5 | head -n 1` -batch -ex "thread apply all bt full" > kwin-bt2.txt

So the triangle distortions were flickering until I ran this command, they stopped, then resumed after it printed its backtrace I hope its a good sign.
Comment 12 chadwick.ferguson 2015-04-16 22:27:57 UTC
Created attachment 92094 [details]
Installed pertinent files
Comment 13 Thomas Lübking 2015-04-16 22:29:20 UTC
> KWin::ShowFpsEffect::paintScreen
Is running the fps effect a crucial trigger for this to happen or why is it active?

The flicker stops while gdb is running because gdb stalls the process (kwin_x11), so the compositor cannot paint anything.
Comment 14 chadwick.ferguson 2015-04-16 22:31:27 UTC
no showfps is not needed.  I'll try to disable everything besides compositor and see if I can get it to distort again.
Comment 15 chadwick.ferguson 2015-04-16 22:36:05 UTC
Created attachment 92095 [details]
kwin bt normaloperation, nearly all effects disabled
Comment 16 chadwick.ferguson 2015-04-16 22:36:40 UTC
Created attachment 92097 [details]
kwin bt while distorted, nearly all effects disabled
Comment 17 Thomas Lübking 2015-04-28 23:34:18 UTC
*** Bug 346639 has been marked as a duplicate of this bug. ***
Comment 18 chadwick.ferguson 2015-05-01 07:45:32 UTC
Of course still present in 5.3.0 NVIDIA says branch 346 will be updated and 349 won't be when referencing this bug.
Comment 19 Thomas Lübking 2015-05-01 07:54:35 UTC
nvidia says what where?
Comment 20 chadwick.ferguson 2015-05-01 09:06:19 UTC
I could be reading too much into it (why would they allude to the 346 btanch going to receive updates) but I filed this bug and their tech said:



Did you try my suggestion to make the vesa warning go away?

If that does not help:

You are using driver version 349.16 and there are no further releases planned from that driver branch.

Please try the current 346.59 driver available here for x64: http://www.nvidia.com/download/driverResults.aspx/83686/en-us 

There are updates planned for the 346 driver branch.

If that driver does not help, please list the steps required to reproduce this problem.
Comment 21 chadwick.ferguson 2015-05-13 02:19:10 UTC
Corruption now also appears after vt switch.  corruption never affects cursor.
Comment 22 Thomas Lübking 2015-05-13 08:32:10 UTC
any graphical distorsion after STR, VT switch and maybe xrandr switches on nvidia is dupe of bug #344326 for pretty much sure.
regular cursor is done in HW and painted into the scanout, so it's not very surprising that it's not affected by invalidated VBO data.
Comment 23 Thomas Lübking 2015-07-10 16:18:22 UTC
*** Bug 350076 has been marked as a duplicate of this bug. ***
Comment 24 Victor B. Gonzalez 2015-08-04 08:45:52 UTC
I'd just like to say on Fedora 22, I'm often bitten by this to the point where I have to consciously suspend effects before manually suspending (is most helpful) otherwise, logging back in is tough because you can't see what you're doing. Usually when this type of distortion happens (changing display setups e.g., enable or disable an extra monitor), suspending and resuming effects (Shift+Alt+F12) helps resolve it.

I am currently using Nvidia binary 352.30 atm but this was there when I was using Nouveau. if there is something more I can add, please help me add it. Thanks!
Comment 25 Thomas Lübking 2015-08-04 13:09:56 UTC
You can either compile KWin with the patch on bug #344326 or wait for 5.4 (which includes the patch) and check for the impact.

While it may be possible that you encountered similar issues with nouveau, it's rather unlikely been the very same bug (and probably not covered by the workaround which operates on gl messages to catch RAM => VRAM data transfers to reset VBOs)
Comment 26 Thomas Lübking 2016-07-09 17:57:30 UTC
*** Bug 365274 has been marked as a duplicate of this bug. ***
Comment 27 Andrew Crouthamel 2018-11-01 13:53:02 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 28 Bug Janitor Service 2018-11-16 11:34:23 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 29 Bug Janitor Service 2018-12-01 03:48:40 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!