[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