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

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm,gmane.os.freebsd.current
Message-ID <[email protected]>
# 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
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.