I happen to reach this hang in the main loop, using virt-manager. No reproducer yet, but several libusb context creation/destration seems to play here. #0 0x0000003618a0ec4d in recvmsg () at ../sysdeps/unix/syscall-template.S:81 #1 0x000000359dc08ed9 in udev_monitor_receive_device (udev_monitor=0x47d1cf0) at ../src/libudev/libudev-monitor.c:538 #2 0x00007fb7948367cd in linux_udev_hotplug_poll () at os/linux_udev.c:299 #3 0x00007fb794831632 in op_hotplug_poll () at os/linux_usbfs.c:505 #4 0x00007fb794828a0f in libusb_get_device_list (ctx=0x46cbd20, list=0x7fff549d2b30) at core.c:671 #5 0x00007fb794830853 in libusb_hotplug_register_callback (ctx=0x46cbd20, events=(LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED | LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT), flags=LIBUSB_HOTPLUG_ENUMERATE, vendor_id=-1, product_id=-1, dev_class=-1, cb_fn=0x7fb795e37ded <spice_usb_device_manager_hotplug_cb>, user_data=0x2fe8100, handle=0x2fe80e8) at hotplug.c:260 #6 0x00007fb795e3684f in spice_usb_device_manager_initable_init (initable=0x2fe8100, cancellable=0x0, err=0x7fff549d2f40) at usb-device-manager.c:297 #7 0x00007fb7a30dd4fe in g_initable_new_valist (object_type=<optimized out>, first_property_name=0x7fb795f1aa5b "session", var_args=var_args@entry=0x7fff549d2c48, cancellable=0x0, error=0x7fff549d2f40) at ginitable.c:228 #8 0x00007fb7a30dd5ec in g_initable_new (object_type=<optimized out>, cancellable=<optimized out>, error=<optimized out>, first_property_name=<optimized out>) at ginitable.c:146 #9 0x00007fb795e385a8 in spice_usb_device_manager_get (session=0x483a390, err=0x7fff549d2f40) at usb-device-manager.c:1303 #10 0x000000361b205d8c in ffi_call_unix64 () at ../src/x86/unix64.S:76 #11 0x000000361b2056bc in ffi_call (cif=0x7fff549d2f50, fn=0x7fb795e384f4 <spice_usb_device_manager_get>, rvalue=0x7fff549d2f30, avalue=0x7fff549d2e70) at ../src/x86/ffi64.c:522 #12 0x0000003646209e49 in g_callable_info_invoke () from /lib64/libgirepository-1.0.so.1 #13 0x000000364620b199 in g_function_info_invoke () from /lib64/libgirepository-1.0.so.1 #14 0x00007fb7a3da2ab7 in pygi_callable_info_invoke () from /usr/lib64/python2.7/site-packages/gi/_gi.so #15 0x000000359ce4a0d3 in PyObject_Call () from /lib64/libpython2.7.so.1.0 #16 0x000000359cede37c in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0 #17 0x000000359cee0980 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0
It could be a libusb bug, there are some udev globals that are supposed to be protected by a linux_hotplug_lock. However, since there is a double-close bug in virt-manager, this is most likely the reason for that hang. (see "tunnels: do not close unowned fd" patch in virt-tools list - currently in maintainance)
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.