[xorg-bugzilla-noise] [Bug 1015] New: Composite & ati driver crash during window activity.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Aug 8 15:12:42 PDT 2004


Please do not reply to this email: if you want to comment on the bug, go to          
the URL shown below and enter yourcomments there.   
 
https://freedesktop.org/bugzilla/show_bug.cgi?id=1015        
   
           Summary: Composite & ati driver crash during window activity.
           Product: xorg
           Version: CVS_head
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DDX/xorg
        AssignedTo: xorg-bugzilla-noise at freedesktop.org
        ReportedBy: g-lite at kochen.nl


X.org crashes after a short period of moving, creating, closing, etc. windows
(in my case, repeatedly opening and closing the blackbox root menu) using
Composite, xcompmgr and the default ati drivers. This is on x86, Radeon 9700 Pro
(R300), CVS HEAD from somewhere this morning (2004-08-08).

Short backtrace:
--------------------------------------------------
(gdb) bt
#0  0xb7ea5a11 in kill () from /lib/libc.so.6
#1  0xb7ea5655 in raise () from /lib/libc.so.6
#2  0xb7ea6cb8 in abort () from /lib/libc.so.6
#3  0x081bbf90 in compPositionWindow (pWin=0x8927c28, x=601, y=164) at
compwindow.c:132
#4  0x081e61b0 in miMoveWindow (pWin=0x8927c28, x=601, y=164,
pNextSib=0x88c6d70, kind=VTMove) at miwindow.c:528
#5  0x081bc565 in compMoveWindow (pWin=0x8927c28, x=600, y=163, pSib=0x88c6d70,
kind=VTMove) at compwindow.c:300
#6  0x080fc7a5 in ConfigureWindow (pWin=0x8927c28, mask=3, vlist=0xafb77014,
client=0x88c1a50) at window.c:2476
#7  0x080d347b in ProcConfigureWindow (client=0x88c1a50) at dispatch.c:771
#8  0x080d2abc in Dispatch () at dispatch.c:455
#9  0x080eaa96 in main (argc=2, argv=0xbffff544, envp=0xbffff550) at main.c:442
--------------------------------------------------

Here's the code in compwindow.c leading up to this:
--------------------------------------------------
Bool
compPositionWindow (WindowPtr pWin, int x, int y)
{
    ScreenPtr	    pScreen = pWin->drawable.pScreen;
    CompScreenPtr   cs = GetCompScreen (pScreen);
    Bool	    ret = TRUE;

    pScreen->PositionWindow = cs->PositionWindow;
    /*
     * "Shouldn't need this as all possible places should be wrapped
     *
    compCheckRedirect (pWin);
     */
    if (pWin->redirectDraw != (pWin->viewable && (GetCompWindow(pWin) != NULL)))
	abort ();
    if (pWin->redirectDraw)
    {
	[...]
    }
    [...]
}
--------------------------------------------------

The call to abort () is the crasher here. The part of the if-statement failing
is pWin->viewable as can be seen from this gdb session:
--------------------------------------------------
(gdb) frame 3
#3  0x081bbf90 in compPositionWindow (pWin=0x8927c28, x=601, y=164) at
compwindow.c:132
132             abort ();
(gdb) print pWin->redirectDraw
$1 = 1
(gdb) print pWin->viewable
$2 = 0
(gdb) print GetCompWindow(pWin)
$3 = (struct _CompWindow *) 0x8847180
--------------------------------------------------

Here's partially the output of 'bt full':
--------------------------------------------------
#3  0x081bbf90 in compPositionWindow (pWin=0x8927c28, x=601, y=164) at
compwindow.c:132
        pScreen = 0x88198b0
        cs = 0x8801a88
        ret = 1
#4  0x081e61b0 in miMoveWindow (pWin=0x8927c28, x=601, y=164,
pNextSib=0x88c6d70, kind=VTMove) at miwindow.c:528
        pParent = 0x8878bf8
        WasViewable = 0
        bw = 1
        oldRegion = 0x0
        oldpt = {x = 1011, y = 421}
        anyMarked = 0
        pScreen = 0x88198b0
        windowToValidate = 0x62
        dosave = 0
        pLayerWin = 0x0
#5  0x081bc565 in compMoveWindow (pWin=0x8927c28, x=600, y=163, pSib=0x88c6d70,
kind=VTMove) at compwindow.c:300
        pScreen = 0x88198b0
        cs = 0x8801a88
#6  0x080fc7a5 in ConfigureWindow (pWin=0x8927c28, mask=3, vlist=0xafb77014,
client=0x88c1a50) at window.c:2476
        pSib = 0x88c6d70
        pParent = 0x8878bf8
        sibwid = 0
        index2 = 5
        tmask = 0
        pVlist = (XID *) 0xafb7701c
        x = 600
        y = 163
        beforeX = 1010
        beforeY = 420
        w = 96
        h = 212
        bw = 1
        action = 1
        smode = 0
        win_owner = 0x88c1a50
        ag_leader = 0x0
        event = [...snipped, huge event struct...]
#7  0x080d347b in ProcConfigureWindow (client=0x88c1a50) at dispatch.c:771
        pWin = 0x8927c28
        stuff = (xConfigureWindowReq *) 0xafb77008
        result = 16
        len = 2
#8  0x080d2abc in Dispatch () at dispatch.c:455
        clientReady = (int *) 0xbffff084
        result = 20
        client = 0x88c1a50
        nready = 0
        icheck = (HWEventQueuePtr *) 0x826ed84
        start_tick = 4840
#9  0x080eaa96 in main (argc=2, argv=0xbffff544, envp=0xbffff550) at main.c:442
        i = 1
        j = 2
        k = 2
        error = 0
        xauthfile = 0x0
        alwaysCheckForInput = {0, 1}
--------------------------------------------------        
   
   
--         
Configure bugmail: https://freedesktop.org/bugzilla/userprefs.cgi?tab=email       
   
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the xorg-bugzilla-noise mailing list