Radeon 9200 hangs: How to debug?

Michel Dänzer michel at daenzer.net
Thu Nov 11 21:08:07 PST 2004


On Thu, 2004-11-11 at 20:45 -0500, Randall Nortman wrote:
> As suggested, the next time this hang occured (about an hour ago), I
> logged in remotely as root, ran gdb, and attached to the process.  A
> backtrace showed that it was sitting in ioctl() in libc6.so.  Above
> that on the call stack was xf86ioctl(), and everything above that was
> obscured because I don't have debugging symbols compiled in.  Keep in
> mind that CPU utilization is at 100% (all of it in the X process) when
> the hang occurs.

Typical symptoms of a graphics chip hang/lockup/...

> So much for the debugger.  I suppose if I compile in debugging symbols
> I could get more, but I haven't gotten that far yet.

You may also consider building with

#define MakeDllModules YES

or you need a debugger that understands XFree86 modules or a non-modular
server.


> One interesting thing to note is that I was able to get the system
> back without rebooting this time.  Here's what I did (after detaching
> gdb from the X process):
> 
> - Kill everything associated with the hung X session (startx, xinit,
>   etc.).  Everything other than X itself dies, which won't even die
>   with kill -9.  The screen is still locked and the console is
>   unusable.  (Not even ctrl-alt-del.)
> 
> - Try to run startx via ssh; it complains about a file in /tmp left by
>   the hung server that needs to be removed.
> 
> - Remove that and try again.  Screen gets corrupted (wierd colors, but
>   nothing moving).

Nasty. Does it also work if you start the second server on :1 instead of
removing the file?

> - Kill that server; it dies cleanly.
> 
> - Run startx again.  Screen corruption disappears, server starts
>   normally, desktop comes up as usual.  I can now switch to other
>   virtual consoles and all is well.
> 
> - At some point in that process, the original hung X process finally
>   died, but I didn't notice exactly when.
> 
> Any new ideas?  Is any of that surprising to anybody?

That you managed to recover without rebooting. :\


So, have you tried whether disabling RenderAccel works around the hangs?


-- 
Earthling Michel Dänzer      |     Debian (powerpc), X and DRI developer
Libre software enthusiast    |   http://svcs.affero.net/rm.php?r=daenzer



More information about the xorg mailing list