softdep_update_inodeblock inconsistent ip 0xdd31a000 i_nlink 0 inodedep 0xdd866400 id_nlinkdelta 1

bob prohaska <[email protected]> Sat, 23 May 2026 21:09:02 -0700
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
A Pi2B (armv7) suffered a panic during buildworld of -current with

panic: softdep_update_inodeblock inconsistent ip 0xdd31a000 i_nlink 0 inodedep 0xdd866400 id_nlinkdelta 1
cpuid = 2
time = 1779574769
KDB: stack backtrace:
db_trace_self() at db_trace_self
         pc = 0xc06409ac  lr = 0xc0078304 (db_trace_self_wrapper+0x30)
         sp = 0xdacb85e0  fp = 0xdacb86f8
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
         pc = 0xc0078304  lr = 0xc03123cc (vpanic+0x15c)
         sp = 0xdacb8700  fp = 0xdacb8720
         r4 = 0x00000100  r5 = 0xc0791576
         r6 = 0xc0b9e474  r7 = 0x00000000
vpanic() at vpanic+0x15c
         pc = 0xc03123cc  lr = 0xc0312270 (vpanic)
         sp = 0xdacb8728  fp = 0xdacb872c
         r4 = 0x01496bf2  r5 = 0xdd866438
         r6 = 0x00011954  r7 = 0x00000000
         r8 = 0xdd866400  r9 = 0xdd31a000
        r10 = 0xd75cea80
vpanic() at vpanic
         pc = 0xc0312270  lr = 0xc05ba6a4 (softdep_update_inodeblock+0x474)
         sp = 0xdacb8734  fp = 0xdacb8778
         r4 = 0x00000000  r5 = 0xdd866400
         r6 = 0xdd31a000  r7 = 0xd75cea80
         r8 = 0xdacb872c  r9 = 0xc0312270
        r10 = 0xdacb8734
softdep_update_inodeblock() at softdep_update_inodeblock+0x474
         pc = 0xc05ba6a4  lr = 0xc05a4b64 (ffs_update+0x2d0)
         sp = 0xdacb8780  fp = 0xdacb87f0
         r4 = 0x00000000  r5 = 0xd75ba000
         r6 = 0xdd31a000  r7 = 0x00000000
         r8 = 0x00000000  r9 = 0x00000000
        r10 = 0x00000000
ffs_update() at ffs_update+0x2d0
         pc = 0xc05a4b64  lr = 0xc05e1dc8 (ufs_reclaim+0x94)
         sp = 0xdacb87f8  fp = 0xdacb8810
         r4 = 0xdd31a000  r5 = 0xdc4d6a50
         r6 = 0xc072eedf  r7 = 0x00000000
         r8 = 0x00000000  r9 = 0x00000000
        r10 = 0xc09d6078
ufs_reclaim() at ufs_reclaim+0x94
         pc = 0xc05e1dc8  lr = 0xc0715898 (VOP_RECLAIM_APV+0x60)
         sp = 0xdacb8818  fp = 0xdacb8830
         r4 = 0xdacb8848  r5 = 0xc09a9ae8
         r6 = 0xc072eedf  r7 = 0x00000000
         r8 = 0xdb030000 r10 = 0xc09d6078
VOP_RECLAIM_APV() at VOP_RECLAIM_APV+0x60
         pc = 0xc0715898  lr = 0xc04176a8 (vgonel+0x4b0)
         sp = 0xdacb8838  fp = 0xdacb8878
         r4 = 0xdc4d6a50  r5 = 0xdc4d6abc
         r6 = 0xdc4d6ae4 r10 = 0xc09d6078
vgonel() at vgonel+0x4b0
         pc = 0xc04176a8  lr = 0xc0418074 (vrecyclel+0x84)
         sp = 0xdacb8880  fp = 0xdacb8898
         r4 = 0xdc4d6a50  r5 = 0xdc4d6abc
         r6 = 0xc077cd45  r7 = 0x00000001
         r8 = 0xdc59bf00  r9 = 0xdd9b9738
        r10 = 0xdc4d6a50
vrecyclel() at vrecyclel+0x84
         pc = 0xc0418074  lr = 0xc0417fd0 (vrecycle+0x34)
         sp = 0xdacb88a0  fp = 0xdacb88b0
         r4 = 0xdc4d6a50 r10 = 0xdc4d6a50
