Bug 339306 - Crash on Alt+Tab
Summary: Crash on Alt+Tab
Status: RESOLVED UPSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: git master
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-22 17:27 UTC by Elias Probst
Modified: 2014-09-22 18:21 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Elias Probst 2014-09-22 17:27:07 UTC
I'm recently seeing this crash every now and then when using Alt+Tab.
I haven't found a way to properly reproduce it yet - it could be connected to having (un-)plugged a screen before using Alt+Tab, but I'm not sure.

Maybe the BT already points to something obvious, otherwise I'll try to find a way to reproduce it.

Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f5b938fc800 (LWP 14903))]

Thread 3 (Thread 0x7f5b770df700 (LWP 14916)):
#0  0x00007f5b933f7b23 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f5b91d3a009 in qt_safe_select (nfds=13, fdread=0x7f5b6c000a78, fdwrite=0x7f5b6c000d08, fdexcept=0x7f5b6c000f98, orig_timeout=0x0) at kernel/qcore_unix.cpp:83
#2  0x00007f5b91d3b985 in QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f5b6c0008e0, flags=..., flags@entry=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:204
#3  0x00007f5b91d3bddb in QEventDispatcherUNIX::processEvents (this=0x7f5b6c0008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:615
#4  0x00007f5b91ce4a4b in QEventLoop::exec (this=this@entry=0x7f5b770dedd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#5  0x00007f5b91b075ba in QThread::exec (this=<optimized out>) at thread/qthread.cpp:511
#6  0x00007f5b91b0c20f in QThreadPrivate::start (arg=0x2903600) at thread/qthread_unix.cpp:345
#7  0x00007f5b8b851023 in start_thread (arg=0x7f5b770df700) at pthread_create.c:309
#8  0x00007f5b933fecfd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f5b6b7fe700 (LWP 14918)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f5b9071107b in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f5b907fbca0 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f5b907110a9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f5b8b851023 in start_thread (arg=0x7f5b6b7fe700) at pthread_create.c:309
#4  0x00007f5b933fecfd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f5b938fc800 (LWP 14903)):
[KCrash Handler]
#6  XQueryExtension (dpy=0x0, name=0x7f5b8af82df8 <__glXExtensionName> "GLX", major_opcode=0x7fffe8455264, first_event=0x7fffe8455268, first_error=0x7fffe845526c) at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/QuExt.c:43
#7  0x00007f5b8eda31f5 in XInitExtension (dpy=dpy@entry=0x0, name=name@entry=0x7f5b8af82df8 <__glXExtensionName> "GLX") at /var/tmp/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/InitExt.c:47
#8  0x00007f5b8af32079 in __glXInitialize (dpy=dpy@entry=0x0) at glxext.c:840
#9  0x00007f5b8af2f5bd in GetGLXDRIDrawable (dpy=dpy@entry=0x0, drawable=drawable@entry=48335194) at glxcmds.c:75
#10 0x00007f5b8af2f610 in glXSwapBuffers (dpy=0x0, drawable=48335194) at glxcmds.c:837
#11 0x00007f5b801a2885 in QGLXContext::swapBuffers (this=0x32e0790, surface=0x374ef50) at qglxintegration.cpp:524
#12 0x00007f5b92058362 in QOpenGLContext::swapBuffers (this=0x31fa580, surface=<optimized out>) at kernel/qopenglcontext.cpp:1004
#13 0x00007f5b9098a6c5 in QSGGuiThreadRenderLoop::renderWindow (this=this@entry=0x29e4110, window=0x374e0f0) at scenegraph/qsgrenderloop.cpp:394
#14 0x00007f5b9098b21e in QSGGuiThreadRenderLoop::exposureChanged (this=0x29e4110, window=0x374e0f0) at scenegraph/qsgrenderloop.cpp:429
#15 0x00007f5b92024779 in QWindow::event (this=this@entry=0x374e0f0, ev=ev@entry=0x7fffe8455840) at kernel/qwindow.cpp:2016
#16 0x00007f5b909c1403 in QQuickWindow::event (this=this@entry=0x374e0f0, e=e@entry=0x7fffe8455840) at items/qquickwindow.cpp:1383
#17 0x00007f5b74193c13 in PlasmaQuick::Dialog::event (this=0x374e0f0, event=0x7fffe8455840) at /var/tmp/portage/kde-frameworks/plasma-9999/work/plasma-9999/src/plasmaquick/dialog.cpp:861
#18 0x00007f5b925a653c in QApplicationPrivate::notify_helper (this=this@entry=0x24a3920, receiver=receiver@entry=0x374e0f0, e=e@entry=0x7fffe8455840) at kernel/qapplication.cpp:3729
#19 0x00007f5b925ab540 in QApplication::notify (this=0x7fffe8455aa0, receiver=0x374e0f0, e=0x7fffe8455840) at kernel/qapplication.cpp:3512
#20 0x00007f5b91ce6b05 in QCoreApplication::notifyInternal (this=0x7fffe8455aa0, receiver=receiver@entry=0x374e0f0, event=event@entry=0x7fffe8455840) at kernel/qcoreapplication.cpp:940
#21 0x00007f5b9201d826 in sendSpontaneousEvent (event=0x7fffe8455840, receiver=0x374e0f0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:239
#22 QGuiApplicationPrivate::processExposeEvent (e=0x38bb980) at kernel/qguiapplication.cpp:2619
#23 0x00007f5b9201e38d in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x38bb980) at kernel/qguiapplication.cpp:1646
#24 0x00007f5b92004d68 in QWindowSystemInterface::sendWindowSystemEvents (flags=..., flags@entry=...) at kernel/qwindowsysteminterface.cpp:579
#25 0x00007f5b801d17a6 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:71
#26 0x00007f5b91ce4a4b in QEventLoop::exec (this=this@entry=0x7fffe84559d0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#27 0x00007f5b91cec096 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1193
#28 0x00007f5b9201545c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1515
#29 0x00007f5b925a2d25 in QApplication::exec () at kernel/qapplication.cpp:2964
#30 0x00007f5b936c4e23 in kdemain (argc=2, argv=0x7fffe8455be8) at /var/tmp/portage/kde-base/kwin-9999/work/kwin-9999/main_x11.cpp:294
#31 0x00007f5b93337e75 in __libc_start_main (main=0x400920 <main(int, char**)>, argc=2, argv=0x7fffe8455be8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffe8455bd8) at libc-start.c:285
#32 0x0000000000400951 in _start ()


