Re: Still seeing Failed assertion: "p[i] == 0" [ *** i386 chroot on amd64 can get the failure on main 16 too *** ] [failed without new kernel check detection]

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm,gmane.os.freebsd.current
Message-ID <[email protected]>
On Nov 21, 2025, at 10:29, Mark Millard <[email protected]> wrote:

> I patched the vintage of /usr/src/ on amd64 that is for
> the pkgbase vintage that I've been using on the test
> machines.
> 
> # sysctl debug.vm_check_pg_zero=1
> debug.vm_check_pg_zero: 0 -> 1
> 
> # env WITH_META_MODE= make -j10 buildworld
> --- buildworld ---
> . . .
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGBuiltin.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/PatternInit.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/SanitizerMetadata.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/SwiftCallingConv.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/TargetInfo.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/AArch64.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/AMDGPU.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/ARC.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/ARM.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/AVR.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/BPF.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/CSKY.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/Hexagon.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/Lanai.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/LoongArch.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/M68k.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/MSP430.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/Mips.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/NVPTX.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/PNaCl.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/PPC.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/RISCV.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/SPIR.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/Sparc.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/SystemZ.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/TCE.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/VE.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/WebAssembly.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/X86.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/Targets/XCore.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/VarBypassDetector.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CrossTU/CrossTranslationUnit.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/Action.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/Compilation.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/Distro.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/Driver.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/DriverOptions.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/Job.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/Multilib.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/MultilibBuilder.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/OptionUtils.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/Phases.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/SanitizerArgs.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/Tool.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/ToolChain.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/ToolChains/AIX.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/ToolChains/AMDGPU.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/ToolChains/AMDGPUOpenMP.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/ToolChains/AVR.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/ToolChains/Arch/AArch64.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/ToolChains/Arch/ARM.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/ToolChains/Arch/CSKY.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/ToolChains/Arch/LoongArch.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/ToolChains/Arch/M68k.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/ToolChains/Arch/Mips.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/Driver/ToolChains/Arch/PPC.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/ToolChains/Arch/RISCV.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Driver/ToolChains/Arch/Sparc.pico
> Abort trap (core dumped)
> *** [CodeGen/CGBuiltin.pico] Error code 134
> 
> 
> 
> I had also previously tested without enabling debug.vm_check_pg_zero
> just to check if failures were still happening. It turns out that
> for my current context that failed building the same .pico file:
> 
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGBuiltin.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGHLSLRuntime.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGLoopInfo.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGNonTrivialStruct.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGObjC.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGObjCGNU.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGObjCMac.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGObjCRuntime.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGOpenCLRuntime.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGOpenMPRuntime.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGOpenMPRuntimeGPU.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGPointerAuth.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGRecordLayoutBuilder.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGStmt.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGStmtOpenMP.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGVTT.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CGVTables.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CodeGenAction.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CodeGenFunction.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CodeGenModule.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CodeGenPGO.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CodeGenTBAA.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CodeGenTypes.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/ConstantInitBuilder.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/CoverageMappingGen.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/ItaniumCXXABI.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/LinkInModulesPass.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/MacroPPCallbacks.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/MicrosoftCXXABI.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/ModuleBuilder.pico
> Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/CodeGen/ObjectFilePCHContainerOperations.pico
> <jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/ehooks.h:170: Failed assertion: "p[i] == 0"
> Abort trap (core dumped)
> *** [CodeGen/CGBuiltin.pico] Error code 134
> 
> 

It turns out that frames #0..#31 have bt text that match.
So just in case that much of a sometimes common context
might help in some way:

