This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug dynamic-link/20972] New: ld-linux crashing with SIGSEGV when preloading libesets_pac.so to libc.so
- From: "krizan at eset dot sk" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Thu, 15 Dec 2016 14:35:22 +0000
- Subject: [Bug dynamic-link/20972] New: ld-linux crashing with SIGSEGV when preloading libesets_pac.so to libc.so
- Auto-submitted: auto-generated
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.