Bug 349238

Summary: kwin frequently crashes and restarts on new Fedora 22 upgrade
Product: [Plasma] kwin Reporter: wdmccoy <wdm8588>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: crash Keywords: drkonqi
Priority: NOR Flags: thomas.luebking: NVIDIA+
Version: 5.3.1   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=348753
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description wdmccoy 2015-06-16 15:18:51 UTC
Application: kwin_x11 (5.3.1)

Qt Version: 5.4.2
Operating System: Linux 4.0.4-303.fc22.x86_64 x86_64
Distribution: "Fedora release 22 (Twenty Two)"

-- Information about the crash:
- What I was doing when the application crashed:
When I boot into KDE Plasma since my Fedora 22 upgrade, the system is at first unresponsive and slow.  I cannot, at first even start any application.

- Unusual behavior I noticed:
  One or several notices that kwin has crashed and restarted appear on the screen.  However, after a few more minutes the system begins to work, albeit a bit sluggishly.


- Custom settings of the application:
I am using an older nvidia graphics card.  Initially, after my upgrade to Fedora 22 (from 21), KDE would not start at all, even though other window managers would.  I changed from the nouveau drivers to the nvidia drivers and managed to get KDE to work after disabling the "Blur" effects.  I have also reomved the xorg libinput driver.  It seems to work a bit better without that driver, but my testing is still inconclusive regarding that.

-- Backtrace:
Application: KWin (kwin_x11), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f6d0e45c940 (LWP 1773))]

Thread 3 (Thread 0x7f6cfffff700 (LWP 1785)):
#0  0x0000003a820f83d3 in select () at /lib64/libc.so.6
#1  0x0000003f3b8d21ff in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timespec const*) () at /lib64/libQt5Core.so.5
#2  0x0000003f3b8d3cfe in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timespec*) () at /lib64/libQt5Core.so.5
#3  0x0000003f3b8d422e in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x0000003f3b87ceba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x0000003f3b69af54 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f6d0e763955 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#7  0x0000003f3b69fe3e in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x000000306d8aa754 in  () at /usr/lib64/nvidia-304xx/libGL.so.1
#9  0x0000003a82807555 in start_thread () at /lib64/libpthread.so.0
#10 0x0000003a82101f3d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f6cfd9ba700 (LWP 1807)):
#0  0x0000003a8280c530 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x0000003f49d85474 in QTWTF::TCMalloc_PageHeap::scavengerThread() () at /lib64/libQt5Script.so.5
#2  0x0000003f49d854b9 in  () at /lib64/libQt5Script.so.5
#3  0x000000306d8aa754 in  () at /usr/lib64/nvidia-304xx/libGL.so.1
#4  0x0000003a82807555 in start_thread () at /lib64/libpthread.so.0
#5  0x0000003a82101f3d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f6d0e45c940 (LWP 1773)):
[KCrash Handler]
#5  0x0000003a82034a98 in raise () at /lib64/libc.so.6
#6  0x0000003a8203672a in abort () at /lib64/libc.so.6
#7  0x000000306d8a2529 in  () at /usr/lib64/nvidia-304xx/libGL.so.1
#8  0x0000003067fd5c05 in  () at /usr/lib64/nvidia-304xx/libnvidia-glcore.so.304.125
#9  0x0000003067fd6653 in  () at /usr/lib64/nvidia-304xx/libnvidia-glcore.so.304.125
#10 0x0000003067f72d9d in  () at /usr/lib64/nvidia-304xx/libnvidia-glcore.so.304.125
#11 0x0000003067f4893b in  () at /usr/lib64/nvidia-304xx/libnvidia-glcore.so.304.125
#12 0x0000003067f48ca5 in  () at /usr/lib64/nvidia-304xx/libnvidia-glcore.so.304.125
#13 0x0000003067f54731 in  () at /usr/lib64/nvidia-304xx/libnvidia-glcore.so.304.125
#14 0x0000003067f5499b in  () at /usr/lib64/nvidia-304xx/libnvidia-glcore.so.304.125
#15 0x0000003067efb553 in  () at /usr/lib64/nvidia-304xx/libnvidia-glcore.so.304.125
#16 0x000000306d89d775 in  () at /usr/lib64/nvidia-304xx/libGL.so.1
#17 0x000000306d8741c7 in glXSwapBuffers () at /usr/lib64/nvidia-304xx/libGL.so.1
#18 0x0000003f46d4742f in KWin::GlxBackend::present() () at /lib64/libkwin.so.5
#19 0x0000003f46d3e9e9 in KWin::GlxBackend::endRenderingFrame(QRegion const&, QRegion const&) () at /lib64/libkwin.so.5
#20 0x0000003f46d32acf in KWin::SceneOpenGL::paint(QRegion, QList<KWin::Toplevel*>) () at /lib64/libkwin.so.5
#21 0x0000003f46d0b483 in KWin::Compositor::performCompositing() () at /lib64/libkwin.so.5
#22 0x0000003f3b8b0ef3 in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#23 0x0000003f3d7527ec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#24 0x0000003f3d757e90 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#25 0x0000003f3b87f67b in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#26 0x0000003f3b8d598d in QTimerInfoList::activateTimers() () at /lib64/libQt5Core.so.5
#27 0x0000003f3b8d41a6 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#28 0x00007f6d07b2b3dd in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/qt5/plugins/platforms/libqxcb.so
#29 0x0000003f3b87ceba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#30 0x0000003f3b884a2c in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#31 0x0000003f4b605b07 in kdemain () at /lib64/libkdeinit5_kwin_x11.so
#32 0x0000003a82020790 in __libc_start_main () at /lib64/libc.so.6
#33 0x0000000000400c89 in _start ()

