NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/50491: unkillable wait in usbd_transfer while using usmsc0 on raspberry pi 2
The following reply was made to PR kern/50491; it has been noted by GNATS.
From: Michael Plass <mfpnb%plass-family.net@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: Michael Plass <mfpnb%plass-family.net@localhost>
Subject: Re: kern/50491: unkillable wait in usbd_transfer while using usmsc0 on raspberry pi 2
Date: Fri, 4 Dec 2015 00:17:39 -0800
On Dec 2, 2015, at 11:35 PM, Nick Hudson wrote:
>>
>> PID LID S CPU FLAGS STRUCT LWP * NAME WAIT
>> 230 1 3 0 0 bacfab60 cleanup tstile
>
>
>> 2583 1 3 3 0 ba46a0c0 sshd tstile
>
>> 0 31 3 3 200 bada4880 softclk/3 tstile
>
>
>> 0 5 3 0 200 baf05340 softclk/0 tstile
>
>> 0 3 3 0 200 baf058c0 softnet/0 tstile
>
>
> Backtraces from these might help, but see below...
This time I have:
db{0}> ps
PID LID S CPU FLAGS STRUCT LWP * NAME WAIT
4207 1 3 0 80 b7c643e0 sh ttyout
2014 1 3 0 80 bac1b6a0 sh wait
4858 1 3 0 0 b5a226c0 mdnsd tstile
1156 1 3 0 0 b5a22980 mdnsd tstile
1512 1 3 2 0 b90b2ec0 mdnsd tstile
422 1 3 0 0 b9dbbc60 mdnsd tstile
2891 1 3 0 0 bacfa060 mdnsd tstile
4344 1 3 0 0 ba2bf6c0 mdnsd tstile
930 1 3 0 0 b7c659e0 mdnsd tstile
242 1 3 0 0 b7c651a0 mdnsd tstile
2591 1 3 0 0 b7c64ee0 mdnsd tstile
169 1 3 0 0 b7c64960 mdnsd tstile
4268 1 3 0 0 b7c646a0 mdnsd tstile
4054 1 3 1 0 b5a22f00 mdnsd tstile
3260 1 3 0 0 b7c64c20 mdnsd tstile
1160 1 3 0 0 b7c65460 mdnsd tstile
3779 1 3 0 0 b7c64120 mdnsd usbxfer
3643 1 3 3 80 b5a23a00 find ttyout
2903 1 3 3 80 b9dbb420 sh wait
2702 1 3 1 0 b9dbaea0 sshd tstile
706 1 3 1 80 b9dbb160 sshd select
82 1 3 0 80 bac1b3e0 sh wait
80 1 3 0 80 bac1a8e0 su wait
71 1 3 0 80 b9dbb6e0 sh wait
70 1 3 0 0 b9dbb9a0 sshd tstile
73 1 3 1 80 b9dba660 sshd select
2667 1 3 3 80 bacfae20 getty ttyraw
2559 1 3 2 80 b90b2100 cron nanoslp
1517 1 3 0 80 b7c65720 inetd kqueue
2196 1 3 1 80 b90b3700 qmgr kqueue
2129 1 3 0 80 b9dba0e0 pickup kqueue
2005 1 3 1 80 b7c65ca0 master kqueue
1785 1 3 1 80 bac1a360 sshd select
1725 1 3 3 80 b90b3c80 ntpd pause
1662 1 3 0 80 ba2bf400 devpubd devmon
740 1 3 1 80 bac1a620 syslogd kqueue
613 1 3 3 80 ba2bfc40 dhcpcd select
1 1 3 3 80 bacfa320 init wait
0 64 3 1 200 bacfa8a0 physiod physiod
0 63 3 1 280 bac1b960 VCHIQka-0 lnxcmplt
0 62 3 0 200 bac1bc20 aiodoned aiodoned
0 61 3 1 200 bacc0080 ioflush syncer
0 60 3 1 200 bacc0340 pgdaemon pgdaemon
0 59 3 1 280 bacc0600 vcaudio data
0 58 3 1 280 bacc08c0 VCHIQs-0 semacv
0 57 3 1 280 bacc0b80 VCHIQr-0 semacv
0 56 3 1 280 bacc0e40 VCHIQ-0 semacv
0 53 3 1 200 bacc1100 usb0 usbevt
0 52 3 1 200 bacc1c00 unpgc unpgc
0 50 3 1 200 bacc1940 vmem_rehash vmem_rehash
0 49 3 2 200 bacc13c0 sdmmc0 mmctaskq
0 48 3 0 200 bacc1680 vcmbox0 vcmbox0
0 39 3 3 200 bacfb0e0 usbtask-dr usbxfer
0 38 3 0 200 bacfb3a0 usbtask-hc usbtsk
0 37 3 0 200 bacfb660 dwc2 dwc2
0 36 3 1 200 bacfb920 iic1 iicintr
0 35 3 0 200 bacfbbe0 iic0 iicintr
0 34 3 0 200 bada4040 sysmon smtaskq
0 33 3 3 200 bada4300 xcall/3 xcall
0 32 1 3 200 bada45c0 softser/3
0 31 1 3 200 bada4880 softclk/3
0 30 1 3 200 bada4b40 softbio/3
0 29 1 3 200 bada4e00 softnet/3
0 > 28 7 3 201 bada50c0 idle/3
0 27 3 2 200 bada5380 xcall/2 xcall
0 26 1 2 200 bada5640 softser/2
0 25 1 2 200 bada5900 softclk/2
0 24 1 2 200 bada5bc0 softbio/2
0 23 1 2 200 badd4020 softnet/2
0 > 22 7 2 201 badd42e0 idle/2
0 21 3 1 200 badd45a0 xcall/1 xcall
0 20 1 1 200 badd4860 softser/1
0 19 3 1 200 badd4b20 softclk/1 tstile
0 18 1 1 200 badd4de0 softbio/1
0 17 1 1 200 badd50a0 softnet/1
0 > 16 7 1 201 badd5360 idle/1
0 15 3 0 200 badd5620 pmfsuspend pmfsuspend
0 14 3 2 200 badd58e0 pmfevent pmfevent
0 13 3 0 200 badd5ba0 sopendfree sopendfr
0 12 3 3 200 baf04000 nfssilly nfssilly
0 11 3 3 200 baf042c0 cachegc cachegc
0 10 3 0 200 baf04580 vrele vrele
0 9 3 0 200 baf04840 vdrain vdrain
0 8 3 0 200 baf04b00 modunload mod_unld
0 7 3 0 200 baf04dc0 xcall/0 xcall
0 6 1 0 200 baf05080 softser/0
0 5 1 0 200 baf05340 softclk/0
0 4 1 0 200 baf05600 softbio/0
0 3 3 0 200 baf058c0 softnet/0 tstile
0 > 2 7 0 201 baf05b80 idle/0
0 1 3 0 200 805718c0 swapper uvm
db{0}> bt/a b5a226c0
trace: pid 4858 lid 1 at 0xb4f83d5c
0xb4f83d5c: netbsd:mi_switch+0x10
0xb4f83d8c: netbsd:sleepq_block+0xb4
0xb4f83dcc: netbsd:turnstile_block+0x3e8
0xb4f83e2c: netbsd:mutex_enter+0x220
0xb4f83e4c: netbsd:sosetlock+0x58
0xb4f83e6c: netbsd:udp_attach_wrapper+0x30
0xb4f83e9c: netbsd:socreate+0x158
0xb4f83ee4: netbsd:fsocreate+0xac
0xb4f83f0c: netbsd:sys___socket30+0x30
0xb4f83f7c: netbsd:syscall+0x88
0xb4f83fac: netbsd:swi_handler+0x98
(other 'mdnsd tstile' threads are similar)
# 3779 1 3 0 0 b7c64120 mdnsd usbxfer
db{0}> bt/a b7c64120
trace: pid 3779 lid 1 at 0xb5895b6c
0xb5895b6c: netbsd:mi_switch+0x10
0xb5895b9c: netbsd:sleepq_block+0xb4
0xb5895bcc: netbsd:cv_wait+0x104
0xb5895bfc: netbsd:usbd_transfer+0x23c
0xb5895c4c: netbsd:usbd_do_request_flags_pipe+0xd8
0xb5895c74: netbsd:usbd_do_request+0x38
0xb5895ca4: netbsd:smsc_write_reg+0x60
0xb5895cd4: netbsd:smsc_ioctl+0x124
0xb5895d7c: netbsd:if_mcast_op+0x50
0xb5895db4: netbsd:in_addmulti+0xc0
0xb5895e1c: netbsd:ip_ctloutput+0xa4c
0xb5895e4c: netbsd:udp_ctloutput+0x94
0xb5895e6c: netbsd:udp_ctloutput_wrapper+0x30
0xb5895ed4: netbsd:sosetopt+0x6c
0xb5895f0c: netbsd:sys_setsockopt+0x84
0xb5895f7c: netbsd:syscall+0x88
0xb5895fac: netbsd:swi_handler+0x98
# 2702 1 3 1 0 b9dbaea0 sshd tstile
db{0}> bt/a b9dbaea0
trace: pid 2702 lid 1 at 0xb9f8dc24
0xb9f8dc24: netbsd:mi_switch+0x10
0xb9f8dc54: netbsd:sleepq_block+0xb4
0xb9f8dc94: netbsd:turnstile_block+0x3e8
0xb9f8dcf4: netbsd:mutex_enter+0x220
0xb9f8dd1c: netbsd:sopoll+0x24
0xb9f8ddac: netbsd:sel_do_scan+0x304
0xb9f8debc: netbsd:selcommon.part.2+0x12c
0xb9f8df0c: netbsd:sys___select50+0x84
0xb9f8df7c: netbsd:syscall+0x88
0xb9f8dfac: netbsd:swi_handler+0x98
# 0 39 3 3 200 bacfb0e0 usbtask-dr usbxfer
db{0}> bt/a bacfb0e0
trace: pid 0 lid 39 at 0xbacedd7c
0xbacedd7c: netbsd:mi_switch+0x10
0xbaceddac: netbsd:sleepq_block+0xb4
0xbacedddc: netbsd:cv_wait+0x104
0xbacede0c: netbsd:usbd_transfer+0x23c
0xbacede5c: netbsd:usbd_do_request_flags_pipe+0xd8
0xbacede84: netbsd:usbd_do_request+0x38
0xbacedeb4: netbsd:smsc_read_reg+0x60
0xbacededc: netbsd:smsc_wait_for_bits+0x4c
0xbacedf04: netbsd:smsc_miibus_readreg+0x4c
0xbacedf2c: netbsd:mii_phy_tick+0x68
0xbacedf4c: netbsd:ukphy_service+0xac
0xbacedf64: netbsd:mii_tick+0x54
0xbacedf7c: netbsd:smsc_tick_task+0x34
0xbacedfac: netbsd:usb_task_thread+0x10c
# 0 19 3 1 200 badd4b20 softclk/1 tstile
db{0}> bt/a badd4b20
trace: pid 0 lid 19 at 0xbadb9e2c
0xbadb9e2c: netbsd:mi_switch+0x10
0xbadb9e5c: netbsd:sleepq_block+0xb4
0xbadb9e9c: netbsd:turnstile_block+0x3e8
0xbadb9efc: netbsd:mutex_enter+0x220
0xbadb9f14: netbsd:frag6_fasttimo+0x24
0xbadb9f2c: netbsd:pffasttimo+0x58
0xbadb9f64: netbsd:callout_softclock+0x194
0xbadb9fac: netbsd:softint_dispatch+0xd4
Bad frame pointer: 0x805f9f54
# 0 3 3 0 200 baf058c0 softnet/0 tstile
db{0}> bt/a baf058c0
trace: pid 0 lid 3 at 0xbaeffe24
0xbaeffe24: netbsd:mi_switch+0x10
0xbaeffe54: netbsd:sleepq_block+0xb4
0xbaeffe94: netbsd:turnstile_block+0x3e8
0xbaeffef4: netbsd:mutex_enter+0x220
0xbaefff64: netbsd:ipintr+0x3c
0xbaefffac: netbsd:softint_dispatch+0xd4
Bad frame pointer: 0xba987fac
>
>> db{0}> bt/t 0t230
>> trace: pid 230 lid 1 at 0xbaccdd4c
>> 0xbaccdd4c: netbsd:mi_switch+0x10
>> 0xbaccdd7c: netbsd:sleepq_block+0xb4
>> 0xbaccddbc: netbsd:turnstile_block+0x3e8
>> 0xbaccde1c: netbsd:mutex_enter+0x220
>> 0xbaccde3c: netbsd:sosetlock+0x58
>> 0xbaccde6c: netbsd:tcp_attach_wrapper+0x30
>> 0xbaccde9c: netbsd:socreate+0x158
>> 0xbaccdee4: netbsd:fsocreate+0xac
>> 0xbaccdf0c: netbsd:sys___socket30+0x30
>> 0xbaccdf7c: netbsd:syscall+0x88
>> 0xbaccdfac: netbsd:swi_handler+0x98
>
> Blocked on softnet_lock in sosetlock
>
> x/x softnet_lock should tell us who owns it. Get a backtrace from the
> offending lwp.
Unfortunately, softnet_lock does not seem to point to a valid LWP.
Could a thread have exited while holding the lock?
db{0}> x/x softnet_lock
netbsd:softnet_lock: bafadf40
db{0}> bt/a bafadf40
trace: pid 0 lid 7235937 at 0xbaaaab2a
0xbaaaab2a: 8855e086
Home |
Main Index |
Thread Index |
Old Index