kwin supportInformation:
Version
=======
KWin version: 5.0.95
Qt Version: 5.4.0

Operation Mode: X11 only

Options
=======
focusPolicy: 1
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 750
delayFocusInterval: 300
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
placement: 4
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
showDesktopIsMinimizeAll: false
rollOverDesktops: true
focusStealingPreventionLevel: 1
legacyFullscreenSupport: false
operationTitlebarDblClick: 
commandActiveTitlebar1: 0
commandActiveTitlebar2: 30
commandActiveTitlebar3: 2
commandInactiveTitlebar1: 4
commandInactiveTitlebar2: 30
commandInactiveTitlebar3: 2
commandWindow1: 7
commandWindow2: 8
commandWindow3: 8
commandWindowWheel: 31
commandAll1: 10
commandAll2: 3
commandAll3: 14
keyCmdAllModKey: 16777250
showGeometryTip: false
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
inactiveTabsSkipTaskbar: false
autogroupSimilarWindows: false
autogroupInForeground: true
compositingMode: 1
useCompositing: true
compositingInitialized: true
hiddenPreviews: 1
unredirectFullscreen: false
glSmoothScale: 2
colorCorrected: false
xrenderSmoothScale: false
maxFpsInterval: 16666666
refreshRate: 0
vBlankTime: 6000000
glStrictBinding: true
glStrictBindingFollowsDriver: true
glCoreProfile: false
glPreferBufferSwap: 101
glPlatformInterface: 

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 
timeThreshold: 150
reActivateThreshold: 350
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Multi-Head: no
Active screen follows mouse:  yes
Number of Screens: 2
Screen 0 Geometry: 0,0,2560x1440
Screen 1 Geometry: 528,1440,1920x1080

