http://bugs.freedesktop.org/show_bug.cgi?id=10417

           Summary: driFlipRenderbuffers() called with NULL fb argument ->
                    CRASH
           Product: Mesa
           Version: CVS
          Platform: All
        OS/Version: Linux (All)
            Status: NEW
          Severity: major
          Priority: medium
         Component: Drivers/DRI/r300
        AssignedTo: dri-devel@lists.sourceforge.net
        ReportedBy: [EMAIL PROTECTED]


When I quit a hung compiz instance of compiz
the X server segfaults like this:

Backtrace:
0: X(xf86SigHandler+0x6a) [0x47f9c8]
1: /lib64/libc.so.6 [0x3001630510]
2: /usr/local/fdo/lib64/modules/dri/r300_dri.so(driFlipRenderbuffers+0)
[0x2aaabdad52c0]
3: /usr/local/fdo/lib64/modules/dri/r300_dri.so(radeonGetLock+0x349)
[0x2aaabdad7e89]
4: /usr/local/fdo/lib64/modules/dri/r300_dri.so(r300FlushCmdBuf+0x67)
[0x2aaabdae02b7]
5: /usr/local/fdo/lib64/modules/dri/r300_dri.so(r300DestroyContext+0x460)
[0x2aaabdadd900]
6: /usr/local/fdo/lib64/modules/dri/r300_dri.so [0x2aaabdad1f2a]
7: /usr/local/fdo/lib64/xorg/modules/extensions//libglx.so [0x2aaaab1f9bb9]
8:
/usr/local/fdo/lib64/xorg/modules/extensions//libglx.so(__glXFreeContext+0x69)
[0x2aaaab1cd0f3]
9: /usr/local/fdo/lib64/xorg/modules/extensions//libglx.so [0x2aaaab1cd423]
10: X(FreeClientResources+0x68) [0x43139c]
11: X(CloseDownClient+0x1a8) [0x448651]
12: X(Dispatch+0x384) [0x448d3e]
13: X(main+0x468) [0x4304fa]
14: /lib64/libc.so.6(__libc_start_main+0xf4) [0x300161d9c4]
15: X(FontFileCompleteXLFD+0x219) [0x42f859]

Applying the following patch, I see the
error message. Not a proposed fix, it's
just to show what's going on.

diff --git a/src/mesa/drivers/dri/r300/radeon_lock.c
b/src/mesa/drivers/dri/r300/radeon_lock.c
index 1a2dfca..cacc383 100644
--- a/src/mesa/drivers/dri/r300/radeon_lock.c
+++ b/src/mesa/drivers/dri/r300/radeon_lock.c
@@ -56,7 +56,10 @@ static void radeonUpdatePageFlipping(radeonContextPtr
radeon)

        radeon->doPageFlip = radeon->sarea->pfState;
         if (!radeon->doPageFlip) {
-           driFlipRenderbuffers(radeon->glCtx->WinSysDrawBuffer, GL_FALSE);
+               if (radeon->glCtx->WinSysDrawBuffer)
+                       driFlipRenderbuffers(radeon->glCtx->WinSysDrawBuffer,
GL_FALSE);
+               else
+                       fprintf(stderr, "Flipping with NULL WinSysDrawBuffer");
         }

        use_back = (radeon->glCtx->DrawBuffer->_ColorDrawBufferMask[0] ==
BUFFER_BIT_BACK_LEFT);


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to