program crashes on SIGSEGV, how debug it?
Frantisek Hanzlik
franta at hanzlici.cz
Wed Dec 8 07:52:29 UTC 2010
I compile program (on F14 i386), but this crashes after start (probably in some
initialization phase) on SEGV. After installing appropriate debuginfo packages,
its backtrace is this:
Program received signal SIGSEGV, Segmentation fault.
_dl_lookup_symbol_x (undef_name=0x30bde3 "using_xterm", undef_map=0x862e0a0,
ref=0xbffef550, symbol_scope=0x862e258, version=0x0, type_class=1, flags=1,
skip_map=0x0) at dl-lookup.c:713
713 {
(gdb) bt
#0 _dl_lookup_symbol_x (undef_name=0x30bde3 "using_xterm", undef_map=0x862e0a0,
ref=0xbffef550, symbol_scope=0x862e258, version=0x0, type_class=1,
flags=1, skip_map=0x0) at dl-lookup.c:713
#1 0x00110c98 in _dl_fixup (l=<value optimized out>, reloc_arg=<value optimized
out>) at dl-runtime.c:118
#2 0x001174f0 in _dl_runtime_resolve () at ../sysdeps/i386/dl-trampoline.S:37
#3 0x0030e1eb in terminal_initialize () at terminal.c:404
#4 0x080e5297 in iodev_init () at dev_list.c:107
#5 0x0805e335 in main (argc=1, argv=0xbffff764) at emu.c:426
Know anyone what about it? These points #2 - #0 are beyond all my understanding.
Maybe they are some glibc routines? Or GDB own routines?
Eventually know anyone some links/reference to cram course about this problems?
For clarification, this program is probably OK - compiled from same sources and
with same options it run on several F13/i386 machines, and, what weird, it run
on two F14/i386 PCs too. But on other two or three PCs crashes as above.
Referenced line in "terminal.c" is:
403
404 if (using_xterm())
405 Video_term.change_config = term_change_config;
and function "using_xterm()" is defined in same source file as:
305
306 int using_xterm(void)
307 {
308 char *term = getenv("TERM");
309
310 if (term == NULL)
311 return 0;
312
313 return !strncmp("xterm", term, 5) ||
314 !strncmp("rxvt", term, 4) ||
315 !strcmp("dtterm", term);
316 }
317
Many thanks in advance, Franta Hanzlik
More information about the users
mailing list