I have a repeatable kernel panic connecting a 2TB USB disk to a
Pine64-LTS (aarch64) system running 6.7 + syspatch up to 023_amdgpu.
It's happened twice on two attempts, so I expect I'll be able to
reproduce it any time I can allocate time to crash my desktop system
(which might require a few days of turnaround time).
Included below:
- usbdevs output
- kernel messages + ddb session captured via serial console
'usbdevs -v' on the running system without the troublesome disk
connected:
--------
Controller /dev/usb0:
addr 01: 0000:0000 Generic, EHCI root hub
high speed, self powered, config 1, rev 1.00
driver: uhub0
Controller /dev/usb1:
addr 01: 0000:0000 Generic, EHCI root hub
high speed, self powered, config 1, rev 1.00
driver: uhub1
addr 02: 2109:2817 VIA Labs, Inc., USB2.0 Hub
high speed, self powered, config 1, rev 2.14
driver: uhub4
addr 03: 17f6:0905 Unicomp, Endura Pro Keyboard
low speed, power 98 mA, config 1, rev 43.34
driver: uhidev0
driver: uhidev1
addr 04: 046d:c069 Logitech, USB Laser Mouse
low speed, power 98 mA, config 1, rev 56.01
driver: uhidev2
addr 05: 174c:1153 ASMedia, AS2115
high speed, self powered, config 1, rev 0.01, iSerial
00000000000000000000
driver: umass0
Controller /dev/usb2:
addr 01: 0000:0000 Generic, OHCI root hub
full speed, self powered, config 1, rev 1.00
driver: uhub2
Controller /dev/usb3:
addr 01: 0000:0000 Generic, OHCI root hub
full speed, self powered, config 1, rev 1.00
driver: uhub3
--------
console capture:
(I've trimmed out the u-boot and boot(8) output; I also have those
if they're needed. To get to the messages from plugging in the
device and the crash that followed within half a minute or so,
search for 'squirrel' (the hostname from the login banner).)
--------
[ using 2024680 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2020 OpenBSD. All rights reserved. https://www.OpenBSD.org
OpenBSD 6.7 (GENERIC.MP) #6: Thu Sep 3 13:33:49 MDT 2020
[email protected]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
real mem = 2015739904 (1922MB)
avail mem = 1923715072 (1834MB)
mainbus0 at root: Pine64 LTS
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 512KB 64b/line 16-way L2 cache
efi0 at mainbus0: UEFI 2.7
efi0: Das U-Boot rev 0x20190100
apm0 at mainbus0
psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
"display-engine" at mainbus0 not configured
"osc24M_clk" at mainbus0 not configured
"osc32k_clk" at mainbus0 not configured
"pmu" at mainbus0 not configured
"sound" at mainbus0 not configured
"sound_spdif" at mainbus0 not configured
"spdif-out" at mainbus0 not configured
agtimer0 at mainbus0: tick rate 24000 KHz
simplebus0 at mainbus0: "soc"
sxisyscon0 at simplebus0
sxisid0 at simplebus0
sxiccmu0 at simplebus0
sxipio0 at simplebus0: 103 pins
ampintc0 at simplebus0 nirq 224, ncpu 4 ipi: 0, 1: "interrupt-controller"
sxirtc0 at simplebus0
sxiccmu1 at simplebus0
sxipio1 at simplebus0: 13 pins
sxirsb0 at simplebus0
axppmic0 at sxirsb0 addr 0x3a3: AXP803
"bus" at simplebus0 not configured
"dma-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"lcd-controller" at simplebus0 not configured
"video-codec" at simplebus0 not configured
sximmc0 at simplebus0
sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
sximmc1 at simplebus0
sdmmc1 at sximmc1: 8-bit, sd high-speed, mmc high-speed, dma
"crypto" at simplebus0 not configured
"usb" at simplebus0 not configured
"phy" at simplebus0 not configured
ehci0 at simplebus0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00
addr 1
ohci0 at simplebus0: version 1.0
ehci1 at simplebus0
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00
addr 1
ohci1 at simplebus0: version 1.0
"dai" at simplebus0 not configured
"codec" at simplebus0 not configured
sxitemp0 at simplebus0
com0 at simplebus0sxiccmu_ccu_reset: 0x0000002e
: ns16550, no working fifo
com0: console
"spi" at simplebus0 not configured
dwxe0 at simplebus0: address 02:bc:b8:a1:ec:e9
rgephy0 at dwxe0 phy 1: RTL8169S/8110S/8211 PHY, rev. 5
"gpu" at simplebus0 not configured
"hdmi" at simplebus0 not configured
"hdmi-phy" at simplebus0 not configured
"interrupt-controller" at simplebus0 not configured
"codec-analog" at simplebus0 not configured
sxidog0 at simplebus0
gpio0 at sxipio0: 32 pins
gpio1 at sxipio0: 32 pins
gpio2 at sxipio0: 32 pins
gpio3 at sxipio0: 32 pins
gpio4 at sxipio0: 32 pins
gpio5 at sxipio0: 32 pins
gpio6 at sxipio0: 32 pins
gpio7 at sxipio0: 32 pins
gpio8 at sxipio1: 32 pins
usb2 at ohci0: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00
addr 1
usb3 at ohci1: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "Generic OHCI root hub" rev 1.00/1.00
addr 1
"opp_table0" at mainbus0 not configured
"hdmi-connector" at mainbus0 not configured
"vcc1v8" at mainbus0 not configured
simplefb0 at mainbus0: 1280x1024, 32bpp
wsdisplay0 at simplefb0 mux 1
wsdisplay0: screen 0-5 added (std, vt100 emulation)
cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu1: 512KB 64b/line 16-way L2 cache
cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
cpu2: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu2: 512KB 64b/line 16-way L2 cache
cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
cpu3: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu3: 512KB 64b/line 16-way L2 cache
sdmmc0: can't enable card
scsibus0 at sdmmc1: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <SD/MMC, NCard, 0000> removable
sd0: 59000MB, 512 bytes/sector, 120832000 sectors
uhub4 at uhub1 port 1 configuration 1 interface 0 "VIA Labs, Inc. USB2.0 Hub"
rev 2.10/2.14 addr 2
uhidev0 at uhub4 port 2 configuration 1 interface 0 "Unicomp Endura Pro
Keyboard" rev 1.10/43.34 addr 3
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 variable keys, 6 key codes
wskbd0 at ukbd0 mux 1
wskbd0: connecting to wsdisplay0
uhidev1 at uhub4 port 2 configuration 1 interface 1 "Unicomp Endura Pro
Keyboard" rev 1.10/43.34 addr 3
uhidev1: iclass 3/1, 3 report ids
ums0 at uhidev1 reportid 1: 3 buttons, Z dir
wsmouse0 at ums0 mux 0
uhid0 at uhidev1 reportid 2: input=2, output=0, feature=0
uhid1 at uhidev1 reportid 3: input=1, output=0, feature=0
uhidev2 at uhub4 port 3 configuration 1 interface 0 "Logitech USB Laser Mouse"
rev 2.00/56.01 addr 4
uhidev2: iclass 3/1
ums1 at uhidev2: 8 buttons, Z and W dir
wsmouse1 at ums1 mux 0
umass0 at uhub4 port 4 configuration 1 interface 0 "ASMedia AS2115" rev
2.10/0.01 addr 5
umass0: using SCSI over Bulk-Only
scsibus1 at umass0: 2 targets, initiator 0
sd1 at scsibus1 targ 1 lun 0: <ASMT, 2115, 0> serial.174c1153000000000000
sd1: 238475MB, 512 bytes/sector, 488397168 sectors
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on sd0a (823130ad660d9ca0.a) swap on sd0b dump on sd0b
WARNING: / was not properly unmounted
WARNING: bad clock chip time
WARNING: CHECK AND RESET THE DATE!
Automatic boot in progress: starting file system checks.
/dev/sd0a (823130ad660d9ca0.a): 1630 files, 40618 used, 151981 free (125 frags,
18982 blocks, 0.1% fragmentation)
/dev/sd0a (823130ad660d9ca0.a): MARKING FILE SYSTEM CLEAN
/dev/sd0n (823130ad660d9ca0.n): 32424 files, 300758 used, 7442425 free (673
frags, 930219 blocks, 0.0% fragmentation)
/dev/sd0n (823130ad660d9ca0.n): MARKING FILE SYSTEM CLEAN
/dev/sd0d (823130ad660d9ca0.d): 10 files, 7 used, 247944 free (32 frags, 30989
blocks, 0.0% fragmentation)
/dev/sd0d (823130ad660d9ca0.d): MARKING FILE SYSTEM CLEAN
/dev/sd0f (823130ad660d9ca0.f): 15663 files, 425199 used, 347000 free (2592
frags, 43051 blocks, 0.3% fragmentation)
/dev/sd0f (823130ad660d9ca0.f): MARKING FILE SYSTEM CLEAN
/dev/sd0g (823130ad660d9ca0.g): 9091 files, 104747 used, 158364 free (6396
frags, 18996 blocks, 2.4% fragmentation)
/dev/sd0g (823130ad660d9ca0.g): MARKING FILE SYSTEM CLEAN
/dev/sd0m (823130ad660d9ca0.m): 53483 files, 1178112 used, 3984263 free (5711
frags, 497319 blocks, 0.1% fragmentation)
/dev/sd0m (823130ad660d9ca0.m): MARKING FILE SYSTEM CLEAN
/dev/sd0k (823130ad660d9ca0.k): 1 files, 1 used, 2672934 free (14 frags, 334115
blocks, 0.0% fragmentation)
/dev/sd0k (823130ad660d9ca0.k): MARKING FILE SYSTEM CLEAN
/dev/sd0j (823130ad660d9ca0.j): 1 files, 1 used, 701998 free (14 frags, 87748
blocks, 0.0% fragmentation)
/dev/sd0j (823130ad660d9ca0.j): MARKING FILE SYSTEM CLEAN
/dev/sd0e (823130ad660d9ca0.e): 1302 files, 42062 used, 304617 free (265 frags,
38044 blocks, 0.1% fragmentation)
/dev/sd0e (823130ad660d9ca0.e): MARKING FILE SYSTEM CLEAN
/dev/sd1a (417218a94724adfa.a): 13070 files, 13721371 used, 46761422 free (270
frags, 5845144 blocks, 0.0% fragmentation)
/dev/sd1a (417218a94724adfa.a): MARKING FILE SYSTEM CLEAN
pf enabled
starting network
dwxe0: 172.16.8.5 lease accepted from 172.16.8.1 (02:20:0e:1b:df:00)
reordering libraries: done.
starting early daemons: syslogd pflogd ntpd.
starting RPC daemons:.
savecore: no core dump
checking quotas: done.
clearing /tmp
kern.securelevel: 0 -> 1
creating runtime link editor directory cache.
preserving editor files.
starting network daemons: sshd smtpd sndiod.
starting local daemons: cron xenodm.
Mon Sep 28 20:32:33 EDT 2020
OpenBSD/arm64 (squirrel.internal.terse.ca) (console)
login: umass1 at uhub4 port 1 configuration 1 interface 0 "Seagate BUP Slim BK"
rev 2.10/1.08 addr 6
umass1: using SCSI over Bulk-Only
scsibus4 at umass1: 2 targets, initiator 0
sd2 at scsibus4 targ 1 lun 0: <Seagate, BUP Slim BK, 0108>
panic: ehci_device_clear_toggle: queue active
Stopped at panic+0x150: TID PID UID PRFLAGS PFLAGS C
PU COMMAND
*252899 93057 0 0x14000 0x200 2K usbatsk
db_enter() at panic+0x14c
panic() at umass_bbb_state+0x168
umass_bbb_state() at usb_transfer_complete+0x224
usb_transfer_complete() at ehci_abort_xfer+0x25c
ehci_abort_xfer() at ehci_timeout_task+0x34
ehci_timeout_task() at usb_abort_task_thread+0xcc
usb_abort_task_thread() at proc_trampoline+0x10
https://www.openbsd.org/ddb.html describes the minimum info required in bug
reports. Insufficient info makes it difficult to find and fix bugs.
ddb{2}> show panic
ehci_device_clear_toggle: queue active
ddb{2}> trace
db_enter() at panic+0x14c
panic() at umass_bbb_state+0x168
umass_bbb_state() at usb_transfer_complete+0x224
usb_transfer_complete() at ehci_abort_xfer+0x25c
ehci_abort_xfer() at ehci_timeout_task+0x34
ehci_timeout_task() at usb_abort_task_thread+0xcc
usb_abort_task_thread() at proc_trampoline+0x10
ddb{2}> machine ddbcpu 0
Stopped at ampintc_ipi_ddb+0x1c: db_enter() at ampintc_ipi_ddb+0x18
ampintc_ipi_ddb() at arm_cpu_intr+0x30
arm_cpu_intr() at handle_el1h_irq+0x6c
handle_el1h_irq() at sched_idle+0x220
sched_idle() at proc_trampoline+0x10
ddb{0}> trace
db_enter() at ampintc_ipi_ddb+0x18
ampintc_ipi_ddb() at arm_cpu_intr+0x30
arm_cpu_intr() at handle_el1h_irq+0x6c
handle_el1h_irq() at sched_idle+0x220
sched_idle() at proc_trampoline+0x10
ddb{0}> machine ddbcpu 1
Stopped at ampintc_ipi_ddb+0x1c: db_enter() at ampintc_ipi_ddb+0x18
ampintc_ipi_ddb() at arm_cpu_intr+0x30
arm_cpu_intr() at handle_el1h_irq+0x6c
handle_el1h_irq() at sched_idle+0x220
sched_idle() at proc_trampoline+0x10
ddb{1}> trace
db_enter() at ampintc_ipi_ddb+0x18
ampintc_ipi_ddb() at arm_cpu_intr+0x30
arm_cpu_intr() at handle_el1h_irq+0x6c
handle_el1h_irq() at sched_idle+0x220
sched_idle() at proc_trampoline+0x10
ddb{1}> machine ddbcpu 2
Stopped at panic+0x150: db_enter() at panic+0x14c
panic() at umass_bbb_state+0x168
umass_bbb_state() at usb_transfer_complete+0x224
usb_transfer_complete() at ehci_abort_xfer+0x25c
ehci_abort_xfer() at ehci_timeout_task+0x34
ehci_timeout_task() at usb_abort_task_thread+0xcc
usb_abort_task_thread() at proc_trampoline+0x10
ddb{2}> trace
db_enter() at panic+0x14c
panic() at umass_bbb_state+0x168
umass_bbb_state() at usb_transfer_complete+0x224
usb_transfer_complete() at ehci_abort_xfer+0x25c
ehci_abort_xfer() at ehci_timeout_task+0x34
ehci_timeout_task() at usb_abort_task_thread+0xcc
usb_abort_task_thread() at proc_trampoline+0x10
ddb{2}> machine ddbcpu 3
Stopped at ampintc_ipi_ddb+0x1c: db_enter() at ampintc_ipi_ddb+0x18
ampintc_ipi_ddb() at arm_cpu_intr+0x30
arm_cpu_intr() at handle_el1h_irq+0x6c
handle_el1h_irq() at sched_idle+0x220
sched_idle() at proc_trampoline+0x10
ddb{3}> trace
db_enter() at ampintc_ipi_ddb+0x18
ampintc_ipi_ddb() at arm_cpu_intr+0x30
arm_cpu_intr() at handle_el1h_irq+0x6c
handle_el1h_irq() at sched_idle+0x220
sched_idle() at proc_trampoline+0x10
ddb{3}> ps
PID TID PPID UID S FLAGS WAIT COMMAND
47943 352539 82206 0 3 0x100080 poll xenodm
64759 462432 92019 0 3 0x100080 netio Xorg
77749 496556 1 0 3 0x100083 ttyin getty
57687 285559 1 0 3 0x100083 ttyin getty
67383 308794 1 0 3 0x100083 ttyin getty
22136 464035 1 0 3 0x100083 ttyin getty
53822 520803 1 0 3 0x100083 ttyin getty
92019 30744 82206 35 3 0x92 poll Xorg
92019 384815 82206 35 3 0x4000092 fsleep Xorg
92019 164004 82206 35 3 0x4000092 fsleep Xorg
92019 443100 82206 35 3 0x4000092 fsleep Xorg
92019 523106 82206 35 3 0x4000092 fsleep Xorg
92019 346264 82206 35 3 0x4000092 poll Xorg
82206 137956 1 0 3 0x88 pause xenodm
49388 244138 1 0 3 0x100098 poll cron
56803 240850 1 99 3 0x100090 poll sndiod
19730 439213 1 110 3 0x100090 poll sndiod
46303 318560 28464 95 3 0x100092 kqread smtpd
24713 396162 28464 103 3 0x100092 kqread smtpd
82819 77928 28464 95 3 0x100092 kqread smtpd
95689 170994 28464 95 3 0x100092 kqread smtpd
70811 161256 28464 95 3 0x100092 kqread smtpd
19221 21652 28464 95 3 0x100092 kqread smtpd
28464 236341 1 0 3 0x100080 kqread smtpd
73860 173581 1 0 3 0x80 select sshd
67815 264005 1 0 3 0x100080 poll ntpd
57242 332726 96358 83 3 0x100092 poll ntpd
96358 182442 1 83 3 0x100092 poll ntpd
82330 311256 64556 74 3 0x100092 bpf pflogd
64556 2577 1 0 3 0x80 netio pflogd
71470 225131 69569 73 3 0x100090 kqread syslogd
69569 448046 1 0 3 0x100082 netio syslogd
53825 272304 1 77 3 0x100090 poll dhclient
60015 247715 1 0 3 0x80 poll dhclient
71266 361470 80087 115 3 0x100092 kqread slaacd
15712 394574 80087 115 3 0x100092 kqread slaacd
80087 440576 1 0 3 0x100080 kqread slaacd
76082 137688 0 0 3 0x14200 bored smr
80518 166 0 0 3 0x14200 pgzero zerothread
94761 368834 0 0 3 0x14200 aiodoned aiodoned
55030 283421 0 0 3 0x14200 syncer update
73946 470612 0 0 3 0x14200 cleaner cleaner
70946 24898 0 0 3 0x14200 reaper reaper
47552 236825 0 0 3 0x14200 pgdaemon pagedaemon
30561 76920 0 0 3 0x14200 bored crynlk
99525 208836 0 0 3 0x14200 bored crypto
73321 201032 0 0 3 0x14200 bored tztq
*82729 85400 0 0 7 0x40014200 idle3
67118 91747 0 0 3 0x40014200 idle2
27501 87229 0 0 7 0x40014200 idle1
35799 449225 0 0 3 0x14200 syncxs usbtask
93057 252899 0 0 7 0x14200 usbatsk
99955 330928 0 0 3 0x14200 mmctsk sdmmc1
95072 190018 0 0 3 0x14200 mmctsk sdmmc0
32982 514718 0 0 3 0x14200 bored sensors
89169 263303 0 0 3 0x14200 bored softnet
59883 310377 0 0 3 0x14200 bored systqmp
74171 518753 0 0 3 0x14200 bored systq
70865 155652 0 0 3 0x40014200 bored softclock
87493 362773 0 0 7 0x40014200 idle0
76937 52985 0 0 3 0x14200 kmalloc kmthread
1 198061 0 0 3 0x82 wait init
0 0 -1 0 3 0x10200 scheduler swapper
ddb{3}>
--------