Panic on shutdown with Pi2B for May 2026 stabilization week

From: bob prohaska <fbsd_at_www.zefox.net>
Date: Tue, 26 May 2026 02:03:25 UTC
On Mon, May 25, 2026 at 01:00:11AM -0700, Gleb Smirnoff wrote:
>   Hi FreeBSD/main users & developers:
> 
> 
>   git pull
>   git checkout 490c53e9353f

After doing the above, updating everything and rebooting a Pi2B (armv7)
the result is a panic near the end of the reboot process:

Mon May 25 18:08:46 PDT 2026

FreeBSD/arm (pelorus.zefox.org) (ttyu0)

login: root
Password:
May 25 18:30:44 pelorus login[2175]: ROOT LOGIN (root) ON ttyu0
Last login: Mon May 25 17:41:27 on ttyu0
FreeBSD 16.0-CURRENT (GENERIC) #43 n286096-490c53e9353f: Mon May 25 10:45:18 PDT 2026

Welcome to FreeBSD!

Release Notes, Errata: https://www.FreeBSD.org/releases/
Security Advisories:   https://www.FreeBSD.org/security/
FreeBSD Handbook:      https://www.FreeBSD.org/handbook/
FreeBSD FAQ:           https://www.FreeBSD.org/faq/
Questions List:        https://www.FreeBSD.org/lists/questions/
FreeBSD Forums:        https://forums.FreeBSD.org/

Documents installed with the system are in the /usr/local/share/doc/freebsd/
directory, or can be installed later with:  pkg install en-freebsd-doc
For other languages, replace "en" with a language code like de or fr.

Show the version of FreeBSD installed:  freebsd-version ; uname -a
Please include that output and any error messages when posting questions.
Introduction to manual pages:  man man
FreeBSD directory layout:      man hier

To change this login announcement, see motd(5).
root@pelorus:~ # shutdown -r now
Shutdown NOW!
shutdown: [pid 2253]
root@pelorus:~ #                                                                                
*** FINAL SysStopping sshd.
Waiting for PIDS: 2133.
Stopping sendmail.
Waiting for PIDS: 2138.
Stopping sendmail_msp_queue.
Waiting for PIDS: 2141.
Stopping cron.
Waiting for PIDS: 2148.
Stopping powerd.
Waiting for PIDS: 2033.
Stopping devd.
Waiting for PIDS: 1627.
Writing entropy file: .
Writing early boot entropy file: .
.
Terminated
May 25 18:31:02 pelorus 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... 1 0 done
All buffers synced.
Uptime: 23m41s
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 (0xd7419570) locked @ /usr/src/sys/dev/usb/net/if_smsc.c:665
stack backtrace:
#0 0xc03a0cec at witness_debugger+0x78
#1 0xc03a2648 at witness_warn+0x4a4
#2 0xc068a9b0 at abort_handler+0x1fc
#3 0xc0668840 at exception_exit+0
#4 0xc00db8a0 at smscphy_status+0x80
#5 0xc00db808 at smscphy_service+0x21c
#6 0xc00d4134 at mii_pollstat+0x60
#7 0xc01c57f8 at smsc_ifmedia_sts+0x44
#8 0xc0479164 at ifmedia_ioctl+0x198
#9 0xc0555948 at dump_iface+0x11c
#10 0xc0555720 at rtnl_handle_iflink+0xac
#11 0xc0470604 at do_link_state_change+0x1e4
#12 0xc0392448 at taskqueue_run_locked+0x1c4
#13 0xc0392248 at taskqueue_run+0x50
#14 0xc02d8c24 at ithread_loop+0x264
#15 0xc02d48fc at fork_exit+0xa0
#16 0xc06687d4 at swi_exit+0
Fatal kernel mode data abort: 'Translation Fault (L1)' on read
trapframe: 0xd3ab0b28
FSR=00000005, FAR=deadc0de, spsr=60000013
r0 =0000003d, r1 =5d34e6ba, r2 =5d34e6ba, r3 =00000000
r4 =d7401080, r5 =00000000, r6 =deadc0de, r7 =deadc0de
r8 =d73f7f80, r9 =c095e804, r10=00000000, r11=d3ab0bd8
r12=d3ab0ad4, ssp=d3ab0bb8, slr=c01c3958, pc =c00db8a0

