|
Bugzilla – Full Text Bug Listing |
| Summary: | intel [GM45] Kwin 4.5 crashes with VSync enabled | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 11.3 | Reporter: | Michal Vyskocil <mvyskocil> |
| Component: | KDE4 Workspace | Assignee: | E-mail List <kde-maintainers> |
| Status: | VERIFIED NORESPONSE | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Critical | ||
| Priority: | P3 - Medium | CC: | ctrippe, forgotten_kHYb7eJGnH |
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | Development | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Michal Vyskocil
2010-08-25 07:28:51 UTC
(In reply to comment #0) > > Installed related packages > kwin-4.5.0-493.4.x86_64 (KDE:KDE4:Factory:Desktop) > xorg-x11-server-7.5_1.8.0-10.3.1.x86_64 (11.3-update-test) > kernel-desktop-2.6.35.1-3.1.x86_64 (Kernel:HEAD) > I forgot - the reason why I have newest x server and kernel is I wanted to check if more recent versions do not contain a fix for this bug. If you think the reproducer on clean 11.3 (+ KDE 4.5) is needed, please let me know. The crash is in GLX -> X. Well, the crash is in Mesa (./src/glx/dri2_glx.c). How did you enable VRefresh? Sorry, I mean Vsync. Whatever. I mean the value for vblank_mode ... Braindead fix (untested).
--- src/glx/dri2_glx.c.orig 2010-08-25 14:56:59.000000000 +0200
+++ src/glx/dri2_glx.c 2010-08-25 15:00:01.000000000 +0200
@@ -223,6 +223,8 @@ static int
dri2DrawableGetMSC(__GLXscreenConfigs *psc, __GLXDRIdrawable *pdraw,
int64_t *ust, int64_t *msc, int64_t *sbc)
{
+ if (!pdraw)
+ return False;
return DRI2GetMSC(psc->dpy, pdraw->xDrawable, ust, msc, sbc);
}
There's a checkbox on Advanced Tab of kwin, which is called Use VSync - don't know what's doing, I just randomly tested all possible kwin settings. I found the similar problem (also due kwin's crash) and a proposed patch [1], which was not accepted by upstream [2], because it just hides the main problem, which is few lines above in GetGLXDRIDrawable, which should not return NULL according upstream. Lubos, can you check the question in [2], please? http://lists.freedesktop.org/archives/mesa-dev/2010-July/001604.html http://lists.freedesktop.org/archives/mesa-dev/2010-July/001638.html > Installed related packages > kwin-4.5.0-493.4.x86_64 (KDE:KDE4:Factory:Desktop) project doesn't exist. I've updated KDE4 to 4.5 from KDE:Distro:Factory/openSUSE_11.3 instead. --> kwin-4.5.0-493.4.i586 > xorg-x11-server-7.5_1.8.0-10.3.1.x86_64 (11.3-update-test) xorg-x11-server-7.5_1.8.0-10.3.1.i586 > kernel-desktop-2.6.35.1-3.1.x86_64 (Kernel:HEAD) Meanwhile no longer available. 2.6.36-rc2 give me a blank screen (KMS broken?), so I've installed the update kernel for 11.3 instead. kernel-desktop-2.6.34.4-0.1.1.i586 Anyway, I can't reproduce that issue at all on my GM45 machine. (In reply to comment #8) > http://lists.freedesktop.org/archives/mesa-dev/2010-July/001604.html The patch is for a later Mesa version. For now I'm going to apply my patch and provide you a package for testing, since I can't reproduce the issue. (In reply to comment #9) > Meanwhile no longer available. 2.6.36-rc2 give me a blank screen (KMS broken?), > so I've installed the update kernel for 11.3 instead. I have this problem in .36 from Kernel:HEAD too. It's independent on kernel/X version. > > kernel-desktop-2.6.34.4-0.1.1.i586 > > Anyway, I can't reproduce that issue at all on my GM45 machine. That's sad (In reply to comment #10) > (In reply to comment #8) > > http://lists.freedesktop.org/archives/mesa-dev/2010-July/001604.html > > The patch is for a later Mesa version. For now I'm going to apply my patch and > provide you a package for testing, since I can't reproduce the issue. OK, I'll retest it asap. Thanks a lot. Mesa packages including the patch will be available shortly via http://beta.suse.com/private/sndirsch/bug634305/ # rpm --force Mesa-7.8.2-1.x86_64.rpm \ Mesa-debuginfo-7.8.2-1.x86_64.rpm \ Mesa-debugsource-7.8.2-1.x86_64.rpm \ Mesa-devel-7.8.2-1.x86_64.rpm # rpm --changelog -q Mesa-7.8.2-1.x86_64.rpm * Do Aug 26 2010 sndirsch@suse.de - sig11-bug634305.diff * possibly fixes segfault in Mesa on intel-GM45 machines when VSync has been enabled for desktop effects (bnc #634305) Did not help, there are tons of places which segfaults on empty pdraw.
Application: KWin (kwin), signal: Segmentation fault
[KCrash Handler]
#6 dri2WaitForMSC (pdraw=0x0, target_msc=0, divisor=2, remainder=1, ust=0x7fff6f7d7798, msc=0x7fff6f7d7790, sbc=0x7fff6f7d7788) at dri2_glx.c:240
#7 0x00007f94dafd6085 in __glXWaitVideoSyncSGI (divisor=2, remainder=1, count=0x7fff6f7d77ec) at glxcmds.c:2364
#8 0x00007f94dd529c3c in KWin::SceneOpenGL::waitSync (this=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/scene_opengl.cpp:782
#9 0x00007f94dd53d570 in KWin::SceneOpenGL::flushBuffer (this=0x751d50, mask=<value optimized out>, damage=...) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/scene_opengl.cpp:830
#10 0x00007f94dd587530 in KWin::SceneOpenGL::paint (this=0x751d50, damage=..., toplevels=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/scene_opengl.cpp:761
#11 0x00007f94dd5683f9 in KWin::Workspace::performCompositing (this=0x741ba0) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/composite.cpp:454
#12 0x00007f94dd595c15 in KWin::Workspace::qt_metacall (this=0x741ba0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff6f7d7c30)
at /usr/src/debug/kdebase-workspace-4.5.0/build/kwin/workspace.moc:583
#13 0x00007f94d9b85a1f in QMetaObject::activate (sender=0x742068, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3295
#14 0x00007f94d9b8322e in QObject::event (this=0x742068, e=0x7fff6f7d83d0) at kernel/qobject.cpp:1212
#15 0x00007f94d8d464d4 in QApplicationPrivate::notify_helper (this=0x633400, receiver=0x742068, e=0x7fff6f7d83d0) at kernel/qapplication.cpp:4302
#16 0x00007f94d8d4eaca in QApplication::notify (this=<value optimized out>, receiver=0x742068, e=0x7fff6f7d83d0) at kernel/qapplication.cpp:4185
#17 0x00007f94dccda0b6 in KApplication::notify (this=0x7fff6f7d88e0, receiver=0x742068, event=0x7fff6f7d83d0) at /usr/src/debug/kdelibs-4.5.0/kdeui/kernel/kapplication.cpp:310
#18 0x00007f94d9b71e4c in QCoreApplication::notifyInternal (this=0x7fff6f7d88e0, receiver=0x742068, event=0x7fff6f7d83d0) at kernel/qcoreapplication.cpp:726
#19 0x00007f94d9b9d0c9 in sendEvent (this=0x633df0) at kernel/qcoreapplication.h:215
#20 QTimerInfoList::activateTimers (this=0x633df0) at kernel/qeventdispatcher_unix.cpp:618
#21 0x00007f94d9b9d8c0 in QEventDispatcherUNIX::processEvents (this=0x612010, flags=...) at kernel/qeventdispatcher_unix.cpp:939
#22 0x00007f94d8de7cbc in QEventDispatcherX11::processEvents (this=0x612010, flags=...) at kernel/qeventdispatcher_x11.cpp:152
#23 0x00007f94d9b71292 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#24 0x00007f94d9b71495 in QEventLoop::exec (this=0x7fff6f7d8820, flags=...) at kernel/qeventloop.cpp:201
#25 0x00007f94d9b7588b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#26 0x00007f94dd594314 in kdemain (argc=<value optimized out>, argv=0x7fff6f7d88e0) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/main.cpp:531
#27 0x00007f94dd18bb7d in __libc_start_main (main=0x400770 <main(int, char**)>, argc=1, ubp_av=0x7fff6f7d8ef8, init=<value optimized out>, fini=<value optimized out>,
rtld_fini=<value optimized out>, stack_end=0x7fff6f7d8ee8) at libc-start.c:226
#28 0x0000000000400699 in _start () at ../sysdeps/x86_64/elf/start.S:113
Anyway please read what upstream says [1]. The main problem is very probably the fact GetGLXDRIDrawable returns NULL, which should not happen. Sorry, I do not understand the details, but the bug might be still in kwin if it use the DRI2 drawables incorrectly.
[1] http://lists.freedesktop.org/archives/mesa-dev/2010-July/001638.html
Ok. I understand. That is more likely an application/toolkit bug then. Reassigning back. Is this still a problem with KDE 4.6? no response to needinfo closing... |