vrecycle() at vrecycle+0x34
         pc = 0xc0417fd0  lr = 0xc05e1bf4 (ufs_inactive+0x24c)
         sp = 0xdacb88b8  fp = 0xdacb88e0
         r4 = 0xdc4d6a50  r5 = 0xdd31a000
         r6 = 0x00000000 r10 = 0xdc4d6a50
ufs_inactive() at ufs_inactive+0x24c
         pc = 0xc05e1bf4  lr = 0xc0715588 (VOP_INACTIVE_APV+0x60)
         sp = 0xdacb88e8  fp = 0xdacb8900
         r4 = 0xdacb8910  r5 = 0xc09a9ae8
         r6 = 0xc0741dbc  r7 = 0x00000001
         r8 = 0xdc59bf00 r10 = 0xdc4d6a50
VOP_INACTIVE_APV() at VOP_INACTIVE_APV+0x60
         pc = 0xc0715588  lr = 0xc0416768 (vinactivef+0xc8)
         sp = 0xdacb8908  fp = 0xdacb8928
         r4 = 0xdc4d6a50  r5 = 0xdc4d6abc
         r6 = 0xdc4d6abc r10 = 0xdc4d6a50
vinactivef() at vinactivef+0xc8
         pc = 0xc0416768  lr = 0xc041657c (vinactive+0x9c)
         sp = 0xdacb8930  fp = 0xdacb8948
         r4 = 0xdc4d6a50  r5 = 0xc077cd45
         r6 = 0xdc4d6abc  r7 = 0x00000001
vinactive() at vinactive+0x9c
         pc = 0xc041657c  lr = 0xc0415c5c (vput_final+0x2ac)
         sp = 0xdacb8950  fp = 0xdacb8988
         r4 = 0xdc4d6a50 r10 = 0xdc4d6a50
vput_final() at vput_final+0x2ac
         pc = 0xc0415c5c  lr = 0xc05d9408 (ffs_vput_pair+0x1b0)
         sp = 0xdacb8990  fp = 0xdacb89f8
         r4 = 0xdd9b9738  r5 = 0xc09a9ae8
         r6 = 0xdacb8a7c  r7 = 0xdc59bf28
         r8 = 0xdc59bf00  r9 = 0xdd9b9738
        r10 = 0xdc4d6a50
ffs_vput_pair() at ffs_vput_pair+0x1b0
         pc = 0xc05d9408  lr = 0xc071980c (VOP_VPUT_PAIR_APV+0x60)
         sp = 0xdacb8a00  fp = 0xdacb8a18
         r4 = 0xdacb8a7c  r5 = 0xc09a9ae8
         r6 = 0xc0741ebb  r7 = 0x00000000
         r8 = 0x00000000  r9 = 0xdd9b9738
        r10 = 0x00000000
VOP_VPUT_PAIR_APV() at VOP_VPUT_PAIR_APV+0x60
         pc = 0xc071980c  lr = 0xc05eae34 (ufs_rename+0x87c)
         sp = 0xdacb8a20  fp = 0xdacb8bb8
         r4 = 0xdd9b9738  r5 = 0xdd0bdb58
         r6 = 0x00000000 r10 = 0x00000000
ufs_rename() at ufs_rename+0x87c
         pc = 0xc05eae34  lr = 0xc07149c8 (VOP_RENAME_APV+0x48)
         sp = 0xdacb8bc0  fp = 0xdacb8bd0
         r4 = 0xdacb8d40  r5 = 0xc09a9ae8
         r6 = 0x00000000  r7 = 0x00000000
         r8 = 0xdacb8c38  r9 = 0xdacb8cc8
        r10 = 0xdd0bdb58
VOP_RENAME_APV() at VOP_RENAME_APV+0x48
         pc = 0xc07149c8  lr = 0xc042bf94 (kern_renameat+0x640)
         sp = 0xdacb8bd8  fp = 0xdacb8d80
         r4 = 0xdc4d6a50  r5 = 0xdacb8c70
