Program terminated with signal 11, Segmentation fault in do_lookup_x

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

 



Hi,
I got some core dumps of my code due to signal 11, Segmentation fault in do_lookup_x.
 
The running environment is:
2.6.24.7-9.smp.gcc3.4.x86_64
glibc=2.3.6-10-1
 
Below is the detailed back strace:
----------------------------------------
(gdb) bt full
#0  do_lookup_x (undef_name=0x2af785f9cbee "__errno_location", hash=202084270, ref=0x2af785f9ca90, result=0x4b013770, 
scope=0x15, i=10, 
    version=0x2af787c4ac80, flags=1, skip=0x0, type_class=1) at do-lookup.h:78
 symtab = (const Elf64_Sym *) 0xb00a
 strtab = 0xb000 
 verstab = (const Elf64_Half *) 0x2af786f8a6f6
 symidx = 1066
sym = (const Elf64_Sym *) 0x113fa
 num_versions = 0
 versioned_sym = (const Elf64_Sym *) 0x0
 list = (struct link_map **) 0x2af787c4a830
 n = 21
 map = (struct link_map *) 0x2af78666f980
 __PRETTY_FUNCTION__ = "do_lookup_x"
#1  0x00002af784d70441 in _dl_lookup_symbol_x (undef_name=0x2af785f9cbee "__errno_location", undef_map=0x2af785949960, 
ref=0x4b0137d8, 
    symbol_scope=0x2af785949ca8, version=0x2af787c4ac80, type_class=1, flags=1, skip_map=0x0) at dl-lookup.c:232
 res = 22
 start = 3198
 hash = 202084270
 current_value = {s = 0x0, m = 0x0}
 scope = (struct r_scope_elem **) 0x2af785949ca8
 __PRETTY_FUNCTION__ = "_dl_lookup_symbol_x"
 i = 0
 protected = -2022338828
#2  0x00002af784d73164 in fixup (l=0x2af785949960, reloc_offset=45066) at dl-runtime.c:98
 version = (const struct r_found_version *) 0x16
 strtab = 0x15 
 reloc = (const Elf64_Rela * const) 0xb00a
 sym = (const Elf64_Sym *) 0x2af785f9ca90
 rel_addr = (void * const) 0x2af7860a2e58
 result = 0x2af787c4a830
 value = 3198
 __PRETTY_FUNCTION__ = "fixup"
#3  0x00002af784d73012 in _dl_runtime_resolve () at dl-runtime.c:62
 stack_pointer = 0x4b0137f0 ""
#4  0x00002af785f9f3dd in log_message () from /usr/lib64/libcommonlog.so.1
No symbol table info available.
#5  0x00002af785fa0e12 in logger_log () from /usr/lib64/libcommonlog.so.1
No symbol table info available.
#6  0x00002af78515c94d in Net::SendThread (arg=0x2af785f9ce43) at tracer.hxx:88
 conn = (Conn *) 0x2aaaab6113d0
 __FUNCTION__ = "SendThread"
#7  0x0000000000000fff in ?? ()
No symbol table info available.
#8  0x0000000000001000 in ?? ()
No symbol table info available.
#9  0x00002af78792335a in start_thread () from /lib64/tls/libpthread.so.0
No symbol table info available.
#10 0x00002af7877ae473 in clone () from /lib64/tls/libc.so.6
 fstab_state = {fs_fp = 0x0, fs_buffer = 0x0, fs_mntres = {mnt_fsname = 0x0, mnt_dir = 0x0, mnt_type = 0x0, mnt_opts = 0x0, 
    mnt_freq = 0, mnt_passno = 0}, fs_ret = {fs_spec = 0x0, fs_file = 0x0, fs_vfstype = 0x0, fs_mntops = 0x0, fs_type = 0x0, 
fs_freq = 0, 
    fs_passno = 0}}
 __elf_set___libc_subfreeres_element_fstab_free__ = (const void *) 0x2af7877df690
 
(gdb) f 0
(gdb)info registers
info register
rax            0xc7e 3198
rbx            0x42a 1066
rcx            0x2af787c4a830 47242623100976
rdx            0x16 22
rsi            0xb00a 45066
rdi            0x2af785f9ce43 47242593029699
rbp            0x2af78666f980 0x2af78666f980
rsp            0x4b0135e0 0x4b0135e0
r8             0x15 21
r9             0x0 0
r10            0x2af785949960 47242586397024
r11            0x20 32
r12            0x113fa 70650
r13            0x42a 1066
r14            0xa 10
r15            0x22 34
rip            0x2af784d700aa 0x2af784d700aa 
eflags         0x10202 66050
cs             0x33 51
ss             0x2b 43
ds             0x0 0
es             0x0 0
fs             0x63 99
gs             0x0 0
---------------------------------------
According to the bt, it cores at do-lookup.h 78 
75   sym = &symtab[symidx];
76
77   assert (ELF_RTYPE_CLASS_PLT == 1);
78  if ((sym->st_value == 0 /* No value.  */
And undef_name is "__errno_location" seems it try to find error_no.
However, I can not figure out what cause this.
I tried to use Valgrind and fortify, but can not find any error or info may relate to this.
Besides, I got 8 core dumps on 8 nodes at almost the same time. After that ,the service restarted, and run about 1 week till 
now and the core dump does not happen again.
I am just look at the dynamic loading of the lib. 
Any ideas or suggestion on this will be really appreciated.
More info will be added if needed.
 
Thanks!
Fan
_________________________________________________________________
张三挖到了元宝,小美又掉进陷阱了,快来MClub与好友齐乐乐!立刻访问!
http://club.msn.cn/?from=3

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux