Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
segfault in ld.elf_so
Hi!
I'm trying to get wip/webkit-gtk to build. During a quite late stage
of its build process it wants to run g-ir-scanner to create
introspection files. I've been told that it then runs the
"_get_type() function of every type. For WebKit's types, they
initialize WebKit, JavaScriptCore, bmalloc, etc. It's very likely that
something is crashing somewhere in the initialization routines."
What I see in the backtrace is not very much:
(gdb) br main
Breakpoint 1 at 0x6164
(gdb) r
Starting program: .../work/webkitgtk-2.50.4/tmp-introspectyh2m43hy/WebKit2WebExtension-4.1
Program received signal SIGSEGV, Segmentation fault.
_rtld_relocate_plt_object (obj=<optimized out>, rela=0x793ddd29b7d0, tp=<synthetic pointer>) at /usr/src/libexec/ld.elf_so/arch/x86_64/mdreloc.c:354
354 *where = new_value;
(gdb) bt
#0 _rtld_relocate_plt_object (obj=<optimized out>, rela=0x793ddd29b7d0, tp=<synthetic pointer>) at /usr/src/libexec/ld.elf_so/arch/x86_64/mdreloc.c:354
#1 _rtld_bind (obj=<optimized out>, reloff=<optimized out>) at /usr/src/libexec/ld.elf_so/arch/x86_64/mdreloc.c:372
#2 0x00007f7ff7cb105d in _rtld_bind_start () from /usr/libexec/ld.elf_so
#3 0x0000000000000000 in ?? ()
(gdb) p/x new_value
$1 = 0x793ddc08a1c5
(gdb) p where
$2 = <optimized out>
(gdb) fr 1
#1 _rtld_bind (obj=<optimized out>, reloff=<optimized out>) at /usr/src/libexec/ld.elf_so/arch/x86_64/mdreloc.c:372
372 error = _rtld_relocate_plt_object(obj, rela, &new_value);
(gdb) p obj
$3 = <optimized out>
(gdb) p rela
$4 = (const Elf64_Rela *) 0x7572f185f7d0
(gdb) p *rela
$5 = {r_offset = 33670912, r_info = 13254269075463, r_addend = 0}
(gdb) fr 2
#2 0x00007f7ff7cb105d in _rtld_bind_start () from /usr/libexec/ld.elf_so
I have added '-g -Og' to the command line, and the file is
WebKit2WebExtension-4.1: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /usr/libexec/ld.elf_so, for NetBSD 11.99.4, with debug_info, not stripped
but that's all I can get out of it.
I've uploaded the g-ir-scanner commandline here: https://paste.debian.net/hidden/93f55613
and the c code it compiles here: https://paste.debian.net/hidden/476f5d0d
Any ideas how to debug this further before resorting to printfs (where)?
Thanks,
Thomas
Home |
Main Index |
Thread Index |
Old Index