panic: Fatal abort
cpuid = 1
time = 1779759064
KDB: stack backtrace:
db_trace_self() at db_trace_self
         pc = 0xc0665ea8  lr = 0xc007a200 (db_trace_self_wrapper+0x40)
         sp = 0xd3ab0900  fp = 0xd3ab0a18
db_trace_self_wrapper() at db_trace_self_wrapper+0x40
         pc = 0xc007a200  lr = 0xc0322788 (vpanic+0x15c)
         sp = 0xd3ab0a20  fp = 0xd3ab0a40
         r4 = 0x00000100  r5 = 0xc0763ff4
         r6 = 0xc0bbe474  r7 = 0x00000000
vpanic() at vpanic+0x15c
         pc = 0xc0322788  lr = 0xc032262c (vpanic)
         sp = 0xd3ab0a48  fp = 0xd3ab0a4c
         r4 = 0xd3ab0b28  r5 = 0x00000013
         r6 = 0xdeadc0de  r7 = 0x00000005
         r8 = 0x00000005  r9 = 0x00000013
        r10 = 0xdeadc0de
vpanic() at vpanic
         pc = 0xc032262c  lr = 0xc068b08c (abort_align)
         sp = 0xd3ab0a54  fp = 0xd3ab0a80
         r4 = 0x00000005  r5 = 0x00000005
         r6 = 0x00000013  r7 = 0xdeadc0de
         r8 = 0xd3ab0a4c  r9 = 0xc032262c
        r10 = 0xd3ab0a54
abort_align() at abort_align
         pc = 0xc068b08c  lr = 0xc068a9dc (abort_handler+0x228)
         sp = 0xd3ab0a88  fp = 0xd3ab0b20
         r4 = 0xc4f0dc00 r10 = 0xdeadc0de
abort_handler() at abort_handler+0x228
         pc = 0xc068a9dc  lr = 0xc0668840 (exception_exit)
         sp = 0xd3ab0b28  fp = 0xd3ab0bd8
         r4 = 0xd7401080  r5 = 0x00000000
         r6 = 0xdeadc0de  r7 = 0xdeadc0de
         r8 = 0xd73f7f80  r9 = 0xc095e804
        r10 = 0x00000000
exception_exit() at exception_exit
         pc = 0xc0668840  lr = 0xc01c3958 (smsc_miibus_readreg+0x84)
         sp = 0xd3ab0bb8  fp = 0xd3ab0bd8
         r0 = 0x0000003d  r1 = 0x5d34e6ba
         r2 = 0x5d34e6ba  r3 = 0x00000000
         r4 = 0xd7401080  r5 = 0x00000000
         r6 = 0xdeadc0de  r7 = 0xdeadc0de
         r8 = 0xd73f7f80  r9 = 0xc095e804
        r10 = 0x00000000 r12 = 0xd3ab0ad4
smscphy_status() at smscphy_status+0x80
         pc = 0xc00db8a0  lr = 0xc00db808 (smscphy_service+0x21c)
         sp = 0xd3ab0be0  fp = 0xd3ab0c00
         r4 = 0x00000003  r5 = 0xd7401080
         r6 = 0xd7437f60  r7 = 0xc0773c1e
         r8 = 0x00000000  r9 = 0xc09ba948
        r10 = 0x00000000
smscphy_service() at smscphy_service+0x21c
         pc = 0xc00db808  lr = 0xc00d4134 (mii_pollstat+0x60)
         sp = 0xd3ab0c08  fp = 0xd3ab0c18
         r4 = 0xd73f7f80  r5 = 0xd7401080
         r6 = 0xd7437f60  r7 = 0xc0773c1e
         r8 = 0x00000000  r9 = 0xc09ba948
        r10 = 0x00000000
mii_pollstat() at mii_pollstat+0x60
         pc = 0xc00d4134  lr = 0xc01c57f8 (smsc_ifmedia_sts+0x44)
         sp = 0xd3ab0c20  fp = 0xd3ab0c30
         r4 = 0xd3ab0c70  r5 = 0xd7419580
         r6 = 0xd73f7f80 r10 = 0x00000000
