Radeon 9200 hangs: How to debug?

Randall Nortman xorglist at wonderclown.org
Fri Nov 12 06:05:45 PST 2004


On Fri, Nov 12, 2004 at 12:08:07AM -0500, Michel D?nzer wrote:
> On Thu, 2004-11-11 at 20:45 -0500, Randall Nortman wrote:
[...]
> > 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.

You'll have to forgive my complete ignorance of all this -- I've been
using XF86 for years, and now X.org for months, but it's always just
worked for me in the past (once I got through the always painful
process of getting the resolution and refresh rate right), so I never
bothered with internals.  Given that I'm running Gentoo (and therefore
Gentoo is building X and gdb for me), which of these options is
best/easiet?  I suspect, actually, that I'll need to build one or the
other from tarball, outside of Gentoo's control, in order to have
enough control, no?

(For example, where does that MakeDLLModules definition go?  Can that
be an option to configure, or do I manually edit some header after I
run configure?)

> > 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?
[...]

Yes, I also did that (and have done that before), and the second
server seems to start just fine, except that I can't switch to vt8
(where :1 is running) while vt7 is hung.  Starting :1 on vt8 did not
create any corruption on the vt7 (:0) screen.  After I managed to
regain control of vt7 with a new server on :0, I was able to switch to
vt8, and lo and behold, there was :1 humming along happily.  I may try
to be more systematic about starting :1 next time, since I don't
remember exactly when I did that nor what was in its log.


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

No, but I'll do that now.  Given that the hangs are unpredictable, I
won't know if it's worked until it either hangs again or keeps running
for about 3 weeks straight, which I think is longer than I've gone
before without a hang.  I'll be sure to play ut2k4 at least an hour a
day in order to encourage another hang -- all in the name of improving
free software, of course! ;)

Thanks for the help,

Randall



More information about the xorg mailing list