Bug 350391

Summary: Plasma shell displays broken graphics after waking up PC from sleep
Product: [Plasma] kwin Reporter: h.k.ghost
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: major CC: kde, stricte
Priority: NOR    
Version: 5.3.1   
Target Milestone: ---   
Platform: Kubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Screenshot of Issue in Action

Description h.k.ghost 2015-07-20 05:06:19 UTC
After waking up the desktop from sleep, the entire GUI will *sometimes* display the graphics all broken with a lot of flickering, making the entire desktop unusable.

The desktop does not crash, or freeze/hang, or anything. If you know the GUI from memory, you can actually unlock the screen and login without problems, reach the desktop, and switch around virtual desktops, and so on. It behaves normally, with the exception of how the graphics are actually displayed.

There seems to be no way to reliably reproduce the issue other than putting your PC to sleep and waking it up repeatedly until, maybe, you hit the issue. I'm using the NVIDIA binary driver v346.59 from nvidia-346 (recommended, tested) on an NVIDIA GeForce GTX 770.

I've found some workarounds, which I'll detail below, but this should be considered a high priority issue, IMHO, as it can cause loss of unsaved data, etc.

Workaround #1:
Using your memory, and lots of patience, you can unlock the screen, open the Application Launcher, and Log out. The graphics will be displayed normally again when the login screen shows up. This one has worked every time I've had the patience to try it.

Workaround #2:
Use Ctrl+Alt+F# and drop directly to a terminal. Then restart the sddm service. Unsaved data will be loss, of course. Always seems to work.

Workaround #3:
If you have a desktop sphere effect enabled (e.g. Ctrl+F11), using triggering it will *sometimes* cause the problem to go away. This does not always work. Not sure why.

I'm using Kubuntu 15.04 64-bit on a desktop PC with the Breeze theme (upgraded, not clean install, if it makes a difference).

Reproducible: Always

Steps to Reproduce:
1. Put your PC to sleep using Application Launcher >> Leave >> Sleep (I've not tried other methods.)
2. After a while, get your PC to wake up from sleep.
3. ....?

Actual Results:  
IF you hit the issue, your unlock screen should be unusable with lots of flickering and broken graphics (you can't miss it)

Expected Results:  
The unlock screen is displayed correctly and normal use of the PC can be resumed immediately.

I hit the issue today and KWin actually crashed. It had never crashed before when the issue showed up, but this time it crashed and I got a log. This is the one and only crash dump I've ever gotten while seeing this problem. That being said, I don't really know if it's somehow related to the actual cause. Right now, it seems more like a side-effect of the issue I'm reporting.

The log's below:
----------------------------------------------------------------------------------------------------------
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 0x7ffb4ce9d840 (LWP 2641))]

