[DragonFlyBSD - Bug #3363] (New) sysctl CTL_NET.PF_ROUTE.0.0.NET_RT_IFLIST.0 blocks in an uninterruptible wait in some cases
bugtracker-admin at leaf.dragonflybsd.org
bugtracker-admin at leaf.dragonflybsd.org
Thu Dec 21 23:11:53 PST 2023
Issue #3363 has been reported by guy.
----------------------------------------
Bug #3363: sysctl CTL_NET.PF_ROUTE.0.0.NET_RT_IFLIST.0 blocks in an uninterruptible wait in some cases
http://bugs.dragonflybsd.org/issues/3363
* Author: guy
* Status: New
* Priority: Normal
* Category: Kernel
* Target version: 6.6
* Start date: 2023-12-21
----------------------------------------
The attached program blocks, reliably, in an uninterruptible wait on my DragonFly BSD 6.4 VM if I run it and then:
plug in a USB Wi-FI interface and tell VMware Fusion to attach it to the running VM;
wait for the interface to be attached and to be recognized by the program;
unplug the interface.
It hands in my_getifaddrs() (which is a copy of the DFly BSD getifaddrs()) when it's called after the program receives an RTM_IFINFO message. The hang is in the first sysctl() it does in the loop.
The RTM_IFINFO message is indicating that the carrier state of the removed interface is unknown; after that, an RTM_IFANNOUNCE message is received, indicating that the interface in question was removed, and then *another* RTM_IFINFO message, for the same interface, is received, again indicating that the carrier state is unknown.
I suspect this will happen on real hardware as well. It may also occur for, for example, Ethernet interfaces, and interfaces on pluggable-at-run-time buses other than USB.
---Files--------------------------------
sysctl_blocks.c (11.6 KB)
--
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account
More information about the Bugs
mailing list