Re: program crashes on SIGSEGV, how debug it?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
-- 
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux