Panic on boot for armv7 on rpi2

bob prohaska <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
After several attempts to upgrade world and kernel for -current on a
Pi2 (so armv7) the system panics on boot. The latest try reported
   3b6615ec033..6c0bcd15e47  main       -> origin/main
Updating 3b6615ec033..6c0bcd15e47

The OS build install cycle was uneventful, but on reboot the
system console reported:

....
Stopping powerd.
Waiting for PIDS: 3410.
/etc/rc.shutdown: WARNING: $keyserv_enable is not set properly - see rc.conf(5).
Stopping devd.
Waiting for PIDS: 3223.
Writing entropy file: .
Writing early boot entropy file: .
.
Terminated
Jan  8 07:50:41 www syslogd: exiting on signal 15
Waiting (max 60 seconds) for system process `vnlru' to stop... done
Waiting (max 60 seconds) for system process `syncer' to stop... 
Syncing disks, vnodes remaining... 0 0 0 done
All buffers synced.
Uptime: 1d0h14m1s
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
ue0: link state changed to DOWN
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
smsc0: warning: Failed to read register 0x114
smscphy0: detached
smsc0: warning: MII is busy
Kernel page faultmiibus0: detached
 with the following non-sleepable locks held:
exclusive sleep mutex smsc0 (smsc0) r = 0 (0xd6a8d570) locked @ /usr/src/sys/dev/usb/net/if_smsc.c:665
stack backtrace:
#0 0xc0382714 at witness_debugger+0x78
#1 0xc03839c0 at witness_warn+0x428
#2 0xc064dc18 at abort_handler+0x1d4
#3 0xc062c24c at exception_exit+0
#4 0xc00d587c at smscphy_status+0x80
#5 0xc00d57e4 at smscphy_service+0x21c
#6 0xc00ce240 at mii_pollstat+0x60
#7 0xc01b57d8 at smsc_ifmedia_sts+0x44
#8 0xc04524d8 at ifmedia_ioctl+0x198
#9 0xc0525ea8 at dump_iface+0x11c
#10 0xc0525c94 at rtnl_handle_iflink+0x9c
#11 0xc0449f20 at do_link_state_change+0x1e4
#12 0xc03744d4 at taskqueue_run_locked+0x1b4
#13 0xc03742e4 at taskqueue_run+0x50
#14 0xc02c15a0 at ithread_loop+0x264
#15 0xc02bd424 at fork_exit+0xa0
#16 0xc062c1e0 at swi_exit+0
Fatal kernel mode data abort: 'Translation Fault (L1)' on read
trapframe: 0xd3ab4b28
FSR=00000005, FAR=deadc0de, spsr=60000013
r0 =0000003d, r1 =1c5f0c0c, r2 =1c5f0c0c, r3 =00000000
r4 =d742df00, r5 =00000000, r6 =deadc0de, r7 =deadc0de
r8 =d7434080, r9 =c091e518, r10=00000000, r11=d3ab4bd8
r12=d3ab4adc, ssp=d3ab4bb8, slr=c01b3a80, pc =c00d587c

panic: Fatal abort
cpuid = 3
time = 1767887448
KDB: stack backtrace:
db_trace_self() at db_trace_self
         pc = 0xc0629a90  lr = 0xc0077388 (db_trace_self_wrapper+0x30)
         sp = 0xd3ab4900  fp = 0xd3ab4a18
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
         pc = 0xc0077388  lr = 0xc0309270 (vpanic+0x140)
         sp = 0xd3ab4a20  fp = 0xd3ab4a40
         r4 = 0x00000100  r5 = 0x00000000
         r6 = 0xc0721e4b  r7 = 0xc0b7a8e4
vpanic() at vpanic+0x140
         pc = 0xc0309270  lr = 0xc0309130 (vpanic)
         sp = 0xd3ab4a48  fp = 0xd3ab4a4c
         r4 = 0xd3ab4b28  r5 = 0x00000013
         r6 = 0xdeadc0de  r7 = 0x00000005
         r8 = 0x00000005  r9 = 0x00000013
        r10 = 0xdeadc0de
