pkgbase armv7 system boot failures on OrangePi+ 2ed: U-Boot 2024.04 issue(s), reverted back to 2024.01

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
Note: Reverting U-Boot 2024.04 to 2024.01 got rid of the boot failures.
None of my armv7 installations would boot with 2024.04.

Example failure . . . (but details varied widely) . . .

. . .
FreeBSD 15.0-CURRENT main-n270963-609cdb12b962 GENERIC arm
. . .
random: unblocking device.
Kernel page fault with the following non-sleepable locks held:
exclusive rw kernel vm object (kernel vm object) r = 0 (0xc0b9bce0) locked @ /home/pkgbuild/worktrees/main/sys/vm/vm_kern.c:544
stack backtrace:
#0 0xc036b964 at witness_debugger+0x78
#1 0xc036cc08 at witness_warn+0x420
#2 0xc0625470 at abort_handler+0x1d4
#3 0xc0603b78 at exception_exit+0
#4 0xc034bb6c at pctrie_lookup_le_node+0x1c
#5 0xc05c7ec4 at kmem_back_domain+0xcc
#6 0xc05c7dd0 at kmem_malloc_domainset+0xc0
#7 0xc05bbfe0 at keg_alloc_slab+0xc8
#8 0xc05bddb4 at zone_import+0xf8
#9 0xc05c0af4 at cache_alloc+0x408
#10 0xc05ba304 at cache_alloc_retry+0x30
#11 0xc02cd718 at malloc+0x8c
#12 0xc0304708 at sysctl_add_oid+0x180
#13 0xc05be900 at zone_alloc_sysctl+0x868
#14 0xc05bfc98 at uma_startup3+0x78
#15 0xc027c28c at mi_startup+0x214
Fatal kernel mode data abort: 'Alignment Fault' on read
trapframe: 0xc0f14b30
FSR=00000001, FAR=0000453a, spsr=400000d3
r0 =0000453a, r1 =00000005, r2 =0001661d, r3 =c3f00c60
r4 =0000001f, r5 =0000001f, r6 =fffffffd, r7 =00000000
r8 =00000005, r9 =00000000, r10=00000001, r11=c0f14bd8
r12=ffffffff, ssp=c0f14bc0, slr=00000000, pc =c034bb6c

panic: Fatal abort
cpuid = 0
time = 1
KDB: stack backtrace:
db_trace_self() at db_trace_self
         pc = 0xc06012f8  lr = 0xc007a308 (db_trace_self_wrapper+0x30)
         sp = 0xc0f14908  fp = 0xc0f14a20
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
         pc = 0xc007a308  lr = 0xc02f40d8 (vpanic+0x158)
         sp = 0xc0f14a28  fp = 0xc0f14a48
         r4 = 0x00000100  r5 = 0x00000000
         r6 = 0xc0737d38  r7 = 0xc0b29b04
vpanic() at vpanic+0x158
         pc = 0xc02f40d8  lr = 0xc02f3f80 (vpanic)
         sp = 0xc0f14a50  fp = 0xc0f14a54
         r4 = 0xc0f14b30  r5 = 0x00000013
         r6 = 0x0000453a  r7 = 0x00000001
         r8 = 0x00000001  r9 = 0x00000013
        r10 = 0x0000453a
vpanic() at vpanic
         pc = 0xc02f3f80  lr = 0xc0625a4c (abort_align)
         sp = 0xc0f14a5c  fp = 0xc0f14a88
         r4 = 0x00000001  r5 = 0x00000001
         r6 = 0x00000013  r7 = 0x0000453a
         r8 = 0xc0f14a54  r9 = 0xc02f3f80
        r10 = 0xc0f14a5c
abort_align() at abort_align
         pc = 0xc0625a4c  lr = 0xc06255a4 (abort_handler+0x308)
         sp = 0xc0f14a90  fp = 0xc0f14b28
         r4 = 0xc0b19540 r10 = 0x0000453a
abort_handler() at abort_handler+0x308
         pc = 0xc06255a4  lr = 0xc0603b78 (exception_exit)
         sp = 0xc0f14b30  fp = 0xc0f14bd8
         r4 = 0x0000001f  r5 = 0x0000001f
         r6 = 0xfffffffd  r7 = 0x00000000
         r8 = 0x00000005  r9 = 0x00000000
        r10 = 0x00000001
exception_exit() at exception_exit
         pc = 0xc0603b78  lr = 0x00000000 (0)
         sp = 0xc0f14bc0  fp = 0xc0f14bd8
         r0 = 0x0000453a  r1 = 0x00000005
         r2 = 0x0001661d  r3 = 0xc3f00c60
         r4 = 0x0000001f  r5 = 0x0000001f
         r6 = 0xfffffffd  r7 = 0x00000000
         r8 = 0x00000005  r9 = 0x00000000
        r10 = 0x00000001 r12 = 0xffffffff