Reported using DrKonqi
Comment 1 Thomas Lübking 2015-06-16 17:28:29 UTC
nvidia legacy blob, try (just a wild guess)

export KWIN_EXPLICIT_SYNC=0
kwin_x11 --replace &

And please attach the output of "qdbus org.kde.KWin /KWin supportInformation" (with compositing enabled) in any case.

The crash itself is deep in the driver.
Comment 2 wdmccoy 2015-06-17 00:27:40 UTC
Thanks for the prompt response.  Yes, setting the environment variable and restarting kwin_x11 as described above does work around the problem.  I should add for the documentation of this issue that my graphics card is a GeForce 7300 LE and the specific driver is am using is the xorg-x11-drv-nvidia-304xx-304.125-1.fc22.x86_64 package from rpmfusion.

The output from qdbus after the restart is:

$ qdbus org.kde.KWin /KWin supportInformation
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: 5.3.1
Qt Version: 5.4.2
Qt compile version: 5.4.1
XCB compile version: 1.11

Operation Mode: X11 only

Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_WAYLAND: yes
HAVE_WAYLAND_EGL: yes
HAVE_WAYLAND_CURSOR: yes
HAVE_XKB: yes
HAVE_INPUT: yes
HAVE_XCB_CURSOR: yes                                                       
HAVE_XCB_SYNC: yes                                                         
HAVE_X11_XCB: yes                                                          
                                                                           
X11                                                                        
===                                                                        
Vendor: Fedora Project                                                     
Vendor Release: 11701000                                                   
Protocol Version/Revision: 11/0                                            
SHAPE: yes; Version: 0x11                                                  
RANDR: yes; Version: 0x14                                                  
DAMAGE: yes; Version: 0x11                                                 
Composite: yes; Version: 0x4                                               
RENDER: yes; Version: 0xb                                                  
XFIXES: yes; Version: 0x50                                                 
SYNC: yes; Version: 0x31                                                   
GLX: yes; Version: 0x0

Decoration
==========
Plugin: org.kde.breeze
Theme: 
Blur: 0
onAllDesktopsAvailable: true
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 0, 2
decorationButtonsRight: 6, 3, 4, 5
borderSize: 3
gridUnit: 10
font: Oxygen-Sans,10,-1,0,50,0,0,0,0,0
smallSpacing: 2
largeSpacing: 10

Options
=======
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
rollOverDesktops: true
focusStealingPreventionLevel: 1
legacyFullscreenSupport: false
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
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: 1
unredirectFullscreen: false
glSmoothScale: 2
colorCorrected: false
xrenderSmoothScale: false
maxFpsInterval: 16666666
refreshRate: 0
vBlankTime: 6000000
glStrictBinding: false
glStrictBindingFollowsDriver: true
glCoreProfile: false
glPreferBufferSwap: 99
glPlatformInterface: 1

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 1x1
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,1280x1024

Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 7300 LE/PCIe/SSE2
OpenGL version string: 2.1.2 NVIDIA 304.125
OpenGL platform interface: GLX
OpenGL shading language version string: 1.20 NVIDIA via Cg compiler
Driver: NVIDIA
Driver version: 304.125
GPU class: NV40/G70
OpenGL version: 2.1.2
GLSL version: 1.20
Linux kernel version: 4.0.4
Direct rendering: Requires strict binding: no
GLSL shaders:  limited
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
kwin4_effect_translucency
minimizeanimation
kwin4_effect_windowaperture
desktopgrid
kwin4_effect_fade
kwin4_effect_maximize
presentwindows
kwin4_effect_dialogparent
highlightwindow
logout
dashboard
startupfeedback
screenedge
kscreen

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

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

slidingpopups:
fadeInTime: 150
fadeOutTime: 250

kwin4_effect_login:

slide:

screenshot:

kwin4_effect_translucency:

minimizeanimation:

kwin4_effect_windowaperture:

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

kwin4_effect_dialogparent:

highlightwindow:

logout:
useBlur: true

dashboard:
brightness: 0.5
saturation: 0.5
blur: false

startupfeedback:
type: 1

screenedge:

kscreen:
Comment 3 Thomas Lübking 2015-06-17 08:37:11 UTC
Ok, please add a bashlet ~/.config/plasma-workspace/env/kwin_env.sh
---------- snip --------------
#!/bin/sh
export KWIN_EXPLICIT_SYNC=0
---------- /snip --------------

make it executable, "chmod +x ~/.config/plasma-workspace/env/kwin_env.sh" and watch out whether this provides a reliable solution (don't know at what frequency things crashed for you)
Comment 4 wdmccoy 2015-06-18 00:45:47 UTC
Ok, I have added the shell script and rebooted.  Before, I would have the crashing and automatic restarting happen several times in the first few minutes after starting KDE.  Now the system seems much more stable.  After several hours of use, I have not seen the crash and restart message at all.  However, Google Chrome has frozen a couple of times, but when I run:
      kwin_x11 --replace &
in a KDE Run Command... window, Chrome unfreezes and the system is fine.

Thanks for your help.  I hope the driver is fixed before long.
Comment 5 Thomas Lübking 2015-06-18 11:31:04 UTC
Chromium issue is very likely #342326 - it should be sufficient to restart the compositor (SHIFT+Alt+F12 twice) to resume it.