Radeon 9200 hangs: How to debug?
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
> 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