kern_renameat() at kern_renameat+0x640
         pc = 0xc042bf94  lr = 0xc042b94c (sys_rename+0x2c)
         sp = 0xdacb8d88  fp = 0xdacb8d98
         r4 = 0xdb030000  r5 = 0xdb0302e8
         r6 = 0x00000000  r7 = 0x00000001
         r8 = 0x00000000  r9 = 0xdb0588f0
        r10 = 0xdb0302dc
sys_rename() at sys_rename+0x2c
         pc = 0xc042b94c  lr = 0xc0e048c4 (filemon_wrapper_rename+0x14)
         sp = 0xdacb8da0  fp = 0xdacb8dc0
filemon_wrapper_rename() at filemon_wrapper_rename+0x14
         pc = 0xc0e048c4  lr = 0xc0664614 (swi_handler+0x170)
         sp = 0xdacb8dc8  fp = 0xdacb8e38
         r4 = 0xdb030000  r5 = 0xc09681f4
         r6 = 0x00000000  r7 = 0x00000001
         r8 = 0x00000000 r10 = 0xdb0302dc
swi_handler() at swi_handler+0x170
         pc = 0xc0664614  lr = 0xc0643180 (swi_exit)
         sp = 0xdacb8e40  fp = 0xbfbf7788
         r4 = 0xbfbf765c  r5 = 0xbfbf77f4
         r6 = 0xbfbf7650  r7 = 0x00000080
         r8 = 0x00000000  r9 = 0xbfbf7798
        r10 = 0x29e1ba08
swi_exit() at swi_exit
         pc = 0xc0643180  lr = 0xc0643180 (swi_exit)
         sp = 0xdacb8e40  fp = 0xbfbf7788
KDB: enter: panic
[ thread pid 13289 tid 100168 ]
Stopped at      kdb_enter+0x54: ldrb    r15, [r15, r15, ror r15]!
db> 

After rebooting  some of the initial fsck output caught my eye:

** /dev/da0s2d
** Last Mounted on /usr
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
UNALLOCATED  I=21588978  OWNER=root MODE=0
SIZE=0 MTIME=Jan  1 00:00 1970 
NAME=/obj/usr/src/arm.armv7/lib/clang/libclang/Serialization/GeneratePCH.pico

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? yes

UNALLOCATED  I=21588989  OWNER=root MODE=0
SIZE=0 MTIME=May 23 11:37 2026 
NAME=/obj/usr/src/arm.armv7/lib/clang/libclang/Serialization/ModuleFileExtension.pico

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? yes

** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
UNREF FILE  I=21588977  OWNER=root MODE=100644
SIZE=393216 MTIME=May 23 11:46 2026 

RECONNECT? yes

LINK COUNT FILE I=21588985  OWNER=root MODE=100644
SIZE=0 MTIME=May 23 22:02 2026  COUNT 1 SHOULD BE 2
LINK COUNT INCREASING
UNEXPECTED SOFT UPDATE INCONSISTENCY

ADJUST? yes

LINK COUNT FILE I=21588986  OWNER=root MODE=100644
SIZE=1184604 MTIME=May 23 22:13 2026  COUNT 1 SHOULD BE 2
LINK COUNT INCREASING
UNEXPECTED SOFT UPDATE INCONSISTENCY

ADJUST? yes

LINK COUNT FILE I=21588987  OWNER=root MODE=100644
SIZE=0 MTIME=May 23 22:13 2026  COUNT 1 SHOULD BE 2
LINK COUNT INCREASING
UNEXPECTED SOFT UPDATE INCONSISTENCY

ADJUST? yes

I don't recall seeing "unexpected soft update inconsistency" before this.
The rest of the errors were more familiar, mostly unreferenced files and
wrong block counts.

At this point kernel and userland are a bit mismatched because the newest kernel 
had immediate panics on boot:

bob@pelorus:~ % uname -apKU
FreeBSD pelorus.zefox.org 16.0-CURRENT FreeBSD 16.0-CURRENT #37 main-n285410-c0c7d1e1af4e: Thu Apr 30 07:36:49 PDT 2026     [email protected]:/usr/obj/usr/src/arm.armv7/sys/GENERIC arm armv7 1600016 1600018

I'll simply try to coax the build to finish, if other ideas
come to mind please post them.

Thanks for reading,

bob prohaska