Open cjp256 opened 5 months ago
device_driver() & get_interfaces() may need some work to be resilient if an interface is being renamed while enumerating devices:
Agreed, but I think the problem is bigger than these two callsites.
A retry in get_interfaces()
on FileNotFoundError
would prevent this exception, but even with such a change, if get_interfaces()
gets called prior to a rename, then we're going to see the same issue but elsewhere (such as in one of the read_sys_net_safe()
calls in find_candidate_nics_on_linux()
- which would probably be more difficult to debug because it wouldn't traceback). Anywhere that expects to use the returned interface name may also see this issue.
Do you know if the rename is triggered by userspace? Also, what distro/release did you see this on?
It's udev renaming them from some generic ib0 -> ibP257s165943. The devices are just be enumerated late in the process for whatever reason. But we can tell it's being enumerated because they are each showing up as ib0 before getting renamed.
device_driver() & get_interfaces() may need some work to be resilient if an interface is being renamed while enumerating devices:
Around the same time we can see the interfaces are being renamed: