Bug 29148

Summary: KWin segfaults when OpenGL desktop effects are enabled
Product: Mesa Reporter: Alain Perrot <alain.perrot>
Component: GLXAssignee: mesa-dev
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: medium CC: christopher.m.penalver, ch, jlp.bugs
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Alain Perrot 2010-07-19 06:46:57 UTC
KWin crash with a segmentation fault when OpenGL desktop effects are enabled. It runs fine when desktop effects are disabled.

The problem appeared a few days ago when I upgraded the mesa packages from the Xorg-edgers PPA repository.

The last good version of the packages was 7.9.0+git20100714.d023fb39-0ubuntu0sarvatt (commit d023fb39 is "llvmpipe: Remove redundant alignments").

The first bad version of the packages was 7.9.0+git20100716.41bcd8cb-0ubuntu0sarvatt (commit 41bcd8cb is "mesa: return retval in _mesa_RenderObjectUnpurgeable()").

My guess (from the stack trace below) is that the commit f8d81c31 "dri2: Track event mask in client code" may be the culprit.


Software :
- Kubuntu Maverick (development distro) AMD64
- Linux 2.6.35-9-generic (2.6.35rc5)
- KDE SC 4.5rc2 (aka 4.4.92)
- Mesa 7.9.0 (master) from Xorg-edgers PPA repository

Hardware :
- Radeon HD 3870 (RV670)


Stack trace:

Application: KWin (kwin), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f425f658780 (LWP 2879))]

Thread 2 (Thread 0x7f4240873710 (LWP 2885)):
#0  0x00007f425eecf6f3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f425b7832be in qt_safe_select (nfds=19, fdread=0x2ccb130, fdwrite=0x2ccb3c8, fdexcept=0x2ccb660, orig_timeout=0x0) at kernel/qcore_unix.cpp:82
#2  0x00007f425b7885eb in QEventDispatcherUNIXPrivate::doSelect (this=0x2ccaf70, flags=<value optimized out>, timeout=<value optimized out>) at kernel/qeventdispatcher_unix.cpp:219
#3  0x00007f425b78921b in QEventDispatcherUNIX::processEvents (this=0x2acd8c0, flags=) at kernel/qeventdispatcher_unix.cpp:919
#4  0x00007f425b758792 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f425b758b7c in QEventLoop::exec (this=0x7f4240872d90, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f425b66422d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f425b7386a8 in QInotifyFileSystemWatcherEngine::run (this=0x298b3b0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f425b6671ae in QThreadPrivate::start (arg=0x298b3b0) at thread/qthread_unix.cpp:266
#9  0x00007f425b3d6981 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f425eed6d6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f425f658780 (LWP 2879)):
[KCrash Handler]
#6  DRI2WireToEvent (dpy=0x22c3d40, event=0x2db7ea8, wire=0x2df76c0) at dri2.c:105
#7  0x00007f425d0c517e in _XEnq (dpy=0x22c3d40, event=0x0) at ../../src/XlibInt.c:907
#8  0x00007f425d0c3473 in handle_response (dpy=0x22c3d40, response=0x2df76c0, in_XReply=0) at ../../src/xcb_io.c:280
#9  0x00007f425d0c3a00 in _XReply (dpy=0x22c3d40, rep=0x7fff176dc3b0, extra=<value optimized out>, discard=<value optimized out>) at ../../src/xcb_io.c:555
#10 0x00007f425d0bf403 in XSync (dpy=0x22c3d40, discard=0) at ../../src/Sync.c:46
#11 0x00007f425cc4aecf in DRI2DestroyDrawable (dpy=0x22c3d40, drawable=25166196) at dri2.c:350
#12 0x00007f425cc49ac4 in dri2DestroyDrawable (pdraw=0x2eb4780) at dri2_glx.c:174
#13 0x00007f425cc43f55 in DestroyDRIDrawable (dpy=<value optimized out>, drawable=25166728, destroy_xdrawable=0) at glx_pbuffer.c:225
#14 0x00007f425f23ba82 in KWin::SceneOpenGL::Texture::release (this=0x2db5c20) at ../../kwin/scene_opengl.cpp:1009
#15 0x00007f425f23be11 in KWin::SceneOpenGL::Texture::discard (this=0x2db5c20) at ../../kwin/scene_opengl.cpp:999
#16 0x00007f425f23bf53 in ~Window (this=0x1800035, __in_chrg=<value optimized out>) at ../../kwin/scene_opengl.cpp:1304
#17 0x00007f425f23d4bc in KWin::SceneOpenGL::windowClosed (this=0x24999a0, c=0x2d9c280, deleted=0x0) at ../../kwin/scene_opengl.cpp:933
#18 0x00007f425f229ce9 in KWin::Workspace::finishCompositing (this=0x2627250) at ../../kwin/composite.cpp:258
#19 0x00007f425f22d069 in KWin::Workspace::fallbackToXRenderCompositing (this=0x1800035) at ../../kwin/composite.cpp:301
#20 0x00007f425f1ace78 in KWin::Workspace::qt_metacall (this=0x2627250, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x2ea8e20) at ./workspace.moc:582
#21 0x00007f425b76b8be in QObject::event (this=0x2627250, e=0x1800035) at kernel/qobject.cpp:1219
#22 0x00007f425a8adcdc in QApplicationPrivate::notify_helper (this=0x22c1c40, receiver=0x2627250, e=0x2db84c0) at kernel/qapplication.cpp:4389
#23 0x00007f425a8b37cd in QApplication::notify (this=0x7fff176dd130, receiver=0x2627250, e=0x2db84c0) at kernel/qapplication.cpp:4270
#24 0x00007f425e9d4966 in KApplication::notify (this=0x7fff176dd130, receiver=0x2627250, event=0x2db84c0) at ../../kdeui/kernel/kapplication.cpp:309
#25 0x00007f425b759a6c in QCoreApplication::notifyInternal (this=0x7fff176dd130, receiver=0x2627250, event=0x2db84c0) at kernel/qcoreapplication.cpp:732
#26 0x00007f425b75c992 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x229f150) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#27 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x229f150) at kernel/qcoreapplication.cpp:1373
#28 0x00007f425a9607b4 in QCoreApplication::sendPostedEvents (this=<value optimized out>, flags=) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#29 QEventDispatcherX11::processEvents (this=<value optimized out>, flags=) at kernel/qeventdispatcher_x11.cpp:75
#30 0x00007f425b758792 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#31 0x00007f425b758b7c in QEventLoop::exec (this=0x7fff176dd070, flags=) at kernel/qeventloop.cpp:201
#32 0x00007f425b75cc2b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#33 0x00007f425f1c962d in kdemain (argc=<value optimized out>, argv=<value optimized out>) at ../../kwin/main.cpp:531
#34 0x00007f425ee0ed8d in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, 
    rtld_fini=<value optimized out>, stack_end=0x7fff176dd738) at libc-start.c:226
