NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/51714: uftdi (on xhci): mutex_vector_enter: locking against myself



coypu%sdf.org@localhost wrote:
> >Number:         51714
> >Category:       kern
> >Synopsis:       uftdi (on xhci): mutex_vector_enter: locking against myself
> >Confidential:   no
> >Severity:       serious
> >Priority:       medium
> >Responsible:    kern-bug-people
> >State:          open
> >Class:          sw-bug
> >Submitter-Id:   net
> >Arrival-Date:   Tue Dec 13 19:30:02 +0000 2016
> >Originator:     coypu
> >Release:        NetBSD 7.99.46
> >Organization:
> >Environment:
> NetBSD box 7.99.46 NetBSD 7.99.46 (GENERIC) #3: Mon Dec 12 21:01:23 IST 2016  fly@box:/home/fly/gcc/sys/arch/amd64/compile/GENERIC amd64
> >Description:
> "Heavy load" (I was using 'while true; do dmesg; done' on the target machine) & killing cu / detaching cable.

I can reliably reproduce the same panic on an idle box without
detaching. Running

# cu -s 115200 -l /dev/dtyU0

always triggers the panic.


NetBSD nebeda 7.99.46 NetBSD 7.99.46 (GENERIC) #0: Mon Dec 12 22:52:14
GMT 2016
alnsn@nebeda:/home/alnsn/netbsd-current/clean/src/sys/arch/amd64/compile/obj/GENERIC
amd64

uftdi0 at uhub0 port 3
uftdi0: FTDI FT232R USB UART, rev 2.00/6.00, addr 2
ucom0 at uftdi0 portno 1
uftdi0: detached
uftdi0: at uhub0 port 3 (addr 2) disconnected
uftdi0 at uhub3 port 4
uftdi0: FTDI FT232R USB UART, rev 2.00/6.00, addr 3
ucom0 at uftdi0 portno 1
uftdi_read() at netbsd:uftdi_read+0x3c
uftdi0 at uhub3 port 4
uftdi0: FTDI FT232R USB UART, rev 2.00/6.00, addr 3
ucom0 at uftdi0 portno 1
uftdi_read() at netbsd:uftdi_read+0x3c
uftdi0 at uhub4 port 4
uftdi0: FTDI FT232R USB UART, rev 2.00/6.00, addr 3
ucom0 at uftdi0 portno 1

panic: lock error: Mutex: mutex_vector_enter: locking against myself:
lock 0xfffffe8107ceabb0 cpu 0 lwp 0xfffffe811f12c440
cpu0: Begin traceback...
vpanic() at netbsd:vpanic+0x140
snprintf() at netbsd:snprintf
lockdebug_abort() at netbsd:lockdebug_abort+0x63
mutex_vector_enter() at netbsd:mutex_vector_enter+0x369
ucom_status_change() at netbsd:ucom_status_change+0x52
uftdi_read() at netbsd:uftdi_read+0x3c
ucomreadcb() at netbsd:ucomreadcb+0x183
usb_transfer_complete() at netbsd:usb_transfer_complete+0x149
ehci_softintr() at netbsd:ehci_softintr+0x19c
usb_soft_intr() at netbsd:usb_soft_intr+0x1f
softint_dispatch() at netbsd:softint_dispatch+0xd3
DDB lost frame for netbsd:Xsoftintr+0x4f, trying 0xfffffe80da664ff0
Xsoftintr() at netbsd:Xsoftintr+0x4f
--- interrupt ---
0:
cpu0: End traceback...
uvm_fault(0xfffffe80887d68b0, 0x0, 2) -> e

fatal page fault in supervisor mode
dumping to dev 0,1 (offset=8601183, size=1022122):
trap type 6 code 2 rip ffffffff808491bc cs 8 rflags 10286 cr2 84 ilevel
8 rsp fffffe80aa567b20
dump curlwp 0xfffffe8107ee9720 pid 6516.1 lowest kstack
0xfffffe80aa5642c0


I don't see this problem on a different box running a newer (7.99.59)
kernel.

Alex


Home | Main Index | Thread Index | Old Index