Bug 359374

Summary: Crashes when unplugging HDMI (via VGA) that was used for a cloned display
Product: [Plasma] kwin Reporter: Jesse Talavera-Greenberg <jessetalavera>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version: 5.4.2   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Jesse Talavera-Greenberg 2016-02-14 00:16:50 UTC
Application: kwin_x11 (5.4.2)

Qt Version: 5.4.2
Operating System: Linux 4.2.0-27-generic x86_64
Distribution: Ubuntu 15.10

-- Information about the crash:
I had just finished giving a presentation.  At the end, I unplugged the HDMI cable (which was actually an adapter to a VGA source), and the thing crashed.  This was a cloned display, so no extended desktop tricks.

-- 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 0x7f4683c2b880 (LWP 1765))]

Thread 4 (Thread 0x7f4663fff700 (LWP 1809)):
#0  0x00007f468371f743 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f4681d7090f in qt_safe_select (nfds=14, fdread=fdread@entry=0x7f4658000a98, fdwrite=fdwrite@entry=0x7f4658000d28, fdexcept=fdexcept@entry=0x7f4658000fb8, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f4681d7240e in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7f4658000fb8, writefds=0x7f4658000d28, readfds=0x7f4658000a98, nfds=<optimized out>, this=0x7f46580008e0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f4658000900, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f4681d7293e in QEventDispatcherUNIX::processEvents (this=0x7f46580008e0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f4681d1b75a in QEventLoop::exec (this=this@entry=0x7f4663ffed20, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f4681b393d4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007f467c6a7f85 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f4681b3e2be in QThreadPrivate::start (arg=0x11d8140) at thread/qthread_unix.cpp:337
#9  0x00007f4682d616aa in start_thread (arg=0x7f4663fff700) at pthread_create.c:333
#10 0x00007f4683728eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f4660de3700 (LWP 1854)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f4680cce114 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f4680cce159 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f4682d616aa in start_thread (arg=0x7f4660de3700) at pthread_create.c:333
#4  0x00007f4683728eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f46621df700 (LWP 2932)):
#0  0x00007f468371f743 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f4681d7090f in qt_safe_select (nfds=19, fdread=fdread@entry=0x7f4650000a78, fdwrite=fdwrite@entry=0x7f4650000d08, fdexcept=fdexcept@entry=0x7f4650000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f4681d7240e in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7f4650000f98, writefds=0x7f4650000d08, readfds=0x7f4650000a78, nfds=<optimized out>, this=0x7f46500008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f46500008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f4681d7293e in QEventDispatcherUNIX::processEvents (this=0x7f46500008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f4681d1b75a in QEventLoop::exec (this=this@entry=0x7f46621ded20, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f4681b393d4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007f467c6a7f85 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f4681b3e2be in QThreadPrivate::start (arg=0x11002b0) at thread/qthread_unix.cpp:337
#9  0x00007f4682d616aa in start_thread (arg=0x7f46621df700) at pthread_create.c:333
#10 0x00007f4683728eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f4683c2b880 (LWP 1765)):
[KCrash Handler]
#6  __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:35
#7  0x00007f467d533856 in KWin::GLVertexBuffer::setData (this=this@entry=0x11938f0, vertexCount=18, dim=dim@entry=2, vertices=0x28ef598, texcoords=texcoords@entry=0x0) at ../../libkwineffects/kwinglutils.cpp:2236
#8  0x00007f46832d98cd in KWin::SceneOpenGL2::doPaintBackground (this=<optimized out>, vertices=...) at ../scene_opengl.cpp:1129
#9  0x00007f46832ddfe5 in KWin::SceneOpenGL::paintBackground (this=this@entry=0x11322f0, region=...) at ../scene_opengl.cpp:822
#10 0x00007f46832c78c5 in KWin::Scene::paintSimpleScreen (this=this@entry=0x11322f0, orig_mask=orig_mask@entry=0, region=...) at ../scene.cpp:371
#11 0x00007f46832d90a3 in KWin::SceneOpenGL2::paintSimpleScreen (this=this@entry=0x11322f0, mask=mask@entry=0, region=...) at ../scene_opengl.cpp:1095
#12 0x00007f46832c26b4 in KWin::Scene::finalPaintScreen (this=0x11322f0, mask=mask@entry=0, region=..., data=...) at ../scene.cpp:201
#13 0x00007f46832fbe5f in KWin::EffectsHandlerImpl::paintScreen (this=0x1195920, mask=mask@entry=0, region=..., data=...) at ../effects.cpp:415
#14 0x00007f46812d652f in KWin::Effect::paintScreen (this=this@entry=0x11e9130, mask=mask@entry=0, region=..., data=...) at ../../libkwineffects/kwineffects.cpp:535
#15 0x00007f46832fbe0a in KWin::EffectsHandlerImpl::paintScreen (this=0x1195920, mask=0, region=..., data=...) at ../effects.cpp:412
#16 0x00007f46832c232a in KWin::Scene::paintScreen (this=this@entry=0x11322f0, mask=mask@entry=0x7ffc95183400, damage=..., repaint=..., updateRegion=updateRegion@entry=0x7ffc951833d0, validRegion=validRegion@entry=0x7ffc951833e0) at ../scene.cpp:151
#17 0x00007f46832dea98 in KWin::SceneOpenGL::paint (this=0x11322f0, damage=..., toplevels=...) at ../scene_opengl.cpp:740
#18 0x00007f46832ba1a3 in KWin::Compositor::performCompositing (this=0x1049af0) at ../composite.cpp:712
#19 0x00007f4681d4f603 in QObject::event (this=0x1049af0, e=<optimized out>) at kernel/qobject.cpp:1267
#20 0x00007f46825ebb8c in QApplicationPrivate::notify_helper (this=this@entry=0xef88c0, receiver=receiver@entry=0x1049af0, e=e@entry=0x7ffc95183820) at kernel/qapplication.cpp:3720
#21 0x00007f46825f1230 in QApplication::notify (this=0x7ffc95183a50, receiver=0x1049af0, e=0x7ffc95183820) at kernel/qapplication.cpp:3503
#22 0x00007f4681d1df1b in QCoreApplication::notifyInternal (this=0x7ffc95183a50, receiver=0x1049af0, event=event@entry=0x7ffc95183820) at kernel/qcoreapplication.cpp:935
#23 0x00007f4681d7409d in QCoreApplication::sendEvent (event=0x7ffc95183820, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228
#24 QTimerInfoList::activateTimers (this=0xf3df68) at kernel/qtimerinfo_unix.cpp:635
#25 0x00007f4681d71e40 in QEventDispatcherUNIX::activateTimers (this=this@entry=0xf4cec0) at kernel/qeventdispatcher_unix.cpp:549
#26 0x00007f4681d728b6 in QEventDispatcherUNIX::processEvents (this=0xf4cec0, flags=flags@entry=...) at kernel/qeventdispatcher_unix.cpp:611
#27 0x00007f466c84505d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#28 0x00007f4681d1b75a in QEventLoop::exec (this=this@entry=0x7ffc95183970, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#29 0x00007f4681d232cc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#30 0x00007f468203800c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1510
#31 0x00007f46825e8025 in QApplication::exec () at kernel/qapplication.cpp:2956
#32 0x00007f46839f14c4 in kdemain (argc=1, argv=0x7ffc95183bb8) at ../main_x11.cpp:303
#33 0x00007f4683642a40 in __libc_start_main (main=0x4007a0 <main(int, char**)>, argc=1, argv=0x7ffc95183bb8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc95183ba8) at libc-start.c:289
#34 0x00000000004007d9 in _start ()

Possible duplicates by query: bug 355103, bug 352423, bug 350872, bug 350076, bug 348873.

Reported using DrKonqi
Comment 1 Thomas Lübking 2016-02-14 11:28:00 UTC
nvidia GPU?

In case, these crashes likely have the same cause as bug #344326, just that they're not workaroundable :-(

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