#35 0x00000000004006b9 in _start ()
Comment 1 Alain Perrot 2010-07-19 06:51:29 UTC
Another stack trace:

Application: KWin (kwin), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f85137b1780 (LWP 1561))]

Thread 2 (Thread 0x7f84f60a2710 (LWP 1623)):
#0  0x00007f85130286f3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f850f8dc2be in qt_safe_select (nfds=14, fdread=0x2811f60, fdwrite=0x28121f8, fdexcept=0x2812490, orig_timeout=0x0) at kernel/qcore_unix.cpp:82
#2  0x00007f850f8e15eb in QEventDispatcherUNIXPrivate::doSelect (this=0x2811da0, flags=<value optimized out>, timeout=<value optimized out>) at kernel/qeventdispatcher_unix.cpp:219
#3  0x00007f850f8e221b in QEventDispatcherUNIX::processEvents (this=0x27d06e0, flags=) at kernel/qeventdispatcher_unix.cpp:919
#4  0x00007f850f8b1792 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f850f8b1b7c in QEventLoop::exec (this=0x7f84f60a1d90, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f850f7bd22d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f850f8916a8 in QInotifyFileSystemWatcherEngine::run (this=0x26f9dd0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f850f7c01ae in QThreadPrivate::start (arg=0x26f9dd0) at thread/qthread_unix.cpp:266
#9  0x00007f850f52f981 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f851302fd6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f85137b1780 (LWP 1561)):
[KCrash Handler]
#6  DRI2WireToEvent (dpy=0x2518040, event=0x2f0eeb8, wire=0x3163f60) at dri2.c:105
#7  0x00007f851121e17e in _XEnq (dpy=0x2518040, event=0x0) at ../../src/XlibInt.c:907
#8  0x00007f851121c473 in handle_response (dpy=0x2518040, response=0x3163f60, in_XReply=0) at ../../src/xcb_io.c:280
#9  0x00007f851121ca00 in _XReply (dpy=0x2518040, rep=0x7fff12e90b40, extra=<value optimized out>, discard=<value optimized out>) at ../../src/xcb_io.c:555
#10 0x00007f8510da3ad2 in DRI2GetBuffersWithFormat (dpy=0x2518040, drawable=25173838, width=0x3133244, height=0x3133248, attachments=0x7fff12e90c40, count=<value optimized out>, 
    outCount=0x7fff12e90c7c) at dri2.c:445