(lldb) bt
* thread #1, name = 'c++', stop reason = signal SIGABRT
  * frame #0: 0x24bd378b libsys.so.7`__sys_thr_kill at thr_kill.S:4
    frame #1: 0x2ab2231b libc.so.7`__raise(s=6) at raise.c:48:10
    frame #2: 0x2abcc73b libc.so.7`abort at abort.c:61:8
    frame #3: 0x2ac10440 libc.so.7`ehooks_debug_zero_check(addr=<unavailable>, size=<unavailable>) at ehooks.h:0
    frame #4: 0x2ac0ccfa libc.so.7`__je_extent_alloc_wrapper [inlined] ehooks_alloc(tsdn=<unavailable>, ehooks=<unavailable>, new_addr=<unavailable>, size=<unavailable>, alignment=<unavailable>, zero=0xffff9977, commit=<unavailable>) at ehooks.h:208:3
    frame #5: 0x2ac0cc5a libc.so.7`__je_extent_alloc_wrapper(tsdn=0x2adf90a0, pac=0x2b0015e4, ehooks=0x2b000080, new_addr=0x00000000, size=28672, alignment=4096, zero=true, commit=0xffff99df, growing_retained=<unavailable>) at jemalloc_extent.c:1003:15
    frame #6: 0x2ac0c58e libc.so.7`__je_ecache_alloc_grow(tsdn=0x2adf90a0, pac=0x2b0015e4, ehooks=0x2b000080, ecache=0x2b0036d0, expand_edata=0x00000000, size=28672, alignment=4096, zero=<unavailable>, guarded=<unavailable>) at jemalloc_extent.c:126:11
    frame #7: 0x2ac3c73f libc.so.7`pac_alloc_impl [inlined] pac_alloc_real(tsdn=<unavailable>, pac=<unavailable>, ehooks=<unavailable>, size=<unavailable>, alignment=4096, zero=<unavailable>, guarded=<unavailable>) at jemalloc_pac.c:124:11
    frame #8: 0x2ac3c696 libc.so.7`pac_alloc_impl(tsdn=0x2adf90a0, self=0x2b0015e4, size=28672, alignment=4096, zero=<unavailable>, guarded=<unavailable>, frequent_reuse=<unavailable>, deferred_work_generated=<unavailable>) at jemalloc_pac.c:178:11
    frame #9: 0x2ac3afe0 libc.so.7`__je_pa_alloc [inlined] pai_alloc(tsdn=<unavailable>, self=<unavailable>, size=<unavailable>, alignment=<unavailable>, zero=<unavailable>, guarded=<unavailable>, frequent_reuse=<unavailable>, deferred_work_generated=<unavailable>) at pai.h:43:9
    frame #10: 0x2ac3afc9 libc.so.7`__je_pa_alloc(tsdn=0x2adf90a0, shard=0x2b0015d8, size=28672, alignment=4096, slab=<unavailable>, szind=19, zero=<unavailable>, guarded=<unavailable>, deferred_work_generated=0xffff9ac3) at jemalloc_pa.c:139:11
    frame #11: 0x2abec82b libc.so.7`arena_slab_alloc(tsdn=<unavailable>, arena=<unavailable>, binind=19, binshard=0, bin_info=0x2ac71538) at jemalloc_arena.c:839:18
    frame #12: 0x2abebdaa libc.so.7`__je_arena_cache_bin_fill_small(tsdn=0x2adf90a0, arena=0x2b000500, cache_bin=0x2adf9470, cache_bin_info=0x2b0004a6, binind=19, nfill=32) at jemalloc_arena.c:1034:16
    frame #13: 0x2ac2b737 libc.so.7`__je_tcache_alloc_small_hard(tsdn=0x2adf90a0, arena=0x2b000500, tcache=0x2adf92f0, cache_bin=0x2adf9470, binind=19, tcache_success=0xffff9b87) at jemalloc_tcache.c:238:2
    frame #14: 0x2abe1d81 libc.so.7`iallocztm [inlined] tcache_alloc_small(tsd=<unavailable>, arena=0x2b000500, tcache=<unavailable>, size=<unavailable>, binind=<unavailable>, zero=<unavailable>, slow_path=<unavailable>) at tcache_inlines.h:68:9
    frame #15: 0x2abe1cd7 libc.so.7`iallocztm [inlined] arena_malloc(tsdn=<unavailable>, arena=<unavailable>, size=<unavailable>, ind=<unavailable>, zero=<unavailable>, tcache=<unavailable>, slow_path=<unavailable>) at arena_inlines_b.h:151:11
    frame #16: 0x2abe1c52 libc.so.7`iallocztm(tsdn=<unavailable>, size=<unavailable>, ind=19, zero=<unavailable>, tcache=0x2adf92f0, is_internal=<unavailable>, arena=0x00000000, slow_path=<unavailable>) at jemalloc_internal_inlines_c.h:55:8
    frame #17: 0x2abe7179 libc.so.7`imalloc_body [inlined] imalloc_no_sample(sopts=0xffff9c3c, dopts=0xffff9c1c, tsd=0x2adf90a0, size=864, usize=896, ind=19) at jemalloc_jemalloc.c:2402:9
    frame #18: 0x2abe7106 libc.so.7`imalloc_body(sopts=<unavailable>, dopts=<unavailable>, tsd=0x2adf90a0) at jemalloc_jemalloc.c:2577:16
    frame #19: 0x2abdae88 libc.so.7`imalloc(sopts=<unavailable>, dopts=<unavailable>) at tsd.h:0:2
    frame #20: 0x2abdaddc libc.so.7`__je_malloc_default(size=864) at jemalloc_jemalloc.c:2726:2
    frame #21: 0x2abdb27f libc.so.7`__malloc [inlined] imalloc_fastpath(size=864, fallback_alloc=<unavailable>) at jemalloc_internal_inlines_c.h:0:2
    frame #22: 0x2abdb149 libc.so.7`__malloc(size=864) at jemalloc_jemalloc.c:2750:9
    frame #23: 0x28aa2cce libprivatellvm.so.19`::grow_pod() [inlined] safe_malloc at MemAlloc.h:26:18
    frame #24: 0x28aa2cc8 libprivatellvm.so.19`::grow_pod() at SmallVector.cpp:143:15
    frame #25: 0x22004f24 libprivateclang.so.19`::resize() [inlined] grow_pod at SmallVector.h:152:11
    frame #26: 0x22004f14 libprivateclang.so.19`::resize() [inlined] grow at SmallVector.h:539:41
    frame #27: 0x22004f14 libprivateclang.so.19`::resize() [inlined] reserveForParamAndGetAddressImpl<llvm::SmallVectorTemplateBase<unsigned int, true> > at SmallVector.h:257:11
    frame #28: 0x22004f14 libprivateclang.so.19`::resize() [inlined] reserveForParamAndGetAddress at SmallVector.h:551:9
    frame #29: 0x22004f14 libprivateclang.so.19`::resize() [inlined] append at SmallVector.h:707:29
    frame #30: 0x22004f14 libprivateclang.so.19`::resize() at SmallVector.h:674:11
    frame #31: 0x22004de0 libprivateclang.so.19`::resize() at BitVector.h:344:10
. . .





===
Mark Millard
marklmi at yahoo.com
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.