discuss-gnustep
[Top][All Lists]
Advanced

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

Re: loading bundles stopped working


From: David Chisnall
Subject: Re: loading bundles stopped working
Date: Mon, 26 Nov 2018 11:22:23 +0000
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1

On 26/11/2018 08:47, Sebastian Reitenbach wrote:
Program received signal SIGFPE, Arithmetic exception.
0x00000527770d024c in _dl_find_symbol_obj (obj=0x52722e05c00, 
sl=0x7f7fffff5108) at /usr/src/libexec/ld.so/resolve.c:584
584             for (si = obj->buckets[sl->sl_elf_hash % obj->nbuckets];
(gdb) bt
#0  0x00000527770d024c in _dl_find_symbol_obj (obj=0x52722e05c00, 
sl=0x7f7fffff5108) at /usr/src/libexec/ld.so/resolve.c:584
#1  0x00000527770d0068 in _dl_find_symbol (name=0x526ae984ea5 "getpid", 
this=0x7f7fffff51a8, flags=48, ref_sym=0x526ae9194c8, req_obj=<optimized out>, 
pobj=0x7f7fffff51a0)
     at /usr/src/libexec/ld.so/resolve.c:663
#2  0x00000527770cef1a in _dl_bind (object=0x526d8585800, index=<optimized 
out>) at /usr/src/libexec/ld.so/amd64/rtld_machine.c:357
#3  0x00000527770d0fed in _dl_bind_start () at 
/usr/src/libexec/ld.so/amd64/ldasm.S:108

The top bit of this backtrace makes me slightly suspicious. It looks as if we're seeing memory corruption. I can think of two plausible causes of this:

1. Something in GNUstep is corrupting some heap state and this happens to be hitting something in OpenBSD's run-time linker. Given OpenBSD's aggressive ASLR, this doesn't seem very likely to happen deterministically. 2. lld is generating something in the object file that is not supported by OpenBSD's run-time linker. This seems more likely, because Objective-C tends to use a few bits of ELF that aren't as widely used by C/C++ and may not be well-tested code paths in OpenBSD's linker.

Did the dlopen of the back end definitely succeed? Did it call __objc_exec_class correctly (or __objc_load if you're using the v2 ABI)?

David



reply via email to

[Prev in Thread] Current Thread [Next in Thread]