program crashes on SIGSEGV, how debug it?
fedora
fedora at ayni.com
Wed Dec 8 10:03:20 UTC 2010
Hi Franta
try to run it under strace
strace /path/to/your_failing_program
of, in case it is a server:
strace -p PID-of-your-failing-program
strace logs all system calls in the error log.
suomi
On 2010-12-08 08:52, Frantisek Hanzlik wrote:
> 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