#11 0x00007f8510da1ea9 in dri2GetBuffersWithFormat (driDrawable=<value optimized out>, width=0x3133244, height=0x3133248, attachments=<value optimized out>, count=<value optimized out>, 
    out_count=0x7fff12e90c7c, loaderPrivate=0x312f270) at dri2_glx.c:482
#12 0x00007f84f45b6a07 in radeon_update_renderbuffers (context=<value optimized out>, drawable=0x3133210, front_only=1 '\001') at radeon_common_context.c:553
#13 0x00007f84f45b0cfd in r600SetTexBuffer2 (pDRICtx=0x29ef110, target=34037, glx_texture_format=<value optimized out>, dPriv=0x3133210) at r600_texstate.c:1003
#14 0x00007f8513394baa in KWin::SceneOpenGL::Texture::bind (this=0x2ff68a8) at ../../kwin/scene_opengl.cpp:1263
#15 0x00007f8511955cc9 in KWin::GLTexture::setWrapMode (this=0x180219d, mode=25174429) at ../../../kwin/lib/kwinglutils.cpp:619
#16 0x00007f8513397346 in KWin::SceneOpenGL::Window::paintDecoration (this=0x2ff6830, decoration=0x2a37740, decorationType=KWin::SceneOpenGL::Window::DecorationTop, region=<value optimized out>, 
    rect=<value optimized out>, data=..., quads=..., updateDeco=true) at ../../kwin/scene_opengl.cpp:1582
#17 0x00007f851339951d in KWin::SceneOpenGL::Window::performPaint (this=0x2ff6830, mask=9, region=) at ../../kwin/scene_opengl.cpp:1505
#18 0x00007f8513389463 in KWin::Scene::finalDrawWindow (this=<value optimized out>, w=<value optimized out>, mask=9, region=<value optimized out>, data=<value optimized out>)
    at ../../kwin/scene.cpp:330
#19 0x00007f85133a1d39 in KWin::EffectsHandlerImpl::drawWindow (this=<value optimized out>, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>)
    at ../../kwin/effects.cpp:232
#20 0x00007f8511949b6c in KWin::Effect::drawWindow (this=<value optimized out>, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../../kwin/lib/kwineffects.cpp:252
#21 0x00007f85133a1dd8 in KWin::EffectsHandlerImpl::drawWindow (this=0x2f2e150, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../kwin/effects.cpp:228
#22 0x00007f8511949b6c in KWin::Effect::drawWindow (this=<value optimized out>, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../../kwin/lib/kwineffects.cpp:252
#23 0x00007f85133a1dd8 in KWin::EffectsHandlerImpl::drawWindow (this=0x2f2e150, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../kwin/effects.cpp:228
#24 0x00007f8511949b6c in KWin::Effect::drawWindow (this=<value optimized out>, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../../kwin/lib/kwineffects.cpp:252
#25 0x00007f85133a1dd8 in KWin::EffectsHandlerImpl::drawWindow (this=0x2f2e150, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../kwin/effects.cpp:228
#26 0x00007f8511949b6c in KWin::Effect::drawWindow (this=<value optimized out>, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../../kwin/lib/kwineffects.cpp:252
#27 0x00007f85133a1dd8 in KWin::EffectsHandlerImpl::drawWindow (this=0x2f2e150, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../kwin/effects.cpp:228
#28 0x00007f8511949b6c in KWin::Effect::drawWindow (this=<value optimized out>, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../../kwin/lib/kwineffects.cpp:252
#29 0x00007f85133a1dd8 in KWin::EffectsHandlerImpl::drawWindow (this=0x2f2e150, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../kwin/effects.cpp:228
#30 0x00007f8511949b6c in KWin::Effect::drawWindow (this=<value optimized out>, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../../kwin/lib/kwineffects.cpp:252
#31 0x00007f85133a1dd8 in KWin::EffectsHandlerImpl::drawWindow (this=0x2f2e150, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../kwin/effects.cpp:228
#32 0x00007f851338810c in KWin::Scene::finalPaintWindow (this=<value optimized out>, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../kwin/scene.cpp:321
#33 0x00007f85133a1e59 in KWin::EffectsHandlerImpl::paintWindow (this=<value optimized out>, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>)
    at ../../kwin/effects.cpp:203
