panic On aarch64 main: "usbconfig -d ugen0.11 set_config 1" panicked (data abort) on Windows Dev Kit 2023; kgdb backtrace included

From: Mark Millard <marklmi_at_yahoo.com>
Date: Tue, 23 Dec 2025 17:49:13 UTC
# uname -apKU
FreeBSD aarch64-main-pbase 16.0-CURRENT FreeBSD 16.0-CURRENT main-n282662-117306dc606b GENERIC-NODEBUG arm64 aarch64 1600007 1600007

That is from an official pkgbase distribution, not a
personal build.

Prior to "usbconfig -d ugen0.11 set_config 1":

# usbconfig -l -d ugen0.11
ugen0.11: <RTL8153 Gigabit Ethernet Adapter Realtek Semiconductor Corp.> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (72mA)


For reference for the panic:

#8  0xffff0000005293e0 in vpanic (fmt=<optimized out>, ap=...)
   at /usr/src/sys/kern/kern_shutdown.c:962
       buf = "vm_fault failed: 0xffff00000074c5dc error 1", '\000' <repeats 212 times>
       other_cpus = {__bits = {127, 0 <repeats 15 times>}}
       td = 0xffff0000eb228640
       newpanic = <optimized out>
       bootopt = <optimized out>
#9  0xffff0000005291d0 in panic (
   fmt=0x12 <error: Cannot access memory at address 0x12>)
   at /usr/src/sys/kern/kern_shutdown.c:887
       ap = {__stack = 0xffff00010cfec1a0, __gr_top = 0xffff00010cfec150, 
         __vr_top = 0xffffa00080cf7700, __gr_offs = -56, __vr_offs = 0}
#10 0xffff00000095ea5c in data_abort (td=<optimized out>, 
   frame=0xffff00010cfec270, esr=2516582404, far=<optimized out>, 
   lower=<optimized out>) at /usr/src/sys/arm64/arm64/trap.c:410
       sig = 11
       ucode = 1
       pcb = 0xffff00010cfecb20
       map = <optimized out>
       ftype = <optimized out>
       error = <optimized out>
       handled = <optimized out>
#11 <signal handler called>
No locals.
#12 0xffff00000074c5dc in in6m_disconnect_locked (
   inmh=inmh@entry=0xffff00010cfec498, inm=inm@entry=0xffffa00087100b00)
   at /usr/src/sys/netinet6/in6_mcast.c:604
       curelm = 0x0
       ifp = 0xffffa000870f9c00
       ifma = 0xffffa000872cc500
       ll_ifma = <optimized out>
       ifa = <optimized out>
       ifa6 = <optimized out>
       imm = <optimized out>
       imm_tmp = <optimized out>
#13 0xffff00000074d840 in in6_leavegroup_locked (inm=0xffffa00087100b00, 
   imf=<optimized out>, imf@entry=0xffff00010cfec4c0)
   at /usr/src/sys/netinet6/in6_mcast.c:1404
       inmh = {slh_first = 0x0}
       error = <optimized out>
       timf = <optimized out>
       ifp = 0xffffa000870f9c00
#14 0xffff000000752550 in in6_pcbpurgeif0 (pcbinfo=<optimized out>, 
   ifp=ifp@entry=0xffffa000870f9c00) at /usr/src/sys/netinet6/in6_pcb.c:857
       inpi = {ipi = 0xffff0000435dad38, inp = 0xffffa00087a8bc40, 
         match = 0xffff000000752590 <in6_multi_match>, ctx = 0x0, hash = -1, 
         lock = INPLOOKUP_RLOCKPCB}
       im6o = 0xffffa00087470260
       imf = <optimized out>
       inm = 0xffffa000870f9c00
       inp = <optimized out>
#15 0xffff00000074a348 in _in6_ifdetach (ifp=ifp@entry=0xffffa000870f9c00, 
   purgeulp=<optimized out>, purgeulp@entry=1)
   at /usr/src/sys/netinet6/in6_ifattach.c:877
       ifa = <optimized out>
       next = <optimized out>
#16 0xffff00000074a88c in in6_ifdeparture (arg=<optimized out>, 
   ifp=0xffffa000870f9c00) at /usr/src/sys/netinet6/in6_ifattach.c:918
       ext = 0xffffa000870f4340
#17 0xffff0000006834bc in if_detach_internal (
   ifp=ifp@entry=0xffffa000870f9c00, vmove=false)
   at /usr/src/sys/net/if.c:1122
       _ep = <optimized out>
       _t = 0xffffa00080cf7700
       _el = 0xffffa00080376a80
       shutdown = <optimized out>
       ifa = <optimized out>
#18 0xffff000000682c54 in if_detach (ifp=0xffffa000870f9c00)
   at /usr/src/sys/net/if.c:1029
       saved_vnet = 0x0
       found = <optimized out>
#19 0xffff0000006913e0 in ether_ifdetach (ifp=ifp@entry=0xffffa000870f9c00)
   at /usr/src/sys/net/if_ethersubr.c:1045
       sdl = <optimized out>
#20 0xffff00000033caec in uether_ifdetach (ue=ue@entry=0xffffa0008785b000)
   at /usr/src/sys/dev/usb/net/usb_ethernet.c:315
       ifp = 0xffffa000870f9c00
#21 0xffff00000033579c in ure_detach (dev=<optimized out>)
   at /usr/src/sys/dev/usb/net/if_ure.c:591
       ue = 0xffffa0008785b000
       sc = 0xffffa0008785b000
