program crashes on SIGSEGV, how debug it?

Frantisek Hanzlik franta at hanzlici.cz
Tue Dec 14 11:59:05 UTC 2010


James Mckenzie wrote:
> fedora <fedora at ayni.com> wrote:
> 
> Interleave post please...
>>
>> suomi
>>
>> On 2010-12-08 13:10, Frantisek Hanzlik wrote:
>>> fedora wrote:
>>>> 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
....
> 
> And here on a 32 bit one?
> 
> James McKenzie
> 

Hello fedora and James,

thanks for Your reccomendations. It seems now as problem is (almost) solved -
glibc Linux dynamic loader (ld.so) in Fedora 14 probably badly resolve
references and program crashes due it. (Fedora 14 has still glibc with
suspicious version 2.12.90, to full-2.13 probably something is absent)

Running program as: "LD_BIND_NOW=whatever /path/to/program" solve program
crashing. Maybe linking it with option "-Wl,-z now" should help too, I will
try it later.

Of course, there may be some other program fault, e.g. program may overwrite
its memory (and I not know how detect/debug it) - then I'm not sure when
report it at Bugzilla as glibc bug. Advice anyone?











More information about the users mailing list