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


Reply via email to