#34 0x00007f84f3b6476c in KWin::PresentWindowsEffect::paintWindow (this=<value optimized out>, w=0x2f3e130, mask=9, region=) at ../../../kwin/effects/presentwindows/presentwindows.cpp:366
#35 0x00007f85133a1ef8 in KWin::EffectsHandlerImpl::paintWindow (this=0x2f2e150, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../kwin/effects.cpp:199
#36 0x00007f84f3b89d17 in KWin::TaskbarThumbnailEffect::paintWindow (this=0x2ff3b00, w=0x2f3e130, mask=9, region=<value optimized out>, data=...)
    at ../../../kwin/effects/taskbarthumbnail/taskbarthumbnail.cpp:70
#37 0x00007f85133a1ef8 in KWin::EffectsHandlerImpl::paintWindow (this=0x2f2e150, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../kwin/effects.cpp:199
#38 0x00007f84f3b89492 in KWin::SlidingPopupsEffect::paintWindow (this=<value optimized out>, w=0x2f3e130, mask=<value optimized out>, region=<value optimized out>, data=...)
    at ../../../kwin/effects/slidingpopups/slidingpopups.cpp:127
#39 0x00007f85133a1ef8 in KWin::EffectsHandlerImpl::paintWindow (this=0x2f2e150, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../kwin/effects.cpp:199
#40 0x00007f84f3b4c73a in KWin::DesktopGridEffect::paintWindow (this=<value optimized out>, w=0x2f3e130, mask=<value optimized out>, region=<value optimized out>, data=...)
    at ../../../kwin/effects/desktopgrid/desktopgrid.cpp:392