vpanic() at vpanic
         pc = 0xc0309130  lr = 0xc064e1fc (abort_align)
         sp = 0xd3ab4a54  fp = 0xd3ab4a80
         r4 = 0x00000005  r5 = 0x00000005
         r6 = 0x00000013  r7 = 0xdeadc0de
         r8 = 0xd3ab4a4c  r9 = 0xc0309130
        r10 = 0xd3ab4a54
abort_align() at abort_align
         pc = 0xc064e1fc  lr = 0xc064dd44 (abort_handler+0x300)
         sp = 0xd3ab4a88  fp = 0xd3ab4b20
         r4 = 0xc4f0dc00 r10 = 0xdeadc0de
abort_handler() at abort_handler+0x300
         pc = 0xc064dd44  lr = 0xc062c24c (exception_exit)
         sp = 0xd3ab4b28  fp = 0xd3ab4bd8
         r4 = 0xd742df00  r5 = 0x00000000
         r6 = 0xdeadc0de  r7 = 0xdeadc0de
         r8 = 0xd7434080  r9 = 0xc091e518
        r10 = 0x00000000
exception_exit() at exception_exit
         pc = 0xc062c24c  lr = 0xc01b3a80 (smsc_miibus_readreg+0x74)
         sp = 0xd3ab4bb8  fp = 0xd3ab4bd8
         r0 = 0x0000003d  r1 = 0x1c5f0c0c
         r2 = 0x1c5f0c0c  r3 = 0x00000000
         r4 = 0xd742df00  r5 = 0x00000000
         r6 = 0xdeadc0de  r7 = 0xdeadc0de
         r8 = 0xd7434080  r9 = 0xc091e518
        r10 = 0x00000000 r12 = 0xd3ab4adc
smscphy_status() at smscphy_status+0x80
         pc = 0xc00d587c  lr = 0xc00d57e4 (smscphy_service+0x21c)
         sp = 0xd3ab4be0  fp = 0xd3ab4c00
         r4 = 0x00000003  r5 = 0xd742df00
         r6 = 0xd7435fa0  r7 = 0xc0731c8a
         r8 = 0x00000000  r9 = 0xc097a848
        r10 = 0x00000000
smscphy_service() at smscphy_service+0x21c
         pc = 0xc00d57e4  lr = 0xc00ce240 (mii_pollstat+0x60)
         sp = 0xd3ab4c08  fp = 0xd3ab4c18
         r4 = 0xd7434080  r5 = 0xd742df00
         r6 = 0xd7435fa0  r7 = 0xc0731c8a
         r8 = 0x00000000  r9 = 0xc097a848
        r10 = 0x00000000
mii_pollstat() at mii_pollstat+0x60
         pc = 0xc00ce240  lr = 0xc01b57d8 (smsc_ifmedia_sts+0x44)
         sp = 0xd3ab4c20  fp = 0xd3ab4c30
         r4 = 0xd3ab4c78  r5 = 0xd6a8d580
         r6 = 0xd7434080 r10 = 0x00000000
smsc_ifmedia_sts() at smsc_ifmedia_sts+0x44
         pc = 0xc01b57d8  lr = 0xc04524d8 (ifmedia_ioctl+0x198)
         sp = 0xd3ab4c38  fp = 0xd3ab4c48
         r4 = 0xd3ab4c78  r5 = 0x00000000
         r6 = 0xd7434080  r7 = 0x00000020
ifmedia_ioctl() at ifmedia_ioctl+0x198
         pc = 0xc04524d8  lr = 0xc0525ea8 (dump_iface+0x11c)
         sp = 0xd3ab4c50  fp = 0xd3ab4cc0
         r4 = 0xd3ab4cd4  r5 = 0xd742ac00
         r6 = 0xd3ab4c78  r7 = 0xd741b024
