NetBSD-Bugs archive

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

kern/49065: ifconfig tun0 ... sequence locks up system



>Number:         49065
>Category:       kern
>Synopsis:       ifconfig tun0 ... sequence locks up system
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Aug 02 09:40:00 +0000 2014
>Originator:     Frank Kardel
>Release:        NetBSD 6.99.49
>Organization:
        
>Environment:
        
        
System: NetBSD rpi 6.99.49 NetBSD 6.99.49 (RPISENSOR) #1: Thu Jul 31 16:11:24 
CEST 2014 
kardel@Andromeda:/usr/srcfresh/src/sys/arch/evbarm/compile/obj.evbarm/RPISENSOR 
evbarm
Architecture: earmv6hf
Machine: evbarm
>Description:
        setting PTP parameters on tun0 twice will lock up the system.
        look like an error path does not unlock the socket structure.
        ddb state at lockup
        db> ps
        PID    LID S CPU     FLAGS       STRUCT LWP *               NAME WAIT
        2991     1 3   0         0           d9c4f120           ifconfig tstile
        3803     1 3   0        80           d9c4f960                 sh wait
        3637     1 3   0        80           dbcf93a0              login wait
        3470     1 3   0        80           d9d1abc0               cron nanoslp
        3212     1 3   0        80           d9d1b400              inetd kqueue
        3093     1 3   0         0           d9c4fc20              mdnsd usbxfer
        3192     1 3   0        80           d9c4f6a0               qmgr kqueue
        2988     1 3   0        80           d9c4f3e0             pickup kqueue
        754      1 3   0        80           d9d1b6c0             master kqueue
        2174     1 3   0        80           d9c4e360               sshd select
        1718     1 3   0        80           d9c4e8e0               ntpd netio
        1679     1 3   0        80           d9c4e0a0               ntpd pause
        1317     1 3   0        80           dbcf8320            devpubd devmon
        1139     1 3   0        80           db91f3c0               perl select
        599      4 3   0        80           db91eb80              named kqueue
        599      3 3   0        80           db91ee40              named parked
        599      2 3   0         0           db91f100              named tstile
        599      1 3   0  10000080           db91f680              named sigwait
        570      1 3   0        80           db91f940            syslogd kqueue
        1        1 3   0        80           dbda9380               init wait
        0       48 3   0       200           db91e600           onewire0 owidle
        0       47 3   0       200           dbda9900            physiod physiod
        0       46 3   0       280           dbcf9660          VCHIQka-0 
lnxcmplt
        0       45 3   0       200           dbcf9920           aiodoned 
aiodoned
        0       44 3   0       200           dbcf9be0            ioflush syncer
        0       43 3   0       200           dbda9bc0           pgdaemon 
pgdaemon
        0       42 3   0       200           dbda8040          vcaudiowq 
vcaudiowq
        0       41 3   0       280           dbda8300           VCHIQs-0 semacv
        0       40 3   0       280           dbda85c0           VCHIQr-0 semacv
        0       39 3   0       280           dbe6a020            VCHIQ-0 semacv
        0       36 3   0       200           dbe6a2e0            pfpurge pftm
        0       35 3   0       200           dbda9640               usb0 usbevt
        0       33 3   0       200           dbda90c0              unpgc unpgc
        0       32 3   0       200           dbda8e00        vmem_rehash 
vmem_rehash
        0       31 3   0       200           dbda8880             sdmmc0 
mmctaskq
        0       30 3   0       200           dbda8b40            vcmbox0 vcmbox0
        0       21 3   0       200           dbe6a5a0         usbtask-dr usbtsk
        0       20 3   0       200           dbe6a860         usbtask-hc usbtsk
        0       19 3   0       200           dbe6ab20               dwc2 dwc2
        0       18 3   0       200           dbe6ade0               iic1 iicintr
        0       17 3   0       200           dbe6b0a0               iic0 iicintr
        0       16 3   0       200           dbe6b360             sysmon smtaskq
        0       15 3   0       200           dbe6b620         pmfsuspend 
pmfsuspend
        0       14 3   0       200           dbe6b8e0           pmfevent 
pmfevent
        0       13 3   0       200           dbe6bba0         sopendfree 
sopendfr
        0       12 3   0       200           dbf28000           nfssilly 
nfssilly
        0       11 3   0       200           dbf282c0            cachegc cachegc
        0       10 3   0       200           dbf28580              vrele vrele
        0        9 3   0       200           dbf28840             vdrain vdrain
        0        8 3   0       200           dbf28b00          modunload 
mod_unld
        0        7 3   0       200           dbf28dc0            xcall/0 xcall
        0        6 1   0       200           dbf29080          softser/0
        0        5 3   0       200           dbf29340          softclk/0 tstile
        0        4 1   0       200           dbf29600          softbio/0
        0        3 3   0       200           dbf298c0          softnet/0 tstile
        0    >   2 7   0       201           dbf29b80             idle/0
        0        1 3   0       200           c0573360            swapper uvm
        db> bt/t BAF
        trace: pid 2991 lid 1 at 0xd9ae1cf4
        0xd9ae1cf4: netbsd:mi_switch+0xc
        0xd9ae1d24: netbsd:sleepq_block+0xa4
        0xd9ae1d64: netbsd:turnstile_block+0x3b8
        0xd9ae1dac: netbsd:mutex_enter+0x16c
        0xd9ae1dd4: netbsd:soclose+0x20
        0xd9ae1dec: netbsd:soo_close+0x20
        0xd9ae1e2c: netbsd:closef+0x6c
        0xd9ae1e74: netbsd:fd_free+0x174
        0xd9ae1eec: netbsd:exit1+0x100
        0xd9ae1f0c: netbsd:sys_exit+0x3c
        0xd9ae1f7c: netbsd:syscall+0x8c
        0xd9ae1fac: netbsd:swi_handler+0x98
        db>

>How-To-Repeat:
        Following sequence will lock up on an rpi.
        rpi# ifconfig tun0 create
        rpi# ifconfig tun0 10.200.100.1 10.0.0.200 netmask 0xffffffff up
        rpi# ifconfig tun0 10.200.100.1 10.0.0.200 netmask 0xffffffff up
        this used to work before.
>Fix:
        deleting the PTP config first will circumvent the bug
        rpi# ifconfig tun0 create
        rpi# ifconfig tun0 10.200.100.1 10.0.0.200 netmask 0xffffffff up
        rpi# ifconfig tun0 delete 10.200.100.1 10.0.0.200
        rpi# ifconfig tun0 10.200.100.1 10.0.0.200 netmask 0xffffffff up

>Unformatted:
        
        


Home | Main Index | Thread Index | Old Index