smsc_ifmedia_sts() at smsc_ifmedia_sts+0x44
         pc = 0xc01c57f8  lr = 0xc0479164 (ifmedia_ioctl+0x198)
         sp = 0xd3ab0c38  fp = 0xd3ab0c48
         r4 = 0xd3ab0c70  r5 = 0x00000000
         r6 = 0xd73f7f80  r7 = 0x00000020
ifmedia_ioctl() at ifmedia_ioctl+0x198
         pc = 0xc0479164  lr = 0xc0555948 (dump_iface+0x11c)
         sp = 0xd3ab0c50  fp = 0xd3ab0cc0
         r4 = 0xd3ab0cd0  r5 = 0xd7435c00
         r6 = 0xd3ab0c70  r7 = 0xd74f6024
dump_iface() at dump_iface+0x11c
         pc = 0xc0555948  lr = 0xc0555720 (rtnl_handle_iflink+0xac)
         sp = 0xd3ab0cc8  fp = 0xd3ab0d18
         r4 = 0xd7435c00  r5 = 0xd3ab0cd0
         r6 = 0x00000000  r7 = 0xd6ccc180
         r8 = 0x00000001  r9 = 0x00000000
        r10 = 0xd3d9e100
rtnl_handle_iflink() at rtnl_handle_iflink+0xac
         pc = 0xc0555720  lr = 0xc0470604 (do_link_state_change+0x1e4)
         sp = 0xd3ab0d20  fp = 0xd3ab0d48
         r4 = 0xd7435c00  r5 = 0xc07b9ee5
         r6 = 0xd6ccc19c r10 = 0xd3d9e100
do_link_state_change() at do_link_state_change+0x1e4
         pc = 0xc0470604  lr = 0xc0392448 (taskqueue_run_locked+0x1c4)
         sp = 0xd3ab0d50  fp = 0xd3ab0da0
         r4 = 0xd3b45600  r5 = 0xd3b45650
         r6 = 0xd7435cf8  r7 = 0x00000001
         r8 = 0x00000000  r9 = 0xc07c5f2c
        r10 = 0x00000000
taskqueue_run_locked() at taskqueue_run_locked+0x1c4
         pc = 0xc0392448  lr = 0xc0392248 (taskqueue_run+0x50)
         sp = 0xd3ab0da8  fp = 0xd3ab0db0
         r4 = 0xd3b45650  r5 = 0xd3b45600
         r6 = 0xd3d44000  r7 = 0xd3c8e980
         r8 = 0x00000000  r9 = 0xc07a56c5
        r10 = 0xd3d44008
taskqueue_run() at taskqueue_run+0x50
         pc = 0xc0392248  lr = 0xc02d8c24 (ithread_loop+0x264)
         sp = 0xd3ab0db8  fp = 0xd3ab0e18
         r4 = 0x00000000  r5 = 0xd3d44044
ithread_loop() at ithread_loop+0x264
         pc = 0xc02d8c24  lr = 0xc02d48fc (fork_exit+0xa0)
         sp = 0xd3ab0e20  fp = 0xd3ab0e38
         r4 = 0xd3ab0e40  r5 = 0xc4f0dc00
         r6 = 0xc02d89c0  r7 = 0xc4f0a000
         r8 = 0xd3cee140  r9 = 0x00000000
        r10 = 0x00000000
fork_exit() at fork_exit+0xa0
         pc = 0xc02d48fc  lr = 0xc06687d4 (swi_exit)
         sp = 0xd3ab0e40  fp = 0x00000000
         r4 = 0xc02d89c0  r5 = 0xd3cee140
         r6 = 0x00000000  r7 = 0x00000000
         r8 = 0x00000000 r10 = 0x00000000
swi_exit() at swi_exit
         pc = 0xc06687d4  lr = 0xc06687d4 (swi_exit)
         sp = 0xd3ab0e40  fp = 0x00000000
KDB: enter: panic
[ thread pid 11 tid 100013 ]
Stopped at      kdb_enter+0x54: ldrb    r15, [r15, r15, ror r15]!
db> 

There seem to be two workarounds. One is to simply disconnect
the Pi's ethernet cable before rebooting.

The other is to apply the patch offered in
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290417

Might it be possible to merge the patch?

Thanks for reading,

bob prohaska