NetBSD-Bugs archive

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

Re: kern/60637: destroying a vlan interface with a configured parent interface hangs



The following reply was made to PR kern/60637; it has been noted by GNATS.

From: joe%ns1.eloisystems.com@localhost
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: kern/60637: destroying a vlan interface with a configured parent
 interface hangs
Date: Tue, 25 Aug 2026 20:10:16 +0000

 On Tue, Aug 25, 2026 at 07:05:02PM +0000, Taylor R Campbell via gnats wrote:
 > The following reply was made to PR kern/60637; it has been noted by GNATS.
 > 
 > From: Taylor R Campbell <riastradh%NetBSD.org@localhost>
 > To: Emmanuel Nyarko <joe%ns1.eloisystems.com@localhost>
 > Cc: gnats-bugs%NetBSD.org@localhost, netbsd-bugs%NetBSD.org@localhost
 > Subject: Re: kern/60637: destroying a vlan interface with a configured parent interface hangs
 > Date: Tue, 25 Aug 2026 19:04:01 +0000
 > 
 >  > Date: Mon, 24 Aug 2026 20:27:18 +0000 (UTC)
 >  > From: Emmanuel Nyarko <joe%ns1.eloisystems.com@localhost>
 >  > 
 >  > >Description:
 >  > 
 >  > The usual procedure to configuring a vlan interface is 
 >  > 
 >  > create the vlan interface, configure it with a vlan ID and a parent
 >  > 
 >  > when shutting it down, 
 >  > 
 >  > unconfigure it
 >  > and 
 >  > destroy it and this works without hanging.
 >  > 
 >  > but running destroy when not unconfigured hangs. 
 >  > >How-To-Repeat:
 >  > 
 >  > ifconfig vlan0 create
 >  > ifconfig vlan0 vlan 6 vlanif $interface
 >  > ifconfig vlan0 destroy
 >  
 >  I tried this in a VM with interface=vioif0 and it worked fine.
 
 so the funny case here is that it hangs 80 percent of time.
 i tried it five times, it hung four time and didn't one time.
 
 >  
 >  Can you share the output of the following, before it hangs?
 >  
 >  1. ifconfig -a
 >  2. dmesg
 >  3. when it hangs, start crash(8) in another terminal (or start it
 >     before the hang) and run:
 >     - ps
 >     - show all tstiles/t
 
 so I got it though DDB and this is what i got.
 
 * Lock 1 (initialized at netbsd:if_initialize+0x10e)
 lock address : ffffc674c3581f40
 type         : sleep/adaptive
 initialized  : netbsd:if_initialize+0x10e
 shared holds :                  0 exclusive:                  1
 shares wanted:                  0 exclusive:                  2
 relevant cpu :                  1 last held:                  1
 relevant lwp : 0xffffc674c4278800 last held: 0xffffc674c4278800
 last locked* : netbsd:if_detach+0x61
 unlocked     : netbsd:vlan_clone_destroy+0x5c
 owner field  : 0xffffc674c4278800 wait/spin:                1/0
 Turnstile: 
 => 0 waiting readers:
 => 2 waiting writers: 0xffffc675380a4c00 0xffffc674c2743000
            
 *** Locks wanted:
 
 workqueue_wait(ifnet_link_state_wq, &ifp->if_link_work);
 
 i got some printfs in and never run past this function.
 
 this is the function causing it i am now convinced.
 
 >  
 >  Also, are you running with any local patches?
 
 no patches. this is a GENERIC kernel using wm0 interface on a VM.
 



Home | Main Index | Thread Index | Old Index