0

My X server started to crash today. When I look into the log files, I see:

Backtrace:
0: /usr/bin/Xorg (xorg_backtrace+0x36) [0x564616]
1: /usr/bin/Xorg (0x400000+0x168349) [0x568349]
2: /lib64/libpthread.so.0 (0x7f1d1618b000+0xf140) [0x7f1d1619a140]

To map the addresses to functions/line numbers, I installed the package xorg-x11-server-debuginfo. It contains a file /usr/lib/debug/usr/bin/Xorg.debug. The file(1) command says:

/usr/lib/debug/usr/bin/Xorg.debug: 
ELF 64-bit LSB executable, x86-64, version 1 (SYSV), 
dynamically linked (uses shared libs), for GNU/Linux 2.6.32, 
BuildID[sha1]=0x08d976cf2aeb60105f32349bfce3297a72c8f96f,
not stripped

which sounds promising. How do I use the debug symbols in this file to find out where X crashed?

Aaron Digulla
  • 321,842
  • 108
  • 597
  • 820

1 Answers1

2

You do now have the right debugging symbols available, but will need to reproduce the crash with X running under gdb, or get X to spit out a core dump and load that under gdb, to make use of them. The default backtrace printing method (glibc backtrace_symbols(), I think) doesn't know how to use external debug symbols.

This webpage might help: http://wiki.debian.org/XStrikeForce/XserverDebugging