Bug 350872 - K-win crash when exiting steam games
Summary: K-win crash when exiting steam games
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 5.3.1
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-08-02 03:45 UTC by genmavlad
Modified: 2015-12-18 12:10 UTC (History)
0 users

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


Attachments
KwinSupportInformation (4.96 KB, text/plain)
2015-08-02 10:51 UTC, genmavlad
Details

Note You need to log in before you can comment on or make changes to this bug.
Description genmavlad 2015-08-02 03:45:29 UTC
Application: kwin_x11 (5.3.1)

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

-- Information about the crash:
- What I was doing when the application crashed:
I was exiting a game on Steam ("J.U.L.I.A. Among the Stars" this time), when kwin crashed. This happens, but not regularly (I'd say 2 out of 5 times when exiting a game launched from Steam), and not consistantly with any particular games.

The crash can be reproduced sometimes.

-- 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 0x7fa0002e6840 (LWP 1675))]

Thread 3 (Thread 0x7f9fdf54f700 (LWP 1688)):
#0  0x00007f9fffdb5743 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f9ffe386101 in qt_safe_select (nfds=16, fdread=fdread@entry=0x7f9fd0000a98, fdwrite=fdwrite@entry=0x7f9fd0000d28, fdexcept=fdexcept@entry=0x7f9fd0000fb8, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f9ffe387cd2 in select (timeout=0x0, exceptfds=0x7f9fd0000fb8, writefds=0x7f9fd0000d28, readfds=0x7f9fd0000a98, nfds=<optimized out>, this=0x7f9fd00008e0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f9fd0000900, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f9ffe388275 in QEventDispatcherUNIX::processEvents (this=0x7f9fd00008e0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f9ffe32f3e2 in QEventLoop::exec (this=this@entry=0x7f9fdf54ed60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f9ffe0eeb44 in QThread::exec (this=this@entry=0x1a3efb0) at thread/qthread.cpp:503
#7  0x00007f9ff7ea9f65 in QQmlThreadPrivate::run (this=0x1a3efb0) at qml/ftw/qqmlthread.cpp:141
#8  0x00007f9ffe0f3b0e in QThreadPrivate::start (arg=0x1a3efb0) at thread/qthread_unix.cpp:337
#9  0x00007f9fff6276aa in start_thread (arg=0x7f9fdf54f700) at pthread_create.c:333
#10 0x00007f9fffdbeeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f9fdcdb5700 (LWP 1699)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f9ffcedd644 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f9ffcedd689 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f9fff6276aa in start_thread (arg=0x7f9fdcdb5700) at pthread_create.c:333
#4  0x00007f9fffdbeeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fa0002e6840 (LWP 1675)):
[KCrash Handler]
#6  __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:35
#7  0x00007f9ff8301516 in KWin::GLVertexBuffer::setData (this=this@entry=0x19317b0, vertexCount=24, dim=dim@entry=2, vertices=0x25730b8, texcoords=texcoords@entry=0x0) at ../../libkwineffects/kwinglutils.cpp:2242
#8  0x00007f9fff95bc4d in KWin::SceneOpenGL2::doPaintBackground (this=<optimized out>, vertices=...) at ../scene_opengl.cpp:1049
#9  0x00007f9fff9613e5 in KWin::SceneOpenGL::paintBackground (this=this@entry=0x194c360, region=...) at ../scene_opengl.cpp:742
#10 0x00007f9fff947f8c in KWin::Scene::paintSimpleScreen (this=this@entry=0x194c360, orig_mask=orig_mask@entry=8, region=...) at ../scene.cpp:371
#11 0x00007f9fff95b423 in KWin::SceneOpenGL2::paintSimpleScreen (this=this@entry=0x194c360, mask=mask@entry=8, region=...) at ../scene_opengl.cpp:1015
#12 0x00007f9fff944af5 in KWin::Scene::finalPaintScreen (this=0x194c360, mask=mask@entry=8, region=..., data=...) at ../scene.cpp:201
#13 0x00007f9fff97f9ef in KWin::EffectsHandlerImpl::paintScreen (this=0x1e5cd30, mask=mask@entry=8, region=..., data=...) at ../effects.cpp:397
#14 0x00007f9ffd8f666f in KWin::Effect::paintScreen (this=this@entry=0x1b2c540, mask=mask@entry=8, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:535
#15 0x00007f9fff97f99d in KWin::EffectsHandlerImpl::paintScreen (this=0x1e5cd30, mask=mask@entry=8, region=..., data=...) at ../effects.cpp:394
#16 0x00007f9ffd8f666f in KWin::Effect::paintScreen (this=this@entry=0x1efd610, mask=mask@entry=8, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:535
#17 0x00007f9fff97f99d in KWin::EffectsHandlerImpl::paintScreen (this=0x1e5cd30, mask=mask@entry=8, region=..., data=...) at ../effects.cpp:394
#18 0x00007f9ffd8f666f in KWin::Effect::paintScreen (this=this@entry=0x1f23f20, mask=mask@entry=8, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:535
#19 0x00007f9fff97f99d in KWin::EffectsHandlerImpl::paintScreen (this=0x1e5cd30, mask=8, region=..., data=...) at ../effects.cpp:394
#20 0x00007f9fff94475a in KWin::Scene::paintScreen (this=this@entry=0x194c360, mask=mask@entry=0x7ffc0bbfaccc, damage=..., repaint=..., updateRegion=updateRegion@entry=0x7ffc0bbface0, validRegion=validRegion@entry=0x7ffc0bbfacf0) at ../scene.cpp:151
#21 0x00007f9fff961d17 in KWin::SceneOpenGL::paint (this=0x194c360, damage=..., toplevels=...) at ../scene_opengl.cpp:661
#22 0x00007f9fff93cc03 in KWin::Compositor::performCompositing (this=0x18a93f0) at ../composite.cpp:701
#23 0x00007f9ffe3636f3 in QObject::event (this=0x18a93f0, e=<optimized out>) at kernel/qobject.cpp:1267
#24 0x00007f9ffec43b2c in QApplicationPrivate::notify_helper (this=0x1762580, receiver=0x18a93f0, e=0x7ffc0bbfb100) at kernel/qapplication.cpp:3720
#25 0x00007f9ffec49000 in QApplication::notify (this=0x7ffc0bbfb340, receiver=0x18a93f0, e=0x7ffc0bbfb100) at kernel/qapplication.cpp:3503
#26 0x00007f9ffe331c2b in QCoreApplication::notifyInternal (this=0x7ffc0bbfb340, receiver=0x18a93f0, event=event@entry=0x7ffc0bbfb100) at kernel/qcoreapplication.cpp:935
#27 0x00007f9ffe389ae5 in sendEvent (event=0x7ffc0bbfb100, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228
#28 QTimerInfoList::activateTimers (this=0x17bb178) at kernel/qtimerinfo_unix.cpp:635
#29 0x00007f9ffe3876a0 in QEventDispatcherUNIX::activateTimers (this=this@entry=0x17ba820) at kernel/qeventdispatcher_unix.cpp:549
#30 0x00007f9ffe388243 in QEventDispatcherUNIX::processEvents (this=0x17ba820, flags=flags@entry=...) at kernel/qeventdispatcher_unix.cpp:611
#31 0x00007f9fe7d6996d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#32 0x00007f9ffe32f3e2 in QEventLoop::exec (this=this@entry=0x7ffc0bbfb260, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#33 0x00007f9ffe33702c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#34 0x00007f9ffe67b31c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1510
#35 0x00007f9ffec3f7a5 in QApplication::exec () at kernel/qapplication.cpp:2956
#36 0x00007fa00008d320 in kdemain (argc=1, argv=0x7ffc0bbfb4a8) at ../main_x11.cpp:300
#37 0x00007f9fffcd8a40 in __libc_start_main (main=0x4007a0 <main(int, char**)>, argc=3, argv=0x7ffc0bbfb4a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc0bbfb498) at libc-start.c:289
#38 0x00000000004007d9 in _start ()

