Xserver and gdb
Jacek Popławski
jpopl at interia.pl
Sat Jan 28 07:26:34 PST 2006
Hello.
I am programmer, I know how to use gdb, I have no experience with
debugging or programming X, I've read "DebuggingTheXserver" in wiki.
After each X crash/lock I go to another computer, use ssh to connect, then "gdb
/usr/bin/X pid", and then store backtrace into the file. I can continue process
(with "c"), but server doesn't respond to mouse/keyboard input.
I've also tried to use gdb on non-crashed X, and in that case after "c" server
is working just as before.
I've tried many combinations of driver versions, often I use Mesa CVS
and drm CVS, now I just have installed xorg7 from binary packages
(without full debugging symbols) and drm from stable kernel.
I removed all AGP options and Composite from xorg.conf as people on irc
suggested, EXA is still enabled.
The point is, that gdb backtrace still looks similiar, and I am just curious is
it usefull at all, or is it plain bad?
Do I understand correctly that X are not multithreaded? I understand that
Xserver is different thread that OpenGL application. But if X are
single-thread, that gdb backtrace must be good one (assuming symbols are good).
Am I completly wrong?
Or it is just some kind of deadlock, and Xserver is working, just input and
output are waiting for something?
Anyway, last crash backtrace is:
#0 0xffffe410 in ?? ()
#1 0xbf8d9998 in ?? ()
#2 0x00000000 in ?? ()
#3 0x00006444 in ?? ()
#4 0xb7e51e69 in ioctl () from /lib/tls/libc.so.6
#5 0x080e6530 in xf86ioctl ()
#6 0xb7a11a92 in drmCommandNone () from /usr/lib/xorg/modules/linux/libdrm.so
#7 0xb79d0e1a in RADEONWaitForIdleCP (pScrn=0x82139e8)
at radeon_commonfuncs.c:137
#8 0xb79f7c0a in RADEONSyncCP (pScreen=0xfffffff0, marker=0)
at radeon_exa_funcs.c:64
#9 0xb782b340 in exaWaitSync () from /usr/lib/xorg/modules/libexa.so
#10 0xb782bbfc in exaPrepareAccess () from /usr/lib/xorg/modules/libexa.so
#11 0xb782aa35 in ExaCheckPolylines () from /usr/lib/xorg/modules/libexa.so
#12 0x081549be in DamageExtensionInit ()
#13 0x0808492e in ProcPolyLine ()
#14 0x08089389 in Dispatch ()
#15 0x0806fcc6 in main ()
Should I:
- recompile X/Mesa/drm with debugging symbols because important stuff is "??"
or symbols are wrong?
- submit such backtraces as bug?
- fix something obvious?
--
Free Software - find interesting programs and change them
NetHack - meet interesting creatures, kill them and eat their bodies
Usenet - meet interesting people from all over the world and flame them
Decopter - unrealistic helicopter simulator, get it from http://decopter.sf.net
More information about the xorg
mailing list