dump_iface() at dump_iface+0x11c
         pc = 0xc0525ea8  lr = 0xc0525c94 (rtnl_handle_iflink+0x9c)
         sp = 0xd3ab4cc8  fp = 0xd3ab4d18
         r4 = 0xd742ac00  r5 = 0xd3ab4cd4
         r6 = 0x00000000  r7 = 0xd3cae800
         r8 = 0x00000001  r9 = 0x00000000
        r10 = 0xd6cce9e0
rtnl_handle_iflink() at rtnl_handle_iflink+0x9c
         pc = 0xc0525c94  lr = 0xc0449f20 (do_link_state_change+0x1e4)
         sp = 0xd3ab4d20  fp = 0xd3ab4d48
         r4 = 0xd742ac00  r5 = 0xc07779f9
         r6 = 0xd3cae81c r10 = 0xd6cce9e0
do_link_state_change() at do_link_state_change+0x1e4
         pc = 0xc0449f20  lr = 0xc03744d4 (taskqueue_run_locked+0x1b4)
         sp = 0xd3ab4d50  fp = 0xd3ab4da0
         r4 = 0xd3d67800  r5 = 0xd3d67850
         r6 = 0xd742acf8  r7 = 0x00000001
         r8 = 0x00000000  r9 = 0xc0783961
        r10 = 0x00000000
taskqueue_run_locked() at taskqueue_run_locked+0x1b4
         pc = 0xc03744d4  lr = 0xc03742e4 (taskqueue_run+0x50)
         sp = 0xd3ab4da8  fp = 0xd3ab4db0
         r4 = 0xd3d67850  r5 = 0xd3d67800
         r6 = 0xd3b6a200  r7 = 0xc3593a40
         r8 = 0x00000000  r9 = 0xc07634e8
        r10 = 0xd3b6a208
taskqueue_run() at taskqueue_run+0x50
         pc = 0xc03742e4  lr = 0xc02c15a0 (ithread_loop+0x264)
         sp = 0xd3ab4db8  fp = 0xd3ab4e18
         r4 = 0x00000000  r5 = 0xd3b6a244
ithread_loop() at ithread_loop+0x264
         pc = 0xc02c15a0  lr = 0xc02bd424 (fork_exit+0xa0)
         sp = 0xd3ab4e20  fp = 0xd3ab4e38
         r4 = 0xd3ab4e40  r5 = 0xc4f0dc00
         r6 = 0xc02c133c  r7 = 0xc4f0a000
         r8 = 0xc3596d00  r9 = 0x00000000
        r10 = 0x00000000
fork_exit() at fork_exit+0xa0
         pc = 0xc02bd424  lr = 0xc062c1e0 (swi_exit)
         sp = 0xd3ab4e40  fp = 0x00000000
         r4 = 0xc02c133c  r5 = 0xc3596d00
         r6 = 0x00000000  r7 = 0x00000000
         r8 = 0x00000000 r10 = 0x00000000
swi_exit() at swi_exit
         pc = 0xc062c1e0  lr = 0xc062c1e0 (swi_exit)
         sp = 0xd3ab4e40  fp = 0x00000000
KDB: enter: panic
[ thread pid 11 tid 100013 ]
Stopped at      kdb_enter+0x54: ldrb    r15, [r15, r15, ror r15]!
db>   

I'm quite baffled at the lack of u-boot output or any of the 
other preliminaries that normally begin the console output.

To my greater surprise, issuing a reboot command at the db>
prompt led to a normal and so-far successful boot.

The system is now reporting 
FreeBSD www.zefox.org 16.0-CURRENT FreeBSD 16.0-CURRENT #5 main-n282933-6c0bcd15e478: Wed Jan  7 20:01:40 PST 2026     [email protected]:/usr/obj/usr/src/arm.armv7/sys/GENERIC arm
bob@www:~ % uname -KU
1600007 1600007

Thanks for reading, and any words of wisdom!

bob prohaska
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.