Re: segfault in ld.elf_so

Thomas Klausner <[email protected]>
Newsgroups gmane.os.netbsd.current
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.