Bug 268186

Summary: KWin 4.6 crashes after disabling direct rendering
Product: [Plasma] kwin Reporter: Thoar <thoar.varenkamp>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: crash CC: phofin
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Thoar 2011-03-11 04:41:56 UTC
Application: kwin (4.6.00 (4.6.0) "release 6")
KDE Platform Version: 4.6.00 (4.6.0) "release 6"
Qt Version: 4.7.1
Operating System: Linux 2.6.37.1-1.2-desktop x86_64
Distribution: "openSUSE 11.4 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:

While Firefox 4.0b12 was running (with npviewer.bin running at the background), I launched Granatier 1.0.0. Granatier showed some unclear and slow performance, so I tried to disable direct rendering (desktop effects). After applying it, KWin disabled the desktop effects. Enabling the desktop effects does not work, as this made KWin crashed.

- Unusual behavior I noticed:

At a certain moment, by enabling the desktop effects, it didn't only crashed but it also gave me an error of about my X server configuration. This was just once. After that it didn't occured anymore. My apologies, but I can't recall anymore what the message stated.

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fa010486760 (LWP 2835))]

Thread 2 (Thread 0x7f9ff2cae700 (LWP 2854)):
#0  0x00007fa00bd5638c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fa00eb52044 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fa00ee6b180) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007fa00eb52079 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7fa00ee79254) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007fa00bd51a3f in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa00fce467d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fa010486760 (LWP 2835)):
[KCrash Handler]
#6  radeonDRI2Flush (drawable=0x737c60) at radeon_screen.c:394
#7  0x00007fa00d5859a4 in dri2SwapBuffers (pdraw=<value optimized out>, target_msc=0, divisor=0, remainder=0) at dri2_glx.c:539
#8  0x00007fa010052d37 in KWin::SceneOpenGL::flushBuffer (this=<value optimized out>, mask=<value optimized out>, damage=...) at /usr/src/debug/kdebase-workspace-4.6.0/kwin/scene_opengl.cpp:860
#9  0x00007fa010053533 in KWin::SceneOpenGL::paint (this=0x7378a0, damage=..., toplevels=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.6.0/kwin/scene_opengl.cpp:789
#10 0x00007fa01003b6c7 in KWin::Workspace::performCompositing (this=0x71cb60) at /usr/src/debug/kdebase-workspace-4.6.0/kwin/composite.cpp:448
#11 0x00007fa00c0dd799 in QObject::event (this=0x71cb60, e=<value optimized out>) at kernel/qobject.cpp:1175
#12 0x00007fa00b278d14 in QApplicationPrivate::notify_helper (this=0x635670, receiver=0x71cb60, e=0x7fffe4283300) at kernel/qapplication.cpp:4445
#13 0x00007fa00b28122a in QApplication::notify (this=<value optimized out>, receiver=0x71cb60, e=0x7fffe4283300) at kernel/qapplication.cpp:4324
#14 0x00007fa00f75c9e6 in KApplication::notify (this=0x7fffe42837e0, receiver=0x71cb60, event=0x7fffe4283300) at /usr/src/debug/kdelibs-4.6.0/kdeui/kernel/kapplication.cpp:311
#15 0x00007fa00c0c9bfc in QCoreApplication::notifyInternal (this=0x7fffe42837e0, receiver=0x71cb60, event=0x7fffe4283300) at kernel/qcoreapplication.cpp:732
#16 0x00007fa00c0f74d8 in sendEvent (this=0x636080) at kernel/qcoreapplication.h:215
#17 QTimerInfoList::activateTimers (this=0x636080) at kernel/qeventdispatcher_unix.cpp:618
#18 0x00007fa00c0f7be0 in QEventDispatcherUNIX::processEvents (this=0x612380, flags=...) at kernel/qeventdispatcher_unix.cpp:937
#19 0x00007fa00b31ebac in QEventDispatcherX11::processEvents (this=0x612380, flags=...) at kernel/qeventdispatcher_x11.cpp:152
#20 0x00007fa00c0c9052 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#21 0x00007fa00c0c9265 in QEventLoop::exec (this=0x7fffe42836d0, flags=...) at kernel/qeventloop.cpp:201
#22 0x00007fa00c0cd6ab in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#23 0x00007fa00ffd9c8a in kdemain (argc=<value optimized out>, argv=0x7fffe4283840) at /usr/src/debug/kdebase-workspace-4.6.0/kwin/main.cpp:542
#24 0x00007fa00fc2fbfd in __libc_start_main () from /lib64/libc.so.6
#25 0x0000000000400699 in _start () at ../sysdeps/x86_64/elf/start.S:113

Reported using DrKonqi
Comment 1 Thomas Lübking 2011-03-11 14:07:50 UTC
driver bug, sorry.
FYI:
DISabling direct rendering does NOT make things faster, rather the opposite.
What you likely wanted to do is "suspend" compositing (SHIFT+Alt+F12)

I guess the driver crashes because of the indirect rendering, re-enable it to get back a somehow stable system.
KWin might mourn that you can't because your GL driver is cr... "broken". You can rearm this protection by passing

kwriteconfig -file kwinrc -group Compositing -key CheckIsSafe true
kwriteconfig -file kwinrc -group Compositing -key OpenGLIsUnsafe false

in konsole (_before_ starting systemsettigns)
Comment 2 Thomas Lübking 2011-05-28 01:10:11 UTC
*** Bug 274317 has been marked as a duplicate of this bug. ***