Bug 332247

Summary: [frameworks] kwin prints error infinitely and hangs
Product: [Plasma] kwin Reporter: Bhushan Shah <bhush94>
Component: scene-xrenderAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal Flags: mgraesslin: ReviewRequest+
Priority: NOR    
Version: 4.95.0   
Target Milestone: 5   
Platform: Compiled Sources   
OS: Linux   
URL: https://git.reviewboard.kde.org/r/117373/
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Bhushan Shah 2014-03-17 12:54:18 UTC
QXcbConnection: XCB error: 143 (Unknown), sequence: 44214, resource id: 106954811, major code: 139 (Unknown), minor code: 8

where sequence number is increased with every error

Reproducible: Always

Steps to Reproduce:
1. Run kwin
Comment 1 Martin Flöser 2014-03-17 15:40:35 UTC
please provide debug info through dbus.
Comment 2 Bhushan Shah 2014-03-17 15:41:51 UTC
(In reply to comment #1)
> please provide debug info through dbus.

sorry but how can I provide debug information..
Comment 3 Martin Flöser 2014-03-17 16:42:46 UTC
> sorry but how can I provide debug information..

qdbus org.kde.KWin /KWin supportInformation
Comment 4 Bhushan Shah 2014-03-18 03:34:57 UTC
===============================================================================
KWin Support Information:
The following information should be used when requesting support on e.g. http://forum.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like http://paste.kde.org instead of pasting into support threads.

==========================

Version
=======
KWin version: 4.90.1
Qt Version: 5.2.1

Operation Mode: X11 onlyOptions
=======
focusPolicy: 0
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
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: 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: 2
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: 97

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:  no
Number of Screens: 1
Screen 0 Geometry: 0,0,1280x800

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: XRender

Loaded Effects:
---------------
kwin4_effect_zoom
kwin4_effect_login
kwin4_effect_slidingpopups
kwin4_effect_desktopgrid
kwin4_effect_slide
kwin4_effect_minimizeanimation
kwin4_effect_screenshot
kwin4_effect_translucency
kwin4_effect_maximize
kwin4_effect_fade
kwin4_effect_dialogparent
kwin4_effect_presentwindows
kwin4_effect_highlightwindow
kwin4_effect_logout
kwin4_effect_dashboard
kwin4_effect_screenedge
kwin4_effect_kscreen

Currently Active Effects:
-------------------------

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

kwin4_effect_login:

kwin4_effect_slidingpopups:
fadeInTime: 150
fadeOutTime: 250

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

kwin4_effect_slide:

kwin4_effect_minimizeanimation:

kwin4_effect_screenshot:

kwin4_effect_translucency:

kwin4_effect_maximize:

kwin4_effect_fade:

kwin4_effect_dialogparent:

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

kwin4_effect_highlightwindow:

kwin4_effect_logout:
useBlur: true

kwin4_effect_dashboard:
brightness: 0.5
saturation: 0.5
blur: false

kwin4_effect_screenedge:

kwin4_effect_kscreen:
============================================================================
I wonder why it is loading kwin4_effect_* ?
Comment 5 Martin Flöser 2014-03-18 06:28:31 UTC
(In reply to comment #4)
> Compositing
> ===========
> Compositing is active
> Compositing Type: XRender

That's what I expected: switch to OpenGL and the warnings are gone. For XRender I was already aware of it

> I wonder why it is loading kwin4_effect_* ?

Because it's just a name and it's not needed to rename the > 40 effects. Our decorations btw. start with kwin3_ - you can guess that nobody renamed them over all of kwin4.
Comment 6 Bhushan Shah 2014-03-18 08:43:04 UTC
I tried but it keeps reverting back to XRender. It was not happening before.
Comment 7 Bhushan Shah 2014-03-20 16:46:36 UTC
Sorry I solved this problems by removing ~/.kf5/config files
Comment 8 Martin Flöser 2014-03-20 18:03:04 UTC
I reopen as the problem with xrender plugin is not yet fixed.
Comment 9 Bhushan Shah 2014-03-21 13:35:30 UTC
Just a little question, why kwin keeps switching back to XRender? Even if I select OpenGL1, OpenGL 2 or OpenGL 3.2 it switch back to XRender.
Comment 10 Thomas Lübking 2014-03-21 13:54:55 UTC
Probably fails to setup the GL compositor?
Tried forcing
$ KWIN_COMPOSE=O2 kwin --replace &
Comment 11 Martin Flöser 2014-04-07 06:05:52 UTC
Git commit fbec8ea12c78bc300656e05dc3640ad9d933819c by Martin Gräßlin.
Committed on 04/04/2014 at 13:23.
Pushed by graesslin into branch 'master'.

[scene-xrender] Do not render deco part if it doesn't end on screen

If the deco part doesn't exist or the target rect is empty, KWin should
not try to composite the deco part on the screen. It can be an empty
rect for maximized windows. If the render composite is tried it results
in an error (note - man page says "This request does never generate any
errors.").

To simplify the macro is turned into a lambda.

The root cause for this problem is that PaintRedirector creates an
XRenderPicture for those invalid geometries and this requests arleady
fails. Thus RasterXRenderPaintRedirector is adjusted to not create the
XRenderPicture in that case and set it to nullptr. For a null
XRenderPicture XCB_RENDER_PICTURE_NONE is returned.
REVIEW: 117373

M  +17   -4    paintredirector.cpp
M  +11   -9    scene_xrender.cpp

http://commits.kde.org/kwin/fbec8ea12c78bc300656e05dc3640ad9d933819c