Bug 312336

Summary: Kwin crashed in i915 during fullscreen flash video
Product: [Plasma] kwin Reporter: Helio Loureiro <helio.loureiro>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Severity: crash CC: mirza.dervisevic
Priority: NOR    
Version: 4.9.3   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: New crash information added by DrKonqi

Description Helio Loureiro 2012-12-29 14:14:03 UTC
Application: kwin (4.9.3)
KDE Platform Version: 4.9.3
Qt Version: 4.8.3
Operating System: Linux 3.5.0-21-lowlatency x86_64
Distribution: Ubuntu 12.10

-- Information about the crash:
- What I was doing when the application crashed:
I was trying to watch a flash video via Chromium in fullscreen.

- Custom settings of the application:
Standard Ubuntu 12.10 settings and OpenGL enabled.
Screen was completely blank, without response for while.  Only after I stopped desktop effects via keyboards keybindings (<Shift>+<Alt>+<F12>), it crashed and raised an error.

The crash can be reproduced every time.

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

Thread 2 (Thread 0x7f20e9dee700 (LWP 2471)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f2101e46cd7 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#2  0x00007f2101e46d09 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4
#3  0x00007f20f9f4ae9a in start_thread (arg=0x7f20e9dee700) at pthread_create.c:308
#4  0x00007f2104f1dcbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f20f1ea1780 (LWP 2468)):
[KCrash Handler]
#6  brw_update_renderbuffer_surface (brw=0x1410ee0, rb=0x103fd00, unit=0) at brw_wm_surface_state.c:1109
#7  0x00007f20d8a12aa0 in brw_update_renderbuffer_surfaces (brw=0x1410ee0) at brw_wm_surface_state.c:1205
#8  0x00007f20d89fcae2 in brw_upload_state (brw=brw@entry=0x1410ee0) at brw_state_upload.c:498
#9  0x00007f20d89ea1d7 in brw_try_draw_prims (max_index=5, min_index=3096547688, ib=<optimized out>, nr_prims=<optimized out>, prim=0x7fffb8919150, arrays=<optimized out>, ctx=0x1410ee0) at brw_draw.c:493
#10 brw_draw_prims (ctx=0x1410ee0, prim=0x7fffb8919150, nr_prims=<optimized out>, ib=<optimized out>, index_bounds_valid=<optimized out>, min_index=0, max_index=5, tfb_vertcount=0x0) at brw_draw.c:589
#11 0x00007f20d8545b54 in vbo_draw_arrays (ctx=0x1410ee0, mode=4, start=0, count=6, numInstances=1, baseInstance=<optimized out>) at ../../../../../src/mesa/vbo/vbo_exec_array.c:645
#12 0x00007f210189c89e in KWin::GLVertexBufferPrivate::corePainting (this=0x10e9580, region=..., primitiveMode=4, hardwareClipping=<optimized out>) at ../../../kwin/libkwineffects/kwinglutils.cpp:1218
#13 0x00007f210189cdbd in KWin::GLVertexBuffer::render (this=0x103df60, region=..., primitiveMode=4, hardwareClipping=<optimized out>) at ../../../kwin/libkwineffects/kwinglutils.cpp:1341
#14 0x00007f21052a5a8e in renderQuads (hardwareClipping=false, normalized=<optimized out>, tex=<optimized out>, quads=..., region=..., this=<optimized out>) at ../../kwin/scene_opengl.cpp:795
#15 KWin::SceneOpenGL::Window::renderQuads (this=<optimized out>, region=..., quads=..., tex=<optimized out>, normalized=<optimized out>, hardwareClipping=false) at ../../kwin/scene_opengl.cpp:774
#16 0x00007f21052abeeb in KWin::SceneOpenGL::Window::performPaint (this=0x1730820, mask=9, region=..., data=...) at ../../kwin/scene_opengl.cpp:593
#17 0x00007f2105297b26 in KWin::Scene::finalDrawWindow (this=<optimized out>, w=0x17575e0, mask=9, region=..., data=...) at ../../kwin/scene.cpp:454
#18 0x00007f21052b63ca in KWin::EffectsHandlerImpl::drawWindow (this=0x174e000, w=w@entry=0x17575e0, mask=mask@entry=9, region=..., data=...) at ../../kwin/effects.cpp:310
#19 0x00007f2105296f9a in KWin::Scene::finalPaintWindow (this=<optimized out>, w=0x17575e0, mask=9, region=..., data=...) at ../../kwin/scene.cpp:439
#20 0x00007f21052b613a in KWin::EffectsHandlerImpl::paintWindow (this=0x174e000, w=0x17575e0, mask=mask@entry=9, region=..., data=...) at ../../kwin/effects.cpp:273
#21 0x00007f2105299d6d in KWin::Scene::paintWindow (this=<optimized out>, w=0x1730820, mask=9, region=..., quads=...) at ../../kwin/scene.cpp:348
#22 0x00007f21052990cf in KWin::Scene::paintSimpleScreen (this=this@entry=0xfeaaf0, orig_mask=orig_mask@entry=8, region=...) at ../../kwin/scene.cpp:334
#23 0x00007f2105296ee2 in KWin::Scene::finalPaintScreen (this=0xfeaaf0, mask=8, region=..., data=...) at ../../kwin/scene.cpp:192
#24 0x00007f21052b6523 in KWin::EffectsHandlerImpl::paintScreen (this=0x174e000, mask=8, region=..., data=...) at ../../kwin/effects.cpp:246
#25 0x00007f210529852b in KWin::Scene::paintScreen (this=0xfeaaf0, mask=0x7fffb8919ecc, region=0x7fffb8919f70) at ../../kwin/scene.cpp:146
#26 0x00007f21052ad0ed in KWin::SceneOpenGL::paint (this=0xfeaaf0, damage=..., toplevels=...) at ../../kwin/scene_opengl_glx.cpp:499
#27 0x00007f2105292228 in KWin::Workspace::performCompositing (this=0xba2480) at ../../kwin/composite.cpp:443
#28 0x00007f2100bae26c in QObject::event (this=0xba2480, e=<optimized out>) at kernel/qobject.cpp:1157
#29 0x00007f20fff40e9c in QApplicationPrivate::notify_helper (this=this@entry=0xa57d00, receiver=receiver@entry=0xba2480, e=e@entry=0x7fffb891a650) at kernel/qapplication.cpp:4562
#30 0x00007f20fff4530a in QApplication::notify (this=0x7fffb891ac90, receiver=0xba2480, e=0x7fffb891a650) at kernel/qapplication.cpp:4423
#31 0x00007f2104a0c1d6 in KApplication::notify (this=0x7fffb891ac90, receiver=0xba2480, event=0x7fffb891a650) at ../../kdeui/kernel/kapplication.cpp:311
#32 0x00007f2100b9956e in QCoreApplication::notifyInternal (this=0x7fffb891ac90, receiver=0xba2480, event=0x7fffb891a650) at kernel/qcoreapplication.cpp:915
#33 0x00007f2100bca462 in sendEvent (event=0x7fffb891a650, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#34 QTimerInfoList::activateTimers (this=0xa58848) at kernel/qeventdispatcher_unix.cpp:611
#35 0x00007f2100bca4c0 in QEventDispatcherUNIX::activateTimers (this=this@entry=0x9f9ad0) at kernel/qeventdispatcher_unix.cpp:868
#36 0x00007f2100bca618 in QEventDispatcherUNIX::processEvents (this=0x9f9ad0, flags=...) at kernel/qeventdispatcher_unix.cpp:930
#37 0x00007f20fffe6a3f in QEventDispatcherX11::processEvents (this=0x9f9ad0, flags=...) at kernel/qeventdispatcher_x11.cpp:152
#38 0x00007f2100b982bf in QEventLoop::processEvents (this=this@entry=0x7fffb891a9a0, flags=...) at kernel/qeventloop.cpp:149
#39 0x00007f2100b98548 in QEventLoop::exec (this=0x7fffb891a9a0, flags=...) at kernel/qeventloop.cpp:204
#40 0x00007f2100b9d708 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#41 0x00007f210524be14 in kdemain (argc=1, argv=0x7fffb891add8) at ../../kwin/main.cpp:545
#42 0x00007f2104e4b76d in __libc_start_main (main=0x4006a0 <main(int, char**)>, argc=1, ubp_av=0x7fffb891add8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffb891adc8) at libc-start.c:226
#43 0x00000000004006d1 in _start ()

This bug may be a duplicate of or related to bug 252817.

Possible duplicates by query: bug 312335, bug 311682, bug 310612, bug 310417, bug 310027.

Reported using DrKonqi
Comment 1 Thomas Lübking 2012-12-29 14:36:13 UTC
see comment #17 in the dupe - does ubuntu somehow reset the setting with every update? (it should be off by default)

*** This bug has been marked as a duplicate of bug 299333 ***
Comment 2 Helio Loureiro 2012-12-29 17:29:50 UTC
What can I run to confirm that?  Or either log?
Comment 3 Helio Loureiro 2012-12-29 17:38:08 UTC
BTW it wasn't a fresh installation.  I've come upgrading since... Debian beta 4.  The last .kderc files are regarding KDE4.7 release, when I moved configuration files to .old and left KDE to create the new ones.
Comment 4 Thomas Lübking 2012-12-29 18:02:33 UTC
run "kcmshell4 kwincompositing", move to last tab and check the state of "suspend cop. for fullscreen windows"
if it's checked and was not (should not, major problem for intel drivers) someone has reactivated it and we recently got this quite often fro ubuntu 12.10 users.

so if you and all others did not activate, some distro update script will have - contact ubuntu about that aand tell them to stop doing this in case
Comment 5 Mirza 2013-10-05 07:49:43 UTC
Created attachment 82674 [details]
New crash information added by DrKonqi

kwin (4.11.1) on KDE Platform 4.11.1 using Qt 4.8.2

- What I was doing when the application crashed: Kwin constanly crashes while plying fullscreen flash videos, especially when changing volume as the OSD appears it crashes.

-- Backtrace (Reduced):
#7  brw_update_renderbuffer_surface (brw=0x933a9b0, rb=0x91da7a0, unit=0) at brw_wm_surface_state.c:1109
#8  0x037ca9d3 in brw_update_renderbuffer_surfaces (brw=0x933a9b0) at brw_wm_surface_state.c:1205
#9  0x037b2ed5 in brw_upload_state (brw=0x933a9b0) at brw_state_upload.c:498
#10 0x0379df17 in brw_try_draw_prims (max_index=17, min_index=154430260, ib=0x0, nr_prims=1, prim=0xbfb79050, arrays=0x933a9b0, ctx=0x933a9b0) at brw_draw.c:493
#11 brw_draw_prims (ctx=0x933a9b0, prim=0xbfb79050, nr_prims=1, ib=0x0, index_bounds_valid=1 '\001', min_index=0, max_index=17, tfb_vertcount=0x0) at brw_draw.c:589
Comment 6 Thomas Lübking 2013-10-05 09:36:36 UTC
see comment #4 - can you also please attach the output of "qdbus org.kde.kwin /KWin supportInformation" to record your gpu/driver combo?
Comment 7 Mirza 2013-10-06 08:02:52 UTC
(In reply to comment #6)
> see comment #4 - can you also please attach the output of "qdbus
> org.kde.kwin /KWin supportInformation" to record your gpu/driver combo?

Regarding the comment #4 that option is turned off, but I manually created a Window rule for flash plugin to suspend compositing, and it looks like that could be causing the problem ?

KWin version: 4.11.1
KDE SC version (runtime): 4.11.1
KDE SC version (compile): 4.11.1
Qt Version: 4.8.2

focusPolicy: 0
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
placement: 6
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10                                                                                                                                                           
centerSnapZone: 0                                                                                                                                                            
snapOnlyWhenOverlapping: false                                                                                                                                               
showDesktopIsMinimizeAll: false                                                                                                                                              
rollOverDesktops: true                                                                                                                                                       
focusStealingPreventionLevel: 0
legacyFullscreenSupport: false
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: 16777251
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: 2
unredirectFullscreen: false
glSmoothScale: 2
colorCorrected: false
xrenderSmoothScale: false
maxFpsInterval: 16666666
refreshRate: 0
vBlankTime: 6000000
glDirect: true
glStrictBinding: false
glStrictBindingFollowsDriver: true
glLegacy: false
glCoreProfile: false
glPreferBufferSwap: 101

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

Multi-Head: no
Active screen follows mouse:  no
Number of Screens: 1
Screen 0 Geometry: 0,0,1366x768

Current Plugin: kwin3_qtcurve
Shadows: yes
Alpha: yes
Announces Alpha: no
Tabbing: no
Frame Overlap: no
Blur Behind: yes

Qt Graphics System: native
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset x86/MMX/SSE2
OpenGL version string: 2.1 Mesa 9.0.1
OpenGL shading language version string: 1.20
Driver: Intel
GPU class: i965
OpenGL version: 2.1
GLSL version: 1.20
Mesa version: 9.0.1
X server version: 1.11.3
Linux kernel version: 3.2
Direct rendering: yes
Requires strict binding: no
GLSL shaders:  yes
Texture NPOT support:  yes
Virtual Machine:  no
OpenGL 2 Shaders are used
Painting blocks for vertical retrace:  yes

Loaded Effects:

Currently Active Effects:

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


fadeInTime: 250
fadeOutTime: 250


stiffness: 0.06
drag: 0.9
moveFactor: 0.1
xTesselation: 20
yTesselation: 20
minVelocity: 0
maxVelocity: 1000
stopVelocity: 0.5
minAcceleration: 0
maxAcceleration: 1000
stopAcceleration: 0.5
moveEffectEnabled: true
openEffectEnabled: false
closeEffectEnabled: false
moveWobble: true
resizeWobble: true

animationDuration: 200
animateSwitch: true
animateStart: true
animateStop: true
reflection: true
windowTitle: true
zPosition: 900
primaryTabBox: true
secondaryTabBox: false

rotationDuration: 500
dontSlidePanels: true
dontSlideStickyWindows: false
usePagerLayout: true
useWindowMoving: false


cubeOpacity: 0.800000011920929
opacityDesktopOnly: false
displayDesktopName: true
reflection: true
rotationDuration: 500
backgroundColor: #000000
capColor: #000000
paintCaps: true
closeOnMouseRelease: false
zPosition: 100
useForTabBox: false
invertKeys: false
invertMouse: false
capDeformationFactor: 0
useZOrdering: false
texturedCaps: true


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

tabBox: false
tabBoxAlternative: false
duration: 200
angle: 30
xPosition: 0.330000013113022
yPosition: 1
windowTitle: true


animationDuration: 400

duration: 350
effect: 0
angle: -90





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
dragToClose: false

blurRadius: 10
cacheTexture: true

useBlur: true

brightness: 0.5
saturation: 0.5
blur: false



Comment 8 Thomas Lübking 2013-10-06 10:33:11 UTC
if the rule would apply, you could't crash in compositing as long as the flash window is there (whether another window appears and breaks the fullscreen condition doesn't matter)

the flaswindow is likely override_redirect, ie. unmanaged - you'd require scripting to have is suspend the compositor.

wild guess: set the graphicssystem to "raster" - do you still get crashes?