For the past few days, every time I try and run 'make installworld',
it immediately fails:
root@hv2:/usr/src # make installworld
make[1]: "/usr/obj/usr/src/amd64.amd64/
toolchain-metadata.mk" line 1:
Using cached toolchain metadata from build at
hv2.fdf.net on Fri Feb
2 16:56:57 CST 2024
Segmentation fault
rescue/sh check failed, installation aborted
*** Error code 1
Stop.
make[1]: stopped in /usr/src
*** Error code 1
Stop.
make: stopped in /usr/src
This is even after I rm -rf /usr/obj/* and 'make clean' in /usr/src/ a
few times and do a fresh rebuild.
Even after I disable all of the PaX hardening features:
[151] [HBSD INTERNAL] rescue (jid 0, uid 0) exited on signal 11 (no
core dump - bad address)
[151] -> pid: 18807 ppid: 18721 p_pax:
0x58aaa<NOPAGEEXEC,NOMPROTECT,NOSEGVGUARD,NOASLR,NOSHLIBRANDOM,NODISALLOWMAP32BIT,<f15>,<f16>,<f18>>
Running it under lldb, I get:
(lldb) run
Process 26549 launched:
'/usr/obj/usr/src/amd64.amd64/rescue/rescue/rescue' (x86_64)
Process 26549 stopped
* thread #1, name = 'rescue', stop reason = signal SIGSEGV: address
not mapped to object (fault address: 0x0)
frame #0: 0x000000000122ab16 rescue`malloc_conf_init_helper + 54
rescue`malloc_conf_init_helper:
-> 0x122ab16 <+54>: movq %fs:0x0, %rax
0x122ab1f <+63>: leaq -0x8(%rax), %rax
0x122ab26 <+70>: movq %rax, -0x90(%rbp)
0x122ab2d <+77>: movabsq $0x3ffffff43ffffff, %r13 ; imm = 0x3FFFFFF43FFFFFF
The backtrace is:
(lldb) thread backtrace
* thread #1, name = 'rescue', stop reason = signal SIGSEGV: address
not mapped to object (fault address: 0x0)
* frame #0: 0x000000000122ab16 rescue`malloc_conf_init_helper + 54
frame #1: 0x000000000122a10a rescue`malloc_init_hard_a0_locked + 1082
frame #2: 0x000000000122cbc6 rescue`malloc_init_hard_a0 + 86
frame #3: 0x00000000011a8042 rescue`__libc_allocate_tls + 450
frame #4: 0x00000000011a81bb rescue`_init_tls + 251
frame #5: 0x000000000057a0f0 rescue`_start + 240
Strangely, malloc_conf_init_helper is from jemalloc.c, which hasn't changed:
-rw-r--r-- 1 root wheel 104976 Apr 28 2021 contrib/jemalloc/src/jemalloc.c
I do have:
MALLOC_PRODUCTION=yes
in /etc/src.conf, but I've had that for years.
Any ideas?
Thanks!
-Dustin