#41 0x00007f85133a1ef8 in KWin::EffectsHandlerImpl::paintWindow (this=0x2f2e150, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../kwin/effects.cpp:199
#42 0x00007f84f3b61f3f in KWin::TranslucencyEffect::paintWindow (this=<value optimized out>, w=0x2f3e130, mask=9, region=) at ../../../kwin/effects/translucency/translucency.cpp:180
#43 0x00007f85133a1ef8 in KWin::EffectsHandlerImpl::paintWindow (this=0x2f2e150, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../kwin/effects.cpp:199
#44 0x00007f84f3b91d8d in KWin::CoverSwitchEffect::paintWindow (this=<value optimized out>, w=0x2f3e130, mask=9, region=) at ../../../kwin/effects/coverswitch/coverswitch.cpp:500
#45 0x00007f85133a1ef8 in KWin::EffectsHandlerImpl::paintWindow (this=0x2f2e150, w=0x2f3e130, mask=9, region=<value optimized out>, data=<value optimized out>) at ../../kwin/effects.cpp:199
#46 0x00007f85133896ac in KWin::Scene::paintWindow (this=<value optimized out>, w=0x2ff6830, mask=9, region=) at ../../kwin/scene.cpp:315
#47 0x00007f851338b48a in KWin::Scene::paintSimpleScreen (this=0x29efed0, orig_mask=<value optimized out>, region=<value optimized out>) at ../../kwin/scene.cpp:286
#48 0x00007f8513388185 in KWin::Scene::finalPaintScreen (this=0x29efed0, mask=8, region=<value optimized out>, data=<value optimized out>) at ../../kwin/scene.cpp:179
#49 0x00007f85133a1f76 in KWin::EffectsHandlerImpl::paintScreen (this=<value optimized out>, mask=8, region=) at ../../kwin/effects.cpp:172
#50 0x00007f84f3b64ea2 in KWin::PresentWindowsEffect::paintScreen (this=0x2fa04b0, mask=8, region=) at ../../../kwin/effects/presentwindows/presentwindows.cpp:196
#51 0x00007f85133a200e in KWin::EffectsHandlerImpl::paintScreen (this=0x2f2e150, mask=8, region=) at ../../kwin/effects.cpp:168
#52 0x00007f8511949c7f in KWin::Effect::paintScreen (this=<value optimized out>, mask=8, region=<value optimized out>, data=...) at ../../../kwin/lib/kwineffects.cpp:227
#53 0x00007f85133a200e in KWin::EffectsHandlerImpl::paintScreen (this=0x2f2e150, mask=8, region=) at ../../kwin/effects.cpp:168
#54 0x00007f8511949c7f in KWin::Effect::paintScreen (this=<value optimized out>, mask=8, region=<value optimized out>, data=...) at ../../../kwin/lib/kwineffects.cpp:227
#55 0x00007f85133a200e in KWin::EffectsHandlerImpl::paintScreen (this=0x2f2e150, mask=8, region=) at ../../kwin/effects.cpp:168
#56 0x00007f84f3b48389 in KWin::DesktopGridEffect::paintScreen (this=<value optimized out>, mask=8, region=<value optimized out>, data=...) at ../../../kwin/effects/desktopgrid/desktopgrid.cpp:155
#57 0x00007f85133a200e in KWin::EffectsHandlerImpl::paintScreen (this=0x2f2e150, mask=8, region=) at ../../kwin/effects.cpp:168
#58 0x00007f8511949c7f in KWin::Effect::paintScreen (this=<value optimized out>, mask=8, region=<value optimized out>, data=...) at ../../../kwin/lib/kwineffects.cpp:227
#59 0x00007f85133a200e in KWin::EffectsHandlerImpl::paintScreen (this=0x2f2e150, mask=8, region=) at ../../kwin/effects.cpp:168
#60 0x00007f84f3b940b4 in KWin::CoverSwitchEffect::paintScreen (this=0x2ff07b0, mask=8, region=<value optimized out>, data=...) at ../../../kwin/effects/coverswitch/coverswitch.cpp:124
#61 0x00007f85133a200e in KWin::EffectsHandlerImpl::paintScreen (this=0x2f2e150, mask=8, region=) at ../../kwin/effects.cpp:168
#62 0x00007f85133898d5 in KWin::Scene::paintScreen (this=0x29efed0, mask=0x7fff12e9312c, region=0x7fff12e93250) at ../../kwin/scene.cpp:137
#63 0x00007f851339aae0 in KWin::SceneOpenGL::paint (this=0x29efed0, damage=<value optimized out>, toplevels=<value optimized out>) at ../../kwin/scene_opengl.cpp:748
#64 0x00007f8513384937 in KWin::Workspace::performCompositing (this=<value optimized out>) at ../../kwin/composite.cpp:455
#65 0x00007f8513305e8d in KWin::Workspace::qt_metacall (this=0x2672140, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff12e93400) at ./workspace.moc:583
#66 0x00007f850f8ca7e7 in QMetaObject::activate (sender=0x2672608, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x12) at kernel/qobject.cpp:3280
#67 0x00007f850f8c45d9 in QObject::event (this=0x2672608, e=0x180219d) at kernel/qobject.cpp:1183
#68 0x00007f850ea06cdc in QApplicationPrivate::notify_helper (this=0x2515ed0, receiver=0x2672608, e=0x7fff12e93b50) at kernel/qapplication.cpp:4389
#69 0x00007f850ea0c7cd in QApplication::notify (this=0x7fff12e93f40, receiver=0x2672608, e=0x7fff12e93b50) at kernel/qapplication.cpp:4270
#70 0x00007f8512b2d966 in KApplication::notify (this=0x7fff12e93f40, receiver=0x2672608, event=0x7fff12e93b50) at ../../kdeui/kernel/kapplication.cpp:309
#71 0x00007f850f8b2a6c in QCoreApplication::notifyInternal (this=0x7fff12e93f40, receiver=0x2672608, event=0x7fff12e93b50) at kernel/qcoreapplication.cpp:732
#72 0x00007f850f8e20f2 in QCoreApplication::sendEvent (this=0x25168e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#73 QTimerInfoList::activateTimers (this=0x25168e0) at kernel/qeventdispatcher_unix.cpp:602
#74 0x00007f850f8e222c in QEventDispatcherUNIX::processEvents (this=0x24f2960, flags=) at kernel/qeventdispatcher_unix.cpp:923
#75 0x00007f850eab999f in QEventDispatcherX11::processEvents (this=<value optimized out>, flags=) at kernel/qeventdispatcher_x11.cpp:152
#76 0x00007f850f8b1792 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#77 0x00007f850f8b1b7c in QEventLoop::exec (this=0x7fff12e93e80, flags=) at kernel/qeventloop.cpp:201
#78 0x00007f850f8b5c2b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#79 0x00007f851332262d in kdemain (argc=<value optimized out>, argv=<value optimized out>) at ../../kwin/main.cpp:531
#80 0x00007f8512f67d8d in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, 
    rtld_fini=<value optimized out>, stack_end=0x7fff12e94548) at libc-start.c:226
