This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug dynamic-link/20972] New: ld-linux crashing with SIGSEGV when preloading libesets_pac.so to libc.so


https://sourceware.org/bugzilla/show_bug.cgi?id=20972

            Bug ID: 20972
           Summary: ld-linux crashing with SIGSEGV when preloading
                    libesets_pac.so to libc.so
           Product: glibc
           Version: 2.24
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: dynamic-link
          Assignee: unassigned at sourceware dot org
          Reporter: krizan at eset dot sk
  Target Milestone: ---

Created attachment 9700
  --> https://sourceware.org/bugzilla/attachment.cgi?id=9700&action=edit
output of libc run

I have a problem with latest glibc 2.24 and our on-access preload library on
64bit Fedora 25 (the same also with glibc 2.17 on CentOS 7 and on 32bit archs).
It seems, that the dynamic linker is crashing with SIGSEGV while preloading
libesets_pac.so when libc.so is started as a normal program:

LD_DEBUG=all LD_PRELOAD=./libesets_pac.so /lib64/libc-2.24.so > libc.txt 2>&1

I got a populated backtrace only when attaching gdb to the shell and following
forked child:

#0  0x00005623257aa717 in _dl_vdso_vsym (
    name=name@entry=0x5623257efce1 "__vdso_gettimeofday", 
    vers=vers@entry=0x7ffe43447760) at ../sysdeps/unix/sysv/linux/dl-vdso.c:27
#1  0x0000562325720ec7 in __gettimeofday ()
    at ../sysdeps/unix/sysv/linux/x86/gettimeofday.c:40
#2  0x00007fdb915f8f50 in elf_machine_rela (skip_ifunc=<optimized out>, 
    reloc_addr_arg=<optimized out>, version=<optimized out>, 
    sym=<optimized out>, reloc=0x7fdb913d2de8, map=0x7fdb9180fbb0)
    at ../sysdeps/x86_64/dl-machine.h:314
#3  elf_dynamic_do_Rela (skip_ifunc=<optimized out>, lazy=<optimized out>, 
    nrelative=<optimized out>, relsize=<optimized out>, 
    reladdr=<optimized out>, map=0x7fdb9180fbb0) at do-rel.h:137
#4  _dl_relocate_object (scope=<optimized out>, reloc_mode=<optimized out>, 
    consider_profiling=<optimized out>, consider_profiling@entry=0)
    at dl-reloc.c:259
#5  0x00007fdb915f0051 in dl_main (phdr=<optimized out>, 
    phnum=<optimized out>, user_entry=<optimized out>, auxv=<optimized out>)
    at rtld.c:2066
#6  0x00007fdb9160591f in _dl_sysdep_start (
    start_argptr=start_argptr@entry=0x7ffe43447b20, 
    dl_main=dl_main@entry=0x7fdb915ed9a0 <dl_main>) at ../elf/dl-sysdep.c:249
#7  0x00007fdb915f0f68 in _dl_start_final (arg=0x7ffe43447b20) at rtld.c:305
#8  _dl_start (arg=0x7ffe43447b20) at rtld.c:411
#9  0x00007fdb915eccd8 in _start () from /lib64/ld-linux-x86-64.so.2
#10 0x0000000000000001 in ?? ()
#11 0x00007ffe434493a3 in ?? ()
#12 0x0000000000000000 in ?? ()

However, no crash when running any other dynamically linked program (you have
to create an empty file /opt/eset/esets/sbin/esets_daemon first), e.g.:

LD_DEBUG=all LD_PRELOAD=./libesets_pac.so /bin/uname -r > uname.txt 2>&1

Full details and outputs attached. Our preload library is built on Debian 4.0
for compatibility reasons.

Does someone know what's going on there?

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]