Thread 7 (Thread 0x7ffb3085e700 (LWP 2652)):
#0  0x00007ffb4c97c743 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffb4af6a101 in qt_safe_select (nfds=16, fdread=fdread@entry=0x7ffb28000a98, fdwrite=fdwrite@entry=0x7ffb28000d28, fdexcept=fdexcept@entry=0x7ffb28000fb8, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007ffb4af6bcd2 in select (timeout=0x0, exceptfds=0x7ffb28000fb8, writefds=0x7ffb28000d28, readfds=0x7ffb28000a98, nfds=<optimized out>, this=0x7ffb280008e0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7ffb28000900, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007ffb4af6c275 in QEventDispatcherUNIX::processEvents (this=0x7ffb280008e0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007ffb4af133e2 in QEventLoop::exec (this=this@entry=0x7ffb3085dd60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007ffb4acd2b44 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007ffb44b35f65 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007ffb4acd7b0e in QThreadPrivate::start (arg=0x1b05480) at thread/qthread_unix.cpp:337
#9  0x00007ffb4c1f76aa in start_thread (arg=0x7ffb3085e700) at pthread_create.c:333
#10 0x00007ffb4c985eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7ffb227a0700 (LWP 2685)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffb49adb644 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007ffb49adb689 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007ffb4c1f76aa in start_thread (arg=0x7ffb227a0700) at pthread_create.c:333
#4  0x00007ffb4c985eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7ffb23167700 (LWP 3893)):
#0  0x00007ffb4c97c743 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffb4af6a101 in qt_safe_select (nfds=20, fdread=fdread@entry=0x7ffb1c019e08, fdwrite=fdwrite@entry=0x7ffb1c01a098, fdexcept=fdexcept@entry=0x7ffb1c01a328, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007ffb4af6bcd2 in select (timeout=0x0, exceptfds=0x7ffb1c01a328, writefds=0x7ffb1c01a098, readfds=0x7ffb1c019e08, nfds=<optimized out>, this=0x7ffb1c0008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7ffb1c019c70, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007ffb4af6c275 in QEventDispatcherUNIX::processEvents (this=0x7ffb1c0008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007ffb4af133e2 in QEventLoop::exec (this=this@entry=0x7ffb23166d60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007ffb4acd2b44 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007ffb44b35f65 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007ffb4acd7b0e in QThreadPrivate::start (arg=0x28e62b0) at thread/qthread_unix.cpp:337
#9  0x00007ffb4c1f76aa in start_thread (arg=0x7ffb23167700) at pthread_create.c:333
#10 0x00007ffb4c985eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7ffb31532700 (LWP 3894)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffb4acd8c6b in wait (time=18446744073709551615, this=0x2aa8b50) at thread/qwaitcondition_unix.cpp:128
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2aa6810, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:200
#3  0x00007ffb49d62fab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#4  0x00007ffb49d633a0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#5  0x00007ffb4acd7b0e in QThreadPrivate::start (arg=0x2aa6790) at thread/qthread_unix.cpp:337
#6  0x00007ffb4c1f76aa in start_thread (arg=0x7ffb31532700) at pthread_create.c:333
#7  0x00007ffb4c985eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7ffa903b3700 (LWP 8764)):
#0  0x00007ffb4c97c743 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffb4af6a101 in qt_safe_select (nfds=28, fdread=fdread@entry=0x7ffa80000a78, fdwrite=fdwrite@entry=0x7ffa80000d08, fdexcept=fdexcept@entry=0x7ffa80000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007ffb4af6bcd2 in select (timeout=0x0, exceptfds=0x7ffa80000f98, writefds=0x7ffa80000d08, readfds=0x7ffa80000a78, nfds=<optimized out>, this=0x7ffa800008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7ffa800008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007ffb4af6c275 in QEventDispatcherUNIX::processEvents (this=0x7ffa800008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007ffb4af133e2 in QEventLoop::exec (this=this@entry=0x7ffa903b2d60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007ffb4acd2b44 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007ffb44b35f65 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007ffb4acd7b0e in QThreadPrivate::start (arg=0x2fe6020) at thread/qthread_unix.cpp:337
#9  0x00007ffb4c1f76aa in start_thread (arg=0x7ffa903b3700) at pthread_create.c:333
#10 0x00007ffb4c985eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7ffa90bb4700 (LWP 8765)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffb4acd8c6b in wait (time=18446744073709551615, this=0x2bd6840) at thread/qwaitcondition_unix.cpp:128
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2c24cb0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:200
#3  0x00007ffb49d62fab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#4  0x00007ffb49d633a0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#5  0x00007ffb4acd7b0e in QThreadPrivate::start (arg=0x2c24c30) at thread/qthread_unix.cpp:337
#6  0x00007ffb4c1f76aa in start_thread (arg=0x7ffa90bb4700) at pthread_create.c:333
#7  0x00007ffb4c985eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffb4ce9d840 (LWP 2641)):
[KCrash Handler]
#6  0x00007ffb4a4e73c8 in _mm_stream_si128 (__B=..., __A=0x7ffa8f4f5850) at /usr/lib/gcc/x86_64-linux-gnu/4.9/include/emmintrin.h:1465
#7  KWin::WindowQuadList::makeInterleavedArrays (this=this@entry=0x7ffefd8ffd60, type=type@entry=7, vertices=vertices@entry=0x7ffa8f4f5850, textureMatrix=...) at ../../libkwineffects/kwineffects.cpp:1196
#8  0x00007ffb4c52eec0 in KWin::SceneOpenGL2Window::performPaint (this=0x1b29710, mask=<optimized out>, region=..., data=...) at ../scene_opengl.cpp:1543
#9  0x00007ffb4c54aa9c in KWin::LanczosFilter::performPaint (this=0x7ffefd900070, w=0x7ffefd9000a0, mask=290, region=..., data=...) at ../lanczosfilter.cpp:369
#10 0x00007ffb4c534411 in KWin::SceneOpenGL2::performPaintWindow (this=this@entry=0x19d1320, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../scene_opengl.cpp:1090
#11 0x00007ffb4c534658 in KWin::SceneOpenGL2::finalDrawWindow (this=0x19d1320, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../scene_opengl.cpp:1078
#12 0x00007ffb4c54de29 in KWin::EffectsHandlerImpl::drawWindow (this=0x1fc6200, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../effects.cpp:477
#13 0x00007ffb4a4e38b1 in KWin::Effect::drawWindow (this=this@entry=0x2014320, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:580
#14 0x00007ffb4c54ddc1 in KWin::EffectsHandlerImpl::drawWindow (this=0x1fc6200, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../effects.cpp:474
#15 0x00007ffb4a0900a5 in KWin::ContrastEffect::drawWindow (this=this@entry=0x1af8f70, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../../effects/backgroundcontrast/contrast.cpp:347
#16 0x00007ffb4c54ddc1 in KWin::EffectsHandlerImpl::drawWindow (this=0x1fc6200, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../effects.cpp:474
#17 0x00007ffb4a00632b in KWin::BlurEffect::drawWindow (this=this@entry=0x19713a0, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../../effects/blur/blur.cpp:417
#18 0x00007ffb4c54ddc1 in KWin::EffectsHandlerImpl::drawWindow (this=0x1fc6200, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../effects.cpp:474
#19 0x00007ffb4a4e38b1 in KWin::Effect::drawWindow (this=this@entry=0x2010670, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:580
#20 0x00007ffb4c54ddc1 in KWin::EffectsHandlerImpl::drawWindow (this=0x1fc6200, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../effects.cpp:474
#21 0x00007ffb4c513131 in KWin::Scene::finalPaintWindow (this=<optimized out>, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../scene.cpp:607
#22 0x00007ffb4c54dc6a in KWin::EffectsHandlerImpl::paintWindow (this=0x1fc6200, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../effects.cpp:440
#23 0x00007ffb4a4e3741 in KWin::Effect::paintWindow (this=this@entry=0x2014320, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:550
#24 0x00007ffb4c54dc11 in KWin::EffectsHandlerImpl::paintWindow (this=0x1fc6200, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../effects.cpp:437
#25 0x00007ffb4a4e3741 in KWin::Effect::paintWindow (this=this@entry=0x1af8f70, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:550
#26 0x00007ffb4c54dc11 in KWin::EffectsHandlerImpl::paintWindow (this=0x1fc6200, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../effects.cpp:437
#27 0x00007ffb4a4e3741 in KWin::Effect::paintWindow (this=this@entry=0x19713a0, w=w@entry=0x2043700, mask=mask@entry=290, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:550
#28 0x00007ffb4c54dc11 in KWin::EffectsHandlerImpl::paintWindow (this=0x1fc6200, w=0x2043700, mask=mask@entry=290, region=..., data=...) at ../effects.cpp:437
#29 0x00007ffb4a049d10 in KWin::PresentWindowsEffect::paintWindow (this=this@entry=0x2010670, w=w@entry=0x2043700, mask=290, mask@entry=34, region=..., data=...) at ../../effects/presentwindows/presentwindows.cpp:407
#30 0x00007ffb4c54dc11 in KWin::EffectsHandlerImpl::paintWindow (this=0x1fc6200, w=0x2043700, mask=mask@entry=34, region=..., data=...) at ../effects.cpp:437
#31 0x00007ffb4c518008 in KWin::Scene::paintWindow (this=this@entry=0x19d1320, w=0x1b29710, mask=34, region=..., quads=...) at ../scene.cpp:479
#32 0x00007ffb4c514ff6 in KWin::Scene::paintGenericScreen (this=this@entry=0x19d1320, orig_mask=orig_mask@entry=32) at ../scene.cpp:243
#33 0x00007ffb4c529ae4 in KWin::SceneOpenGL2::paintGenericScreen (this=this@entry=0x19d1320, mask=mask@entry=32, data=...) at ../scene_opengl.cpp:1030
#34 0x00007ffb4c512b3d in KWin::Scene::finalPaintScreen (this=0x19d1320, mask=mask@entry=32, region=..., data=...) at ../scene.cpp:199
#35 0x00007ffb4c54d9ef in KWin::EffectsHandlerImpl::paintScreen (this=0x1fc6200, mask=mask@entry=32, region=..., data=...) at ../effects.cpp:397
#36 0x00007ffb4a07fb47 in KWin::ScreenEdgeEffect::paintScreen (this=this@entry=0x2014320, mask=mask@entry=32, region=..., data=...) at ../../effects/screenedge/screenedgeeffect.cpp:81
#37 0x00007ffb4c54d99d in KWin::EffectsHandlerImpl::paintScreen (this=0x1fc6200, mask=mask@entry=32, region=..., data=...) at ../effects.cpp:394
#38 0x00007ffb4a4e366f in KWin::Effect::paintScreen (this=this@entry=0x1af8f70, mask=mask@entry=32, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:535
#39 0x00007ffb4c54d99d in KWin::EffectsHandlerImpl::paintScreen (this=0x1fc6200, mask=mask@entry=32, region=..., data=...) at ../effects.cpp:394
#40 0x00007ffb4a4e366f in KWin::Effect::paintScreen (this=this@entry=0x19713a0, mask=mask@entry=32, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:535
#41 0x00007ffb4c54d99d in KWin::EffectsHandlerImpl::paintScreen (this=0x1fc6200, mask=mask@entry=32, region=..., data=...) at ../effects.cpp:394
#42 0x00007ffb4a048530 in KWin::PresentWindowsEffect::paintScreen (this=this@entry=0x2010670, mask=mask@entry=32, region=..., data=...) at ../../effects/presentwindows/presentwindows.cpp:190
#43 0x00007ffb4c54d99d in KWin::EffectsHandlerImpl::paintScreen (this=0x1fc6200, mask=32, region=..., data=...) at ../effects.cpp:394
#44 0x00007ffb4c51275a in KWin::Scene::paintScreen (this=this@entry=0x19d1320, mask=mask@entry=0x7ffefd90120c, damage=..., repaint=..., updateRegion=updateRegion@entry=0x7ffefd901220, validRegion=validRegion@entry=0x7ffefd901230) at ../scene.cpp:151
#45 0x00007ffb4c52fd17 in KWin::SceneOpenGL::paint (this=0x19d1320, damage=..., toplevels=...) at ../scene_opengl.cpp:661
#46 0x00007ffb4c50ac03 in KWin::Compositor::performCompositing (this=0x1972e40) at ../composite.cpp:701
#47 0x00007ffb4af476f3 in QObject::event (this=0x1972e40, e=<optimized out>) at kernel/qobject.cpp:1267
#48 0x00007ffb4b81fb2c in QApplicationPrivate::notify_helper (this=0x1858500, receiver=0x1972e40, e=0x7ffefd901640) at kernel/qapplication.cpp:3720
#49 0x00007ffb4b825000 in QApplication::notify (this=0x7ffefd901880, receiver=0x1972e40, e=0x7ffefd901640) at kernel/qapplication.cpp:3503
#50 0x00007ffb4af15c2b in QCoreApplication::notifyInternal (this=0x7ffefd901880, receiver=0x1972e40, event=event@entry=0x7ffefd901640) at kernel/qcoreapplication.cpp:935
#51 0x00007ffb4af6dae5 in sendEvent (event=0x7ffefd901640, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228
#52 QTimerInfoList::activateTimers (this=0x189bd68) at kernel/qtimerinfo_unix.cpp:635
#53 0x00007ffb4af6b6a0 in QEventDispatcherUNIX::activateTimers (this=this@entry=0x1899fe0) at kernel/qeventdispatcher_unix.cpp:549
#54 0x00007ffb4af6c243 in QEventDispatcherUNIX::processEvents (this=0x1899fe0, flags=flags@entry=...) at kernel/qeventdispatcher_unix.cpp:611
#55 0x00007ffb34b2996d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#56 0x00007ffb4af133e2 in QEventLoop::exec (this=this@entry=0x7ffefd9017a0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#57 0x00007ffb4af1b02c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#58 0x00007ffb4b25a31c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1510
#59 0x00007ffb4b81b7a5 in QApplication::exec () at kernel/qapplication.cpp:2956
#60 0x00007ffb4cc4e320 in kdemain (argc=1, argv=0x7ffefd9019e8) at ../main_x11.cpp:300
#61 0x00007ffb4c89fa40 in __libc_start_main (main=0x4007a0 <main(int, char**)>, argc=1, argv=0x7ffefd9019e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffefd9019d8) at libc-start.c:289
#62 0x00000000004007d9 in _start ()
Comment 1 h.k.ghost 2015-07-20 05:10:07 UTC
Correction: I intended to mark this bug as "Reproducible: Sometimes" , not as "Always", but, other than the title, I can't edit the bug report...
Comment 2 h.k.ghost 2015-07-20 05:23:42 UTC
Another clarifying note. I've seen this problem several dozen times since I upgraded in April. I just allowed some time to see if one of the first set of updates to be released addressed the issue. Since this did not happen, I chose to report the bug today.
Comment 3 stricte 2015-07-28 07:53:37 UTC
Is it reproducible after just lock/unlock action (no sleep/wakeup)?
Comment 4 h.k.ghost 2015-07-29 02:33:54 UTC
No, it's not reproducible that way. I've never observed this issue as a result of simply locking/unlocking the user session, the PC being rebooted, etc. Only observed when the PC wakes up from sleep.
Comment 5 h.k.ghost 2015-07-29 02:42:20 UTC
...and I wouldn't call it "reproducible". The issue does not show up every single time and I've not been able to identify any particular sequence of steps that would cause it to show up reliably...

There're instances where the PC will wake up from sleep and no problems will be observed at all.
Comment 6 h.k.ghost 2015-08-02 20:00:19 UTC
Created attachment 93847 [details]
Screenshot of Issue in Action

I was able to capture this screen shot of the broken graphics issue immediately after the PC woke up from sleep a few minutes ago today. There's a significant amount of flickering, so the way it looks changes very rapidly, particularly when the mouse cursor is moved around, but this pic is probably good enough.
Comment 7 h.k.ghost 2015-08-28 03:35:35 UTC
Today, for the first time, I ran into the issue not only after waking up the PC from sleep, but also after switching back from a terminal.

When I woke the PC from sleep, I ran into the bug, so I did the following:

1. Ctrl+Alt+F1 to go into a terminal
2. Log in and restart the SDDM service  (sudo service sddm restart)
3. It automatically switches over to the GUI, so I log in and reach the desktop.
4. I repeat step #1 to end/exit the session I had used during step #2
5. I Ctrl+Alt+F7 to switch back to the desktop and the graphics were broken just like in the previously attached screen-shot

To work around the issue this time, I repeated steps 1 - 3, but in step 2 I exited as part of the command:  sudo service sddm restart && exit

Hope this helps.
Comment 8 Thomas Lübking 2015-09-03 15:15:46 UTC
likely nvidia bug, should be worked around in 5.4. can still cause crashes (less likeely, but we'd have to stall screen updates while waiting for more transfer messages - and that can happen for other occasions as well)

*** This bug has been marked as a duplicate of bug 344326 ***