#81 0x00000000004006b9 in _start ()
Comment 2 Chris Haumesser 2010-07-21 12:10:45 UTC
I can confirm this bug as well. Since upgrading to mesa 7.9.0+git20100716 via xorg-edgers, compositing in KDE has stopped working (I may have skipped a couple of versions in between). The last known working version for me was also the 20100714 build.

When I run kwin from a terminal, the following is printed when trying to enable compositing from System Settings:

kwin(6143) KWin::Workspace::slotReconfigure: Workspace::slotReconfigure()
kwin(6143) KWin::Extensions::init: Extensions: shape: 0x "11"  composite: 0x "4"  render: 0x "b"  fixes: 0x "40"
kwin(6143) KWin::CompositingPrefs::detect: glx version is  1 . 4
kwin(6143) KWin::CompositingPrefs::initGLXContext: Error: couldn't find RGB GLX visual
kwin(6143) KDecorationPlugins::loadPlugin: kwin : path  "/usr/lib/kde4/kwin3_oxygen.so"  for  "kwin3_oxygen"
kwin(6143) KWin::Extensions::init: Extensions: shape: 0x "11"  composite: 0x "4"  render: 0x "b"  fixes: 0x "40"
kwin(6143) KWin::Workspace::setupCompositing: OpenGL compositing
kwin(6143): GLX_SGIX_fbconfig or required GLX functions missing 
kwin(6143): Failed to initialize compositing, compositing disabled

Software :
- Kubuntu Lucid, AMD64
- Linux 2.6.34.1
- KDE SC 4.4.5
- Mesa 7.9.0 (master) from Xorg-edgers PPA repository

Hardware :
- Mobility Radeon HD 3400 Series (RV620)
- ThinkPad T400
Comment 3 Kristian Høgsberg 2010-07-21 13:04:31 UTC
This commit should fix it:

commit 3750ebd540510324ef5ada769537ae05309adadb
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Mon Jul 19 09:37:07 2010 -0400

    glx: Fix drawable lookup in DRI2 event handler
    
    DRI2 events are sent to the X drawable ID used to create the DRI2 drawable,
    not the GLX drawable ID.  So when an event comes in, we need to look up
    the __GLXDRIdrawable by its X drawable ID, which needs a new hash table.
Comment 4 Alain Perrot 2010-07-21 13:28:34 UTC
I still had problem with version 7.9.0+git20100719.3750ebd5-0ubuntu0sarvatt of mesa packages from Xorg-edgers PPA (which, given the version string, I suppose contain the commit you point to): kwin did not segfault, but the whole desktop freezed, with the mouse cursor still moving. I could still switch to a terminal (Ctrl Alt F1) and restart a new X (sudo service kdm restart).

But the newest version 7.9.0+git20100720.bab484a5-0ubuntu0sarvatt of mesa packages seems to work so far.


[Well, some 3D effects that used to work with mesa/r600 and KDE 4.4.x are now unsupported (ie. the cover flow window switching) or dead slow (ie. the session start/end shading) with KDE 4.5, but that's a another issue.]
Comment 5 Alain Perrot 2010-07-21 14:34:03 UTC
After a reboot, KDE failed again to start a session with OpenGL effects enabled... No segfault, screen freezed on KDE start screen, mouse cursor moving.

KDE starts without a problem with XRender effects.
Comment 6 Chris Haumesser 2010-07-21 14:47:50 UTC
The problem persists for me, too. Exact same symptoms as in comment 2, using 7.9.0+git20100720.bab484a5 meas version (latest in xorg-edgers ppa).
Comment 7 Christopher M. Penalver 2016-02-26 07:14:15 UTC
Alain Perrot, Kubuntu Maverick reached EOL on April 10, 2012. For more on this, please see https://wiki.ubuntu.com/Releases.

If this is reproducible with a supported release, it will help immensely if you filed a new report with Ubuntu by ensuring you have the package xdiagnose installed, and that you click the Yes button for attaching additional debugging information running the following from a terminal:
ubuntu-bug xorg

Also, please feel free to subscribe me to it.

For more on why this is helpful, please see https://wiki.ubuntu.com/ReportingBugs.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.