On Nov 20, 2025, at 15:38, Mark Millard <[email protected]> wrote:
> # cd /usr/src/
>
> # env WITH_META_MODE= make -j10 buildworld
> . . .
> Building
> /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGExprScalar.pico
> <jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/ehooks.h:170:
> Failed assertion: "p[i] == 0"
> Building
> /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGGPUBuiltin.pico
> Abort trap (core dumped)
> *** [CodeGen/CGBuiltin.pico] Error code 134
>
> The 7950X3D system has 32 FreeBSD cpus (16 cores), 192 GiByTes of RAM,
[Silly typo fixed: GiBytes]
> Optane PCIe Storage media.
>
> # uname -apKU
> FreeBSD 7950X3D-UFS 16.0-CURRENT FreeBSD 16.0-CURRENT
> main-n281922-4872b48b175c GENERIC-NODEBUG amd64 amd64 1600004 1600004
>
> But in the chroot:
>
> # uname -apKU
> FreeBSD 7950X3D-UFS 16.0-CURRENT FreeBSD 16.0-CURRENT
> main-n281922-4872b48b175c GENERIC-NODEBUG i386 i386 1600004 1600004
>
> For that particular system I used:
>
> # grep physmem /boot/loader.conf
> hw.physmem="5G"
>
> It resulted in:
>
> # dmesg -a | grep 'memory *='
> real memory = 137434759168 (131068 MB)
> avail memory = 2708901888 (2583 MB)
>
> My odd top hack for monitoring and reporting
> various "Max(imum) Obs(erved)" figures shows:
>
> 1914Mi MaxObsActive
> 821116Ki MaxObsWired
> 2585Mi MaxObs(Act+Wir+Lndry)
> 1617Mi MaxObsSwapUsed,
> 3488Mi MaxObs(Act+Lndry+SwapUsed),
> 4166Mi MaxObs(A+Wir+L+SU) [at such a time: 4193Mi (A+W+L+SU+InAct)]
>
> I had to build main 16 for the i386 myself, based on the /usr/src/
> from the official pkgbase system in use: such is no longer available.
> I did not make changes to allow SIGABRT to core dump.
Dumb mistake: I *did* make changes to allow SIGABRT to core dump.
(I had done so earlier when figuring out how to do that. I
had left the source code change in place on that system and
it was in the copy of /usr/src/ that I put into the chroot
area.)
But I do not have pkg or gdb for the context as stands.
> -j8 did not fail. -j12 ran out of RAM+SWAP.
>
For reference (white space detail may not be preserved):
# diff -u
/usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp.orig
/usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp
---
/usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp.orig
2025-11-15 07:58:41.000000000 +0000
+++ /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp
2025-11-18 01:26:50.661412000 +0000
@@ -345,7 +345,7 @@
#include <signal.h>
static const int Signals[] =
- { SIGABRT, SIGBUS, SIGFPE, SIGILL, SIGSEGV, SIGTRAP };
+ { /*SIGABRT,*/ SIGBUS, SIGFPE, SIGILL, SIGSEGV, SIGTRAP };
static const unsigned NumSignals = std::size(Signals);
static struct sigaction PrevActions[NumSignals];
# diff -u /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc.orig
/usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc
--- /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc.orig
2025-11-15 07:58:41.000000000 +0000
+++ /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc
2025-11-18 15:37:06.502424000 +0000
@@ -215,7 +215,7 @@
/// been ordered.
static const int KillSigs[] = {SIGILL,
SIGTRAP,
- SIGABRT,
+// SIGABRT,
SIGFPE,
SIGBUS,
SIGSEGV,
===
Mark Millard
marklmi at yahoo.com