#22 0xffff000000569bb0 in DEVICE_DETACH (dev=0xffffa00087534d00)
   at ./device_if.h:234
       _m = 0x0
       rc = <optimized out>
       _desc = <optimized out>
       _cep = <optimized out>
       _ce = <optimized out>
#23 device_detach (dev=dev@entry=0xffffa00087534d00)
   at /usr/src/sys/kern/subr_bus.c:2709
       error = <optimized out>
#24 0xffff000000569744 in device_delete_child (dev=0xffffa0008786e500, 
   child=child@entry=0xffffa00087534d00) at /usr/src/sys/kern/subr_bus.c:1550
       error = <optimized out>
       grandchild = <optimized out>
#25 0xffff0000003175e8 in usb_detach_device_sub (udev=0xffffa00087847000, 
   ppdev=<optimized out>, ppnpinfo=<optimized out>, flag=<optimized out>)
   at /usr/src/sys/dev/usb/usb_device.c:1253
       dev = 0xffffa00087534d00
       err = <optimized out>
       pnpinfo = <optimized out>
#26 usb_detach_device (udev=udev@entry=0xffffa00087847000, 
   iface_index=<optimized out>, flag=<optimized out>)
   at /usr/src/sys/dev/usb/usb_device.c:1315
       i = 0 '\000'
       iface = <optimized out>
#27 0xffff000000316538 in usb_unconfigure (udev=udev@entry=0xffffa00087847000, 
   flag=0 '\000', flag@entry=144 '\220')
   at /usr/src/sys/dev/usb/usb_device.c:623
       do_unlock = <optimized out>
#28 0xffff0000003161f4 in usbd_set_config_index (
   udev=udev@entry=0xffffa00087847000, index=1 '\001')
   at /usr/src/sys/dev/usb/usb_device.c:686
       ds = {wStatus = "\000"}
       cdp = 0xffff000000e79000 <sdta_vfs_vop_vop_spare4_return1+16>
       err = <optimized out>
       selfpowered = <optimized out>
       power = <optimized out>
       max_power = <optimized out>
       do_unlock = <optimized out>
#29 0xffff0000003205f4 in uhub_explore_handle_re_enumerate (
   child=child@entry=0xffffa00087847000) at /usr/src/sys/dev/usb/usb_hub.c:479
       err = <optimized out>
       do_unlock = <optimized out>
#30 0xffff0000003212c4 in uhub_explore_sub (sc=0xffffa0008767b000, 
   up=0xffffa0008786e49c) at /usr/src/sys/dev/usb/usb_hub.c:527
       bus = 0x0
       err = USB_ERR_NORMAL_COMPLETION
       child = 0xffffa00087847000
       refcount = <optimized out>
#31 uhub_explore (udev=0xffffa00087658000)
   at /usr/src/sys/dev/usb/usb_hub.c:1107
       hub = 0xffffa0008786e400
       sc = 0xffffa0008767b000
       x = <optimized out>
       retval = USB_ERR_NORMAL_COMPLETION
       up = 0xffffa0008786e49c
       portno = 2 '\002'
       err = <optimized out>
       do_unlock = <optimized out>
#32 0xffff00000032130c in uhub_explore_sub (sc=0xffffa00087473580, 
   up=0xffffa00087448a9c) at /usr/src/sys/dev/usb/usb_hub.c:547
       bus = <optimized out>
       err = USB_ERR_NORMAL_COMPLETION
       child = 0xffffa00087658000
       refcount = <optimized out>
#33 uhub_explore (udev=0xffffa00087440000)
   at /usr/src/sys/dev/usb/usb_hub.c:1107
       hub = 0xffffa00087448a00
       sc = 0xffffa00087473580
       x = <optimized out>
       retval = USB_ERR_NORMAL_COMPLETION
       up = 0xffffa00087448a9c
       portno = 2 '\002'
       err = <optimized out>
       do_unlock = <optimized out>
#34 0xffff00000032130c in uhub_explore_sub (sc=0xffffa00080d88b00, 
   up=0xffffa00080da9bcc) at /usr/src/sys/dev/usb/usb_hub.c:547
       bus = <optimized out>
       err = USB_ERR_NORMAL_COMPLETION
       child = 0xffffa00087440000
       refcount = <optimized out>
#35 uhub_explore (udev=0xffffa00080de4000)
   at /usr/src/sys/dev/usb/usb_hub.c:1107
       hub = 0xffffa00080da9b00
       sc = 0xffffa00080d88b00
       x = <optimized out>
       retval = USB_ERR_NORMAL_COMPLETION
       up = 0xffffa00080da9bcc
       portno = 5 '\005'
       err = <optimized out>
       do_unlock = <optimized out>
#36 0xffff00000030c65c in usb_bus_explore (pm=<optimized out>)
   at /usr/src/sys/dev/usb/controller/usb_controller.c:409
       udev = 0xffffa00080de4000
       bus = 0xffff00010ef84428
#37 0xffff000000326434 in usb_process (arg=arg@entry=0xffff00010ef84538)
   at /usr/src/sys/dev/usb/usb_process.c:160
       up = 0xffff00010ef84538
       td = <optimized out>
       pm = 0xffff00010ef845e8
#38 0xffff0000004cc260 in fork_exit (callout=0xffff000000326320 <usb_process>, 
   arg=0xffff00010ef84538, frame=0xffff00010cfeca00)
   at /usr/src/sys/kern/kern_fork.c:1155
       td = 0xffff0000eb228640
       p = 0xffffa000824acaa0
       dtd = <optimized out>
#39 <signal handler called>


===
Mark Millard
marklmi at yahoo.com