Anyone wants to fix vtnet locking with IPv6?
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 04 Dec 2025 23:54:11 UTC
Those two come up almost every time I bring IPv6 up inside a bhyve VM. The initial locking with that sleep mtx even twice. Invoking IPv6 network device address event may sleep with the following non-sleepable locks held: exclusive sleep mutex vtnet0-rx0 (vtnet0-rx0) r = 0 (0xfffff800018f4d80) locked @ /usr/sys/dev/virtio/network/if_vtnet.c:2241 stack backtrace: #0 0xffffffff80c0f9dc at witness_debugger+0x6c #1 0xffffffff80c10bf0 at witness_warn+0x430 #2 0xffffffff80dd78a7 at in6_update_ifa+0xc97 #3 0xffffffff80e05416 at in6_ifadd+0x316 #4 0xffffffff80e019b3 at nd6_ra_input+0x10a3 #5 0xffffffff80dd1556 at icmp6_input+0x5b6 #6 0xffffffff80debfa8 at ip6_input+0xc98 #7 0xffffffff80d01e14 at netisr_dispatch_src+0xb4 #8 0xffffffff80ce3eba at ether_demux+0x16a #9 0xffffffff80ce555e at ether_nh_input+0x3ce #10 0xffffffff80d01e14 at netisr_dispatch_src+0xb4 #11 0xffffffff80ce4315 at ether_input+0xd5 #12 0xffffffff809b189e at vtnet_rxq_eof+0x7ce #13 0xffffffff809b101c at vtnet_rx_vq_process+0x9c #14 0xffffffff80b4bc56 at ithread_loop+0x266 #15 0xffffffff80b47f32 at fork_exit+0x82 #16 0xffffffff810c42ce at fork_trampoline+0xe lock order reversal: (sleepable after non-sleepable) 1st 0xfffff800018f4d80 vtnet0-rx0 (vtnet0-rx0, sleep mutex) @ /usr/sys/dev/virtio/network/if_vtnet.c:2241 2nd 0xffffffff81eee4c0 in6_multi_sx (in6_multi_sx, sx) @ /usr/sys/netinet6/in6_mcast.c:1216 lock order vtnet0-rx0 -> in6_multi_sx attempted at: #0 0xffffffff80c0f5b1 at witness_checkorder+0xbe1 #1 0xffffffff80ba2ed0 at _sx_xlock+0x60 #2 0xffffffff80de0311 at in6_joingroup+0x31 #3 0xffffffff80dd7c6a at in6_update_ifa+0x105a #4 0xffffffff80e05416 at in6_ifadd+0x316 #5 0xffffffff80e019b3 at nd6_ra_input+0x10a3 #6 0xffffffff80dd1556 at icmp6_input+0x5b6 #7 0xffffffff80debfa8 at ip6_input+0xc98 #8 0xffffffff80d01e14 at netisr_dispatch_src+0xb4 #9 0xffffffff80ce3eba at ether_demux+0x16a #10 0xffffffff80ce555e at ether_nh_input+0x3ce #11 0xffffffff80d01e14 at netisr_dispatch_src+0xb4 #12 0xffffffff80ce4315 at ether_input+0xd5 #13 0xffffffff809b189e at vtnet_rxq_eof+0x7ce #14 0xffffffff809b101c at vtnet_rx_vq_process+0x9c #15 0xffffffff80b4bc56 at ithread_loop+0x266 #16 0xffffffff80b47f32 at fork_exit+0x82 #17 0xffffffff810c42ce at fork_trampoline+0xe -- Bjoern A. Zeeb r15:7