On Mon, Feb 09, 2026 at 01:27:06PM +0100, Claudio Jeker wrote:
> > I had two nodes kernel panic. This was going on one of the two nodes.
> Could you please share the panics you see. sparc64 has been very stable
> for me lately but I stopped using NFS and this helped a lot.
> I think there are still bugs lurking in the pmap code of sparc64 which we
> need to track down.
I'm attaching the files I've recorded. The TL;DR is that all but one are
"ctx_free: context 6490 still active" where only the number changes.
Doinga trace on all cpus only works on some of the crashes. Often the
ldom just hangs hard when I try and interact with ddb with anything
but a "boot reboot" and I have to power cycle the ldom.
> > > config.status: creating ntpdate/Makefile
> > > config.status: creating ntpdc/Makefile
> > > awk: trying to access out of range field -2147483648
> > > input record number 1, file
> > > source line number 316
> > > config.status: error: could not create ntpdc/Makefile
> > Yeah. This is the classic sparc64 error I've been experiencing for years
> > now.
> > It also takes the form of mentions of NaN or perl crashing at a line of
> > "Use X"
> > where X is a normal perl version but has been munged into something even
> > perl doesn't want to deal with.
> Hmm. I never hit such an error in my bulks. Is awk using floating point
> internally?
I don't know. That doesn't look floating point to me though.
You said you stopped using NFS. I haven't. My ports tree is a
common one shared amongst all build nodes via NFS. I'm mounting
distfiles from hub.
> > > > https://cranky.work/sparc64/2026-02-04/print/texlive/texmf.log
> > > ===> Extracting for texlive-20250308-texmf
> > > xz: (stdin): Compressed data is corrupt
> > Yup. If I had caught it before it went out, one or more restarts might
> > have gotten it to compile normally.
> > > > https://cranky.work/sparc64/2026-02-04/sysutils/libvslvm.log
> > > config.status: creating libvslvm.pc
> > > awk: trying to access out of range field -2147483648
> > > input record number 1, file
> > > source line number 364
> > > config.status: error: could not create libvslvm.pc
> > Another error I'm betting comes from the same root cause is
> > "panic: Unexpectedly didn't find a dot radix character in '-nan' at" some
> > perl file
> Is this a sparc64 only issue?
As far as I've been able to tell, yes.
--Kurt
panic: kernel diagnostic assertion "anon != NULL" failed: file
"/usr/src/sys/uvm/uvm_pdaemon.c", line 406
Stopped at db_enter+0x8: nop
TID PID UID PRFLAGS PFLAGS CPU COMMAND
170366 72660 55 0x1000002 0 0 cc1plus
298424 34165 55 0x1000002 0 5 cc1plus
326289 37024 55 0x1000002 0 4 cc1plus
246198 56969 55 0x1000002 0 3 cc1plus
448626 13881 55 0x1000002 0 7 cc1plus
115139 69319 55 0x1000002 0 6 cc1plus
*222815 59390 0 0x14000 0x200 2K pagedaemon
__assert(17d6408, 1840770, 196, 1840868, 4000c3fa024, 1caa000) at __assert+0x20
uvmpd_trylockowner(40007a26500, 4000c3fa024, 1cce1d0, 0, 0, 1cce074) at
uvmpd_trylockowner+0x64
uvmpd_scan_active(0, 0, 3a5c8, 18408a0, ffffffffffffffff, ffffffffffffffff) at
uvmpd_scan_active+0xf4
uvm_pageout(4008198fe08, 55555556, 18408a0, 1c83ec8, 1c83000, 1cce1b0) at
uvm_pageout+0x2dc
proc_trampoline(0, 0, 0, 0, 0, 0) at proc_trampoline+0x10
https://www.openbsd.org/ddb.html describes the minimum info required in bug
reports. Insufficient info makes it difficult to find and fix bugs.
ddb{2}> trace
__assert(17d6408, 1840770, 196, 1840868, 4000c3fa024, 1caa000) at __assert+0x20
uvmpd_trylockowner(40007a26500, 4000c3fa024, 1cce1d0, 0, 0, 1cce074) at
uvmpd_trylockowner+0x64
uvmpd_scan_active(0, 0, 3a5c8, 18408a0, ffffffffffffffff, ffffffffffffffff) at
uvmpd_scan_active+0xf4
uvm_pageout(4008198fe08, 55555556, 18408a0, 1c83ec8, 1c83000, 1cce1b0) at
uvm_pageout+0x2dc
proc_trampoline(0, 0, 0, 0, 0, 0) at proc_trampoline+0x10
ddb{2}> machine ddbcpu 0
--Machine just hangs--
login: ctx_free: context 3702 still active
Stopped at ctx_free+0x11c: nop
ddb{4}> trace
pmap_destroy(1c2a000, 4000c402b80, 17f7da0, 40086ba2000, 601, 1cb1cd0) at pmap_
destroy+0x44
uvmspace_free(400874c8e90, 400874c8e90, 4, 180bef0, ffffffffffffffff, 6) at uvm
space_free+0x48
reaper(4000c3fad90, 4000c3fad90, 4)</a>, 100, 1c0e0d0, 4000) at reaper+0x11c
proc_trampoline(0, 0, 0, 0, 0, 0) at proc_trampoline+0x10
ddb{4}> machine ddbcpu 0
Stopped at hv_mmu_demap_page+0x20: nop
ddb{0}> trace
pmap_page_protect(400001b4d48, 0, 40086d31838, 0, 0, 0) at pmap_page_protect+0x
2ac
uvm_pagedeactivate(400001b4ce0, 1a0acb8, 40086d31d30, 0, 1, 0) at uvm_pagedeact
ivate+0x70
uvn_flush(4000a13e910, 38000, 40000, 4, 1cb2, 6) at uvn_flush+0x418
uvm_fault_check(40086d31d08, 40086d31cd0, 40086d31d40, 4, 1c16000, 40086d31af0)
at uvm_fault_check+0x4d0
uvm_fault(400874c88d0, 40086d31d08, 0, 1, 13ea660, 3) at uvm_fault+0xe8
data_access_fault(40086d31ee0, 31, 830f0020f4, 85eca94e78, 85eca94000, 1) at da
ta_access_fault+0x184
sun4v_datatrap(830f0020c0, 830f106bb0, d, 830f000980, ffffff162b32e104, ffffff1
62b32df90) at sun4v_datatrap+0x200
ddb{0}> machine ddbcpu 1
Stopped at splraise+0x18: bge,pn splraise+0x24
ddb{1}> trace
mtx_enter(4000c4021c0, 2, 400844053f0, 400894ad5e0, 40, 3) at mtx_enter+0x1ec
pmap_remove(4000c4021c0, e605f08000, e605f09fff, 1c20, dfdfdfdfdfdfdfdf, 0) at p
map_remove+0x8
pmap_enter(4000c4021c0, e605f08000, 48d56000, 3, 22, 1c00) at pmap_enter+0x484
uvm_fault_upper(0, 40086c99cd0, 1c16000, 40086c99bd0, 1c16000, 40086c99af0) at u
vm_fault_upper+0x430
uvm_fault(0, 40086c99d08, 0, 2, 13ea660, 0) at uvm_fault+0x1d0
data_access_fault(40086c99ee0, 6c, e3e4b8ea98, e605f08e7b, e605f08000, 5) at da
ta_access_fault+0x184
sun4v_datatrap(40086c99ee0, 6c, 1ff, e5ea548e7b, e6c1116000, 2820) at sun4v_dat
atrap+0x200
ddb{1}> machine ddbcpu 2
Stopped at cpu_idle_cycle+0x44: and %g1, -0x3, %g1
ddb{2}> trace
sched_idle(401ea7e8408, 4000c3fed80, d, f, f026629c, ffffffff0000000f) at sched
_idle+0x10c
proc_trampoline(0, 0, 0, 0, 0, 0) at proc_trampoline+0x10
ddb{2}> machine ddbcpu 3
Stopped at sun4v_datatrap+0x204: nop
ddb{3}> trace
ddb{3}> machine ddbcpu 4
Stopped at ctx_free+0x120: ld [%l2 + 0xfb8], %g2
ddb{4}> trace
pmap_destroy(1c2a000, 4000c402b80, 17f7da0, 40086ba2000, 601, 1cb1cd0) at pmap_
destroy+0x44
uvmspace_free(400874c8e90, 400874c8e90, 4, 180bef0, ffffffffffffffff, 6) at uvm
space_free+0x48
reaper(4000c3fad90, 4000c3fad90, 4)</a>, 100, 1c0e0d0, 4000) at reaper+0x11c
proc_trampoline(0, 0, 0, 0, 0, 0) at proc_trampoline+0x10
ddb{4}> machine ddbcpu 5
Stopped at cpu_idle_cycle+0x44: and %g1, -0x3, %g1
ddb{5}> trace
sched_idle(401ea7b8408, 4000c3fe2c0, d, f, f026629c, ffffffff0000000f) at sched
_idle+0x10c
proc_trampoline(0, 0, 0, 0, 0, 0) at proc_trampoline+0x10
ddb{5}> machine ddbcpu 6
Stopped at cpu_idle_cycle+0x44: and %g1, -0x3, %g1
ddb{6}> trace
sched_idle(401ea7a8408, 4000c3fe010, d, f, f026629c, ffffffff0000000f) at sched
_idle+0x10c
proc_trampoline(0, 0, 0, 0, 0, 0) at proc_trampoline+0x10
ddb{6}> machine ddbcpu 7
Stopped at cpu_idle_cycle+0x44: and %g1, -0x3, %g1
ddb{7}> trace
sched_idle(401ea798408, 4000c3fe820, d, f, f026629c, ffffffff0000000f) at sched
_idle+0x10c
proc_trampoline(0, 0, 0, 0, 0, 0) at proc_trampoline+0x10
OpenBSD/sparc64 (sparc64-2b.ports.openbsd.org) (console)
login: ctx_free: context 3550 still active
Stopped at ctx_free+0x11c: nop
ddb{6}> trace
pmap_destroy(1c56000, 4000c403ec0, 184e780, 40009550000, 504, 1c99960) at pmap_
destroy+0x44
uvmspace_free(40086b0ae80, 40086b0ae80, 4, 1806f20, ffffffffffffffff, 6) at uvm
space_free+0x48
reaper(4000c3fb2f0, 4000c3fb2f0, 4b, 100, 1c05d90, 4000) at reaper+0x11c
proc_trampoline(0, 0, 0, 0, 0, 0) at proc_trampoline+0x10
ddb{6}> machine ddbcpu 0
OpenBSD/sparc64 (sparc64-2d.ports.openbsd.org) (console)
login: ctx_free: context 5422 still active
Stopped at ctx_free+0x11c: nop
ddb{2}>
penBSD/sparc64 (sparc64-2a.ports.openbsd.org) (console)
login: ctx_free: context 1376 still active
Stopped at ctx_free+0x11c: nop
OpenBSD/sparc64 (sparc64-0b.ports.openbsd.org) (console)
login: ctx_free: context 6490 still active
Stopped at ctx_free+0x11c: nop
ddb{3}> trace
pmap_destroy(1c7c000, 4008b2de850, 19b81e0, 40087b80000, a2a, 1c82cc0) at pmap_
destroy+0x44
uvmspace_free(40088057b70, 40088057b70, 4, 1899cb8, ffffffffffffffff, 6) at uvm
space_free+0x48
reaper(4000c3fad90, 4000c3fad90, 49, 100, 1c23868, 4000) at reaper+0x11c
proc_trampoline(0, 0, 0, 0, 0, 0) at proc_trampoline+0x10
ddb{3}> machine ddbcpu 0
Stopped at __mp_lock+0x64: nop
ddb{0}> trace
scsi_io_put(4000c4550f8, 4000c451080, 3d4e8e0, 0, 19500, 38) at scsi_io_put+0x8
scsi_xs_put(4000c440800, 4000, 4000c453800, 0, 4000, 6) at scsi_xs_put+0x2c
scsi_done(40008fc09a0, 4000c451080, 1, 40087025908, 4008a843dc0, ffffff63b063a7
90) at scsi_done+0x18
nvme_q_complete(4000c454000, 4000c443f00, 5a80, 0, 1a08480, 4000c443f10) at nvm
e_q_complete+0x1a4
nvme_intr(4000c454000, 40088165b80, 1869108, 0, 729e2f25c5c4bdda, 6) at nvme_in
tr+0x10
intr_handler(2017ed8, 4000c440600, f74065d, 0, a344c8bb28, ac) at intr_handler+
0x64
sparc_intr_retry(4008abd7ee0, fffffffffffffffe, a3434d4e30, 44820012, a344c8bb2
8, a60205be60) at sparc_intr_retry+0x58
Lslowtrap_reenter(ffffffbc23cb98a8, a59ce17c20, a60205be60, a55286ef60, a55286e
f60, a344e3bd60) at Lslowtrap_reenter+0xf8
ddb{0}> machine ddbcpu 1
Stopped at pool_do_put+0x130: brnz,pt %g1, xl_rxeof
ddb{1}> trace
pool_put(1c7bf98, 4008938ad70, 0, 87014000, ffffffffffffffff, 1d5ddd0) at pool_
put+0x54
pmap_enter(0, cabbba000, 87014000, 4008835b910, 20, 4) at pmap_enter+0x3cc
uvm_fault_lower_lookup(4008835bd08, 4008835bcd0, 4008835bbd0, 26, 1, 4) at uvm_
fault_lower_lookup+0x248
uvm_fault_lower(4008835bd08, 4008835bcd0, 40083fc9870, 4008835bbd0, 1c1b000, 40
08835baf0) at uvm_fault_lower+0x44
uvm_fault(0, 4008835bd08, 0, 400896381e0, 1513520, 2) at uvm_fault+0x1b8
data_access_fault(4008835bee0, 31, f4de09698, cabbb9968, cabbb8000, 1) at data_
access_fault+0x184
sun4v_datatrap(0, b785, 154d40, 1452, 1452, eddc189e5) at sun4v_datatrap+0x200
ddb{1}> machine ddbcpu 2
Stopped at delay+0x34: movrlez %o3, %o4, %o0
ddb{2}> trace
pmap_enter(4008b2df190, 77c4752000, 214de6000, 4008ac5f910, 20, 4) at pmap_ente
r+0x45c
uvm_fault_lower_lookup(4008ac5fd08, 4008ac5fcd0, 4008ac5fbd0, 0, 0, 4) at uvm_f
ault_lower_lookup+0x248
uvm_fault_lower(4008ac5fd08, 4008ac5fcd0, 0, 4008ac5fbd0, 1c1b000, 4008ac5faf0)
at uvm_fault_lower+0x44
uvm_fault(0, 4008ac5fd08, 0, 40084be94f0, 1513520, 3) at uvm_fault+0x1b8
data_access_fault(4008ac5fee0, 31, 7a1bd0b02c, 77c475196a, 77c4750000, 1) at da
ta_access_fault+0x184
sun4v_datatrap(7a5970f800, 7a8, 7a1bd00af8, 77c300196a, 77c3000000, 6ffffef5) a
t sun4v_datatrap+0x200
ddb{2}> machine ddbcpu 3
Stopped at ctx_free+0x120: ld [%l2 + 0x210], %g2
ddb{3}> machine ddbcpu 4
Stopped at __mp_lock+0x70: bne,pt __mp_lock+0x5c
ddb{4}> trace
syscall_setup(811560d570, 9d0, 1, 0, 40085c54470, 811560d670) at syscall_setup+
0x124
ddb{4}> machine ddbcpu 5
Stopped at rw_do_enter_write+0xa4: ldx [%i0 + %g0], %g1
ddb{5}> trace
uvm_fault_lower_lookup(4008809dd08, 4008809dcd0, 4008809dbd0, 71, 1, 0) at uvm_
fault_lower_lookup+0x2c
uvm_fault_lower(4008809dd08, 4008809dcd0, 40083fc9390, 4008809dbd0, 1c1b000, 40
08809daf0) at uvm_fault_lower+0x44
uvm_fault(0, 4008809dd08, 0, 40084be94f0, 1513520, 4) at uvm_fault+0x1b8
data_access_fault(4008809dee0, 6c, a592609698, a2ab3cf967, a2ab3ce000, 5) at da
ta_access_fault+0x184
sun4v_datatrap(0, 1163c, 255030, ba, ba, a4f45cc6a4) at sun4v_datatrap+0x200
ddb{5}> machine ddbcpu 6
Stopped at __mp_lock+0x64: nop
ddb{6}> trace
sleep_finish(0, 1, 18c73c8, ffffffffffffffff, ffffffffffffffff, f4240) at sleep
_finish+0x220
biowait(400846f0b50, 400846f0b50, 0, 0, 0, 0) at biowait+0x4c
bwrite(400846f0b50, 40083e22e00, 100, 4008841f2b0, 19500, 38) at bwrite+0x154
ffs_update(400849db200, 4000c8a8800, 0, 400849db200, fffffffffffffffe, 4008841f
8d8) at ffs_update+0x224
ufs_makeinode(0, 4008567a8c0, 4008841f8d8, 4008841f908, 4008a842af0, 6) at ufs_
makeinode+0x1a8
ufs_create(4008841f638, 4008841f8a8, 80000, 4008841f540, 2000, 8000) at ufs_cre
ate+0x3c
VOP_CREATE(4008567a8c0, 4008841f8d8, 1a08480, 4008841f728, 20000, 4008841f648) a
t VOP_CREATE+0x44
vn_open(4008841f728, 306, 180, 1, ffffffffffffff9c, 40086a67000) at vn_open+0x2
e8
coredump(40088165370, 1cbe388, fffffffffffffff8, 0, 4008841fbb0, 3) at coredump
+0x20c
sigexit(40088165370, 5, 0, 1, 5d852c5048, 6) at sigexit+0x74
postsig(40088165370, 5, 4008841fd00, 1cbe388, 19c6fb4, 40088165370) at postsig+
0x1d0
userret(40088165370, 5, 0, 1, 5d852c5048, 6) at userret+0x178
trap(4008841fee0, 101, 5d852c5048, 99820002, 5fe8d8be78, 6) at trap+0x21c
Lslowtrap_reenter(fffffe0047bb0c08, fffffe0047bb09f8, 8, 0, 5d86abc550, 1) at L
slowtrap_reenter+0xf8
ddb{6}> machine ddbcpu 7
Stopped at __mp_lock+0x68: ld [%o0 + 0x800], %g1
ddb{7}> trace
scsi_iopool_run(4000c4550f8, 4000c4408c0, 4000cf50e00, 40084f72684, 40084f72684
, 0) at scsi_iopool_run+0x2c
scsi_xsh_runqueue(4000c440800, 4000b873200, 4400, 443c, 0, 40058fd8454) at scsi
_xsh_runqueue+0x14c
scsi_xsh_add(1, 4000b873200, 400881a9388, 40058fd8440, 0, 74b) at scsi_xsh_add+
0x74
sdstrategy(4000c439200, 0, fffffffffffffff8, 0, 400881a8f38, 1e436ff2b1868396) a
t sdstrategy+0x110
spec_strategy(0, 0, fffffffffffffff8, 0, 400881a9008, f7e9822e7e3c3781) at spec
_strategy+0x38
VOP_STRATEGY(132b800, 4000b873200, 0, acdf4bfb8a36de11, d7d0f6a92a37c873, 9ed43
a3ad39371e1) at VOP_STRATEGY+0x4c
ufs_strategy(0, 0, 18c76e8, 400881a9390, 65, 400881a9028) at ufs_strategy+0x58
VOP_STRATEGY(1393120, 4000b873200, 4, 43, 4000c8b4380, 4000c8b4380) at VOP_STRA
TEGY+0x4c
bwrite(4000b873200, 22, 4000cf50e00, 40084f72684, 40084f72684, 0) at bwrite+0x1
2c
VOP_BWRITE(4000b873200, 40058fd8400, 4400, 443c, 0, 40058fd8454) at VOP_BWRITE+
0x3c
ufs_direnter(40058fd8454, 40084052c50, 400881a9388, 40058fd8440, 0, 400881a98d8
) at ufs_direnter+0x320
ufs_makeinode(0, 400842980f0, 400881a98d8, 400881a9908, 4008a843b20, 0) at ufs_
makeinode+0x1e0
ufs_create(400881a9638, 400881a98a8, 80000, 400881a9540, 2000, 8000) at ufs_cre
ate+0x3c
VOP_CREATE(400842980f0, 400881a98d8, 1a08480, 400881a9728, 20000, 400881a9648) a
t VOP_CREATE+0x44
vn_open(400881a9728, 306, 180, 1, ffffffffffffff9c, 40086a66800) at vn_open+0x2
e8
coredump(40084f72680, 1cbe388, fffffffffffffff8, 0, 400881a9bb0, 3) at coredump
+0x20c
sigexit(40084f72680, 5, 0, 1, e86531150c, 6) at sigexit+0x74
postsig(40084f72680, 5, 400881a9d00, 1cbe388, 19c6fb4, 40084f72680) at postsig+
0x1d0
userret(40084f72680, 5, 0, 1, e86531150c, 0) at userret+0x178
trap(400881a9ee0, 101, e86531150c, 820002, 0, 0) at trap+0x21c
Lslowtrap_reenter(20, 1, ea7c65e198, 4e, eb5a421010, eb5a410700) at Lslowtrap_r
eenter+0xf8
OpenBSD/sparc64 (sparc64-0d.ports.openbsd.org) (console)
login: ctx_free: context 4286 still active
Stopped at ctx_free+0x11c: nop
ddb{4}> trace
pmap_destroy(1c7b000, 4000a9d0b50, 19b33a0, 40089948000, ec6, 1ca49b8) at pmap_
destroy+0x44
uvmspace_free(4000974e770, 4000974e770, 4, 1942878, ffffffffffffffff, 6) at uvm
space_free+0x48
reaper(4000c3fb040, 4000c3fb040, 4e, 100, 1c0fed0, 4000) at reaper+0x11c
proc_trampoline(0, 0, 0, 0, 0, 0) at proc_trampoline+0x10
ddb{4}> machine ddbcpu 0
Machine hangs there