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

Reply via email to