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

"[email protected] via gnats" <[email protected]>
Newsgroups gmane.os.netbsd.bugs
Message-ID <[email protected]>
The following reply was made to PR kern/60637; it has been noted by GNATS.

From: [email protected]
To: [email protected]
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 <[email protected]>
 > To: Emmanuel Nyarko <[email protected]>
 > Cc: [email protected], [email protected]
 > 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 <[email protected]>
 >  > 
 >  > >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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.