Univention Bugzilla – Bug 35531
xend.err 'Device 768 (vbd) could not be connected. Hotplug scripts not working.
Last modified: 2023-06-28 10:46:34 CEST
+++ This bug was initially created as a clone of Bug #20481 +++ This happened twice again with UCS-3.2-2, which has the patch from Bug #20481 applied: # cat /var/log/daemon.log Jul 31 08:35:58 lynx1 logger: /etc/xen/scripts/block: add XENBUS_PATH=backend/vbd/1/768 Jul 31 08:35:58 lynx1 logger: /etc/xen/scripts/block: Path still initializing: backend/vbd/1/768 ... Jul 31 08:37:38 lynx1 logger: /etc/xen/scripts/block: Path still initializing: backend/vbd/1/768 Jul 31 08:37:39 lynx1 logger: /etc/xen/scripts/block: Writing backend/vbd/1/768/hotplug-error Path closed or removed during hotplug add: backend/vbd/1/768 state: 5 backend/vbd/1/768/hotplug-status error to xenstore. Jul 31 08:37:39 lynx1 logger: /etc/xen/scripts/block: Path closed or removed during hotplug add: backend/vbd/1/768 state: 5 Trying to start the VM a second time works with the following messages: Jul 31 08:43:02 lynx1 logger: /etc/xen/scripts/block: add XENBUS_PATH=backend/vbd/2/768 Jul 31 08:43:02 lynx1 logger: /etc/xen/scripts/block: Writing backend/vbd/2/768/node /dev/loop0 to xenstore. Jul 31 08:43:02 lynx1 logger: /etc/xen/scripts/block: Writing backend/vbd/2/768/physical-device 7:0 to xenstore. Jul 31 08:43:02 lynx1 logger: /etc/xen/scripts/block: Writing backend/vbd/2/768/hotplug-status connected to xenstore. So for some unknown reason xen_blkbk_probe() from drivers/block/xen-blkback/xenbus.c:448 doesn't seem to be called. The module "xen_blkback" was the last module, which was loaded: # head -n 1 /proc/modules xen_blkback 21814 0 [permanent], Live 0xffffffffa05af000 dom0 kernel log has this: # dmesg [53251.794640] vbd vbd-1-768: 2 unable to read other end from backend/vbd/1/768. missing or inaccessible. [53251.799923] vbd vbd-1-768: talk_to_otherend on backend/vbd/1/768 failed. [53251.799928] vbd: probe of vbd-1-768 failed with error -2 Those messages are from drivers/xen/xenbus/xenbus_probe.c 209 int xenbus_dev_probe(struct device *_dev) ... 229 »···err = talk_to_otherend(dev); 230 »···if (err) { 231 »···»···dev_warn(&dev->dev, "talk_to_otherend on %s failed.\n", 232 »···»···»··· dev->nodename); 119 static int talk_to_otherend(struct xenbus_device *dev) ... 126 »···return drv->read_otherend_details(dev); 142 int xenbus_read_otherend_details(struct xenbus_device *xendev, ... 157 »···»···xenbus_dev_fatal(xendev, -ENOENT, 158 »···»···»···»··· "unable to read other end from %s. " 159 »···»···»···»··· "missing or inaccessible.", 160 »···»···»···»··· xendev->nodename);
Happened again while QAing a Kernel Update: Bug #35826
UCS-3.x is OoM. Xen is OoM.