Decoration
==========
Current Plugin: Oxygen
Shadows: yes
Alpha: yes
Announces Alpha: yes
Tabbing: yes
Frame Overlap: no
Blur Behind: no

Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile 
OpenGL version string: 3.0 Mesa 10.4.0-devel (git-4eb2bbe)
OpenGL platform interface: GLX
OpenGL shading language version string: 1.30
Driver: Intel
GPU class: IvyBridge
OpenGL version: 3.0
GLSL version: 1.30
Mesa version: 10.4
X server version: 1.16
Linux kernel version: 3.16.3
Direct rendering: Requires strict binding: yes
GLSL shaders:  yes
Texture NPOT support:  yes
Virtual Machine:  no
OpenGL 2 Shaders are used
Painting blocks for vertical retrace:  no

Loaded Effects:
---------------
zoom
slidingpopups
kwin4_effect_login
slide
screenshot
minimizeanimation
kwin4_effect_translucency
desktopgrid
kwin4_effect_fade
kwin4_effect_maximize
presentwindows
highlightwindow
kwin4_effect_dialogparent
blur
contrast
logout
dashboard
startupfeedback
screenedge
kscreen

Currently Active Effects:
-------------------------
blur
contrast

Effect Settings:
----------------
zoom:
zoomFactor: 1.2
mousePointer: 0
mouseTracking: 0
enableFocusTracking: true
followFocus: true
focusDelay: 350
moveFactor: 20
targetZoom: 1

slidingpopups:
fadeInTime: 150
fadeOutTime: 250

kwin4_effect_login:

slide:

screenshot:

minimizeanimation:

kwin4_effect_translucency:

desktopgrid:
zoomDuration: 300
border: 10
desktopNameAlignment: 0
layoutMode: 0
customLayoutRows: 2
usePresentWindows: true

kwin4_effect_fade:

kwin4_effect_maximize:

presentwindows:
layoutMode: 0
showCaptions: true
showIcons: true
doNotCloseWindows: false
ignoreMinimized: false
accuracy: 20
fillGaps: true
fadeDuration: 150
showPanel: false
leftButtonWindow: 1
rightButtonWindow: 2
middleButtonWindow: 0
leftButtonDesktop: 2
middleButtonDesktop: 0
rightButtonDesktop: 0

highlightwindow:

kwin4_effect_dialogparent:

blur:
blurRadius: 12
cacheTexture: true

contrast:

logout:
useBlur: true

dashboard:
brightness: 0.5
saturation: 0.5
blur: false

startupfeedback:

screenedge:

kscreen:
Comment 1 Martin Flöser 2014-09-22 18:02:10 UTC
did you update Qt recently? What strikes me as odd is that Qt calls 
glXSwapBuffers with a null dpy.
Comment 2 Elias Probst 2014-09-22 18:06:05 UTC
(In reply to Martin Gräßlin from comment #1)
> did you update Qt recently? What strikes me as odd is that Qt calls 
> glXSwapBuffers with a null dpy.

Yes, I'm on Qt 5.4.0 alpha, but all frameworks components + runtimes (incl. kwin) have been rebuilt after that.
Comment 3 Thomas Lübking 2014-09-22 18:15:41 UTC
It's because of the screen setup alteration:
https://bugreports.qt-project.org/browse/QTBUG-32681

It's also (likely) because of QWindow::screen() is 0x0 - this sounds familiar (there must be another bug around this, but I can't find it)
Comment 4 Elias Probst 2014-09-22 18:18:41 UTC
@Thomas: This one? https://bugreports.qt-project.org/browse/QTBUG-39996
Comment 5 Thomas Lübking 2014-09-22 18:21:58 UTC
:-P

kde bug #336511, yes. Thanks!