Hi,
On Mon, May 21, 2001 at 02:15:18PM -0600, Jeff Hartmann wrote:
> > On Mon, May 21, 2001 at 01:25:59PM -0600, Jeff Hartmann wrote:
> >> Could you make a debug build (add "#define DoLoadableServer NO" to your
> >> host.def), and step through the RADEONSave and RADEONModeInit functions
> >> in gdb and see if the lockup happens there?
> > Can do. Do you care if I build on the trunk or mesa-3.5-branch?
> Either one is fine.
Done.
There is a 100% correlation between the graphics setup resulting in a
corrupt mode (top inch of the screen curving off to the right with the
default X weave background) and the lockup, but the lockup actually
happens after the corrupt mode has been initialised.
After mode setup, I can still trace through the X server with gdb
until we start copying manually into the card's video memory. In
particular, the lockup happens (always) in RADEONLoadCursorImage,
called from xf86CursorSetCursor with backtrace
#0 xf86CursorSetCursor (pScreen=0x8534078, pCurs=0x85ce318, x=640, y=512)
at xf86Cursor.c:340
#1 0x08220227 in miPointerUpdate () at mipointer.c:352
#2 0x0821ff34 in miPointerDisplayCursor (pScreen=0x8534078, pCursor=0x85ce318)
at mipointer.c:175
#3 0x08188513 in DefineInitialRootWindow (win=0x8558c00) at events.c:2108
#4 0x0818f123 in main (argc=1, argv=0xbffff994, envp=0xbffff99c) at main.c:434
which calls xf86SetCursor, which at line 137:
137 (*infoPtr->LoadCursorImage)(infoPtr->pScrn, bits);
calls RADEONLoadCursorImage, which at line 156/157:
156 for (y = 0; y < 64; y++) {
157 *d++ = *s++;
... hangs a dozen or so copies into the loop. The machine is live
(albeit with a corrupt display) up until this point.
If the mode setup works correctly, the hang never happens. If the
mode is corrupt at setup, the hang always happens, and the 4 times I
traced it deep enoug it was always hanging in RADEONLoadCursorImage.
Correct mode setup appears to happen randomly with probability about
25%.
Cheers,
Stephen
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dri-devel