Current-Users archive

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

Re: segfault in ld.elf_so



On Mon, Jan 26, 2026 at 04:53:16PM +0100, Thomas Klausner wrote:
> 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)?

prlw1 had a great suggestion - turning relro off.
I was testing with

  PKGSRC_USE_RELRO=      full

but when I comment that out, the build succeeds.

Is this something about which I should file a bug report?
 Thomas


Home | Main Index | Thread Index | Old Index