Reported using DrKonqi
Comment 1 Thomas Lübking 2015-08-02 10:07:36 UTC
Please attach the output of
   qdbus org.kde.KWin /KWin supportInformation

10:1 on nvidia blob.

In case, it's a potential dupe of bug #348873 and might be covered by the workaround to bug #344326 (KWin 5.4)
Comment 2 genmavlad 2015-08-02 10:51:20 UTC
Created attachment 93844 [details]
KwinSupportInformation
Comment 3 Thomas Lübking 2015-08-02 12:16:08 UTC
I win =)

> Compositing Type: OpenGL
> OpenGL vendor string: NVIDIA Corporation
> OpenGL renderer string: GeForce GT 630/PCIe/SSE2
> OpenGL version string: 4.5.0 NVIDIA 346.59
> OpenGL platform interface: GLX
> OpenGL shading language version string: 4.50 NVIDIA
> Driver: NVIDIA
> Driver version: 346.59


Please keep an eye open whether the issue remains with 5.4 (unless you can eg. compile git master and try that) - it's likely, but not for certain that this is the same cause (vertex buffers garbled after transfer between system RAM and VRAM)

As a workaround, simply suspend the compositor before launching steam games (SHIFT+Alt+F12) and resume it afterwards (same shortcut) or setup a window rule (run "kcmshell5 kwinrules") for the steam window to block compositing (last tab)
Comment 4 genmavlad 2015-08-03 00:33:48 UTC
Thanks for the workaround Thomas. I'll give it shot. I might have some time in a couple of weeks to compile the new version. If the problem continues after upgrading, would you prefer a new bug report, or an update to this one?
Comment 5 Thomas Lübking 2015-08-03 06:20:49 UTC
If it seems gone with the update, just close this one ;-)
Comment 6 genmavlad 2015-12-18 12:10:37 UTC
The latest updates did indeed clear this bug up.