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} --------------------------------------------------
*** This bug has been marked as a duplicate of 998 ***
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.