pctrie_lookup_le_node() at pctrie_lookup_le_node+0x1c
         pc = 0xc034bb6c  lr = 0xc05c7ec4 (kmem_back_domain+0xcc)
         sp = 0xc0f14be0  fp = 0xc0f14c20
         r4 = 0x00000003  r5 = 0x00000000
         r6 = 0x00000000  r7 = 0xc0b9bce0
         r8 = 0xc0b9bce0  r9 = 0x00000001
kmem_back_domain() at kmem_back_domain+0xcc
         pc = 0xc05c7ec4  lr = 0xc05c7dd0 (kmem_malloc_domainset+0xc0)
         sp = 0xc0f14c28  fp = 0xc0f14c78
         r4 = 0x00000000  r5 = 0xc3e78000
         r6 = 0x00001000  r7 = 0xc0f14c58
         r8 = 0xc0b9bdc0  r9 = 0x00000001
        r10 = 0xc0f14c2c
kmem_malloc_domainset() at kmem_malloc_domainset+0xc0
         pc = 0xc05c7dd0  lr = 0xc05bbfe0 (keg_alloc_slab+0xc8)
         sp = 0xc0f14c80  fp = 0xc0f14cb0
         r4 = 0xc5715700  r5 = 0xc05bdacc
         r6 = 0x00001000  r7 = 0x00000000
         r8 = 0x00000000  r9 = 0xc5716480
        r10 = 0x00000001
keg_alloc_slab() at keg_alloc_slab+0xc8
         pc = 0xc05bbfe0  lr = 0xc05bddb4 (zone_import+0xf8)
         sp = 0xc0f14cb8  fp = 0xc0f14d20
         r4 = 0x00000000  r5 = 0xc5715700
         r6 = 0x00000000  r7 = 0xd661afec
         r8 = 0xd661bfec  r9 = 0x00000001
        r10 = 0x00000001
zone_import() at zone_import+0xf8
         pc = 0xc05bddb4  lr = 0xc05c0af4 (cache_alloc+0x408)
         sp = 0xc0f14d28  fp = 0xc0f14d68
         r4 = 0xc5716480  r5 = 0xc572f80c
         r6 = 0x0000007d  r7 = 0x00000000
         r8 = 0xc090a8c0  r9 = 0xc572f800
        r10 = 0x00000000
cache_alloc() at cache_alloc+0x408
         pc = 0xc05c0af4  lr = 0xc05ba304 (cache_alloc_retry+0x30)
         sp = 0xc0f14d70  fp = 0xc0f14d98
         r4 = 0x00000002  r5 = 0xc5716480
         r6 = 0x00000002  r7 = 0xc09406b0
         r8 = 0xc090a8c0  r9 = 0xd6618000
        r10 = 0xc5716480
cache_alloc_retry() at cache_alloc_retry+0x30
         pc = 0xc05ba304  lr = 0xc02cd718 (malloc+0x8c)
         sp = 0xc0f14da0  fp = 0xc0f14db8
         r4 = 0x00000002  r5 = 0xc5716480
         r6 = 0x00000003  r7 = 0x00000000
         r8 = 0xc090a8c0  r9 = 0xd6618000
        r10 = 0xffffffff
malloc() at malloc+0x8c
         pc = 0xc02cd718  lr = 0xc0304708 (sysctl_add_oid+0x180)
         sp = 0xc0f14dc0  fp = 0xc0f14de0
         r4 = 0x00000000  r5 = 0x00000000
         r6 = 0xc07cd341  r7 = 0x00000000
         r8 = 0xd6611da0 r10 = 0xffffffff
sysctl_add_oid() at sysctl_add_oid+0x180
         pc = 0xc0304708  lr = 0xc05be900 (zone_alloc_sysctl+0x868)
         sp = 0xc0f14de8  fp = 0xc0f14e40
         r4 = 0x00000000  r5 = 0xd6618000
         r6 = 0xc079921a  r7 = 0xc571c480
         r8 = 0xc0304e9c  r9 = 0x80040001
        r10 = 0x80040009
zone_alloc_sysctl() at zone_alloc_sysctl+0x868
         pc = 0xc05be900  lr = 0xc05bfc98 (uma_startup3+0x78)
         sp = 0xc0f14e48  fp = 0xc0f14e58
         r4 = 0xc571c480  r5 = 0xc571b500
         r6 = 0xc0969cf4  r7 = 0xc08fae84
         r8 = 0x00000000  r9 = 0x02300000
        r10 = 0xc093cce4
uma_startup3() at uma_startup3+0x78
         pc = 0xc05bfc98  lr = 0xc027c28c (mi_startup+0x214)
         sp = 0xc0f14e60  fp = 0xc0f14e88
         r4 = 0xc0b1918c  r5 = 0xc0b19188
mi_startup() at mi_startup+0x214
         pc = 0xc027c28c  lr = 0xc027c28c (mi_startup+0x214)
         sp = 0xc0f14e6c  fp = 0xc0f14e88
KDB: enter: panic
[ thread pid 0 tid 100000 ]
Stopped at      kdb_enter+0x54: ldrb    r15, [r15, r15, ror r15]!
db> 


===
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.