FWIW, I ran into this issue on when booting the latest available kernel (after an update) on a Debian VM running on a Debian host. Only booting the latest kernel triggered the issue.
The key was the "Device out of space" message that lead me to this bug/message.
As vt100 found, and christiank confirmed, the amount of space allocated to /run was the issue. Extending /run solved the issue.
For those running into this issue and Googling, I saw two different errors on two different VMs (taken from the consoles after a failed boot):
VM 1 gave the following errors on boot (Note the lack of a 'out of space' message):
libxl: error: libxl_device.c:1086:device_backend_callback: unable to add device with path /local/domain/0/backend/vbd/16/51714
libxl: error: libxl_device.c:1086:device_backend_callback: unable to add device with path /local/domain/0/backend/vbd/16/51715
libxl: error: libxl_create.c:1255:domcreate_launch_dm: unable to add disk devices
libxl: error: libxl.c:1575:libxl__destroy_domid: non-existant domain 16
libxl: error: libxl.c:1534:domain_destroy_callback: unable to destroy guest with domid 16
libxl: error: libxl.c:1463:domain_destroy_cb: destruction of domain 16 failed
Whereas VM 2 gave the following errors, which ultimately lead to this thread:
Traceback (most recent call last):
File "/usr/lib/xen-4.8/bin/pygrub", line 917, in <module> os.write(fd, ostring)
OSError: [Errno 28] No space left on device
Maybe the above will help some other poor soul who has been beating their head against this problem.
FWIW, I ran into this issue on when booting the latest available kernel (after an update) on a Debian VM running on a Debian host. Only booting the latest kernel triggered the issue.
The key was the "Device out of space" message that lead me to this bug/message.
As vt100 found, and christiank confirmed, the amount of space allocated to /run was the issue. Extending /run solved the issue.
For those running into this issue and Googling, I saw two different errors on two different VMs (taken from the consoles after a failed boot):
VM 1 gave the following errors on boot (Note the lack of a 'out of space' message):
libxl: error: libxl_device. c:1086: device_ backend_ callback: unable to add device with path /local/ domain/ 0/backend/ vbd/16/ 51714 c:1086: device_ backend_ callback: unable to add device with path /local/ domain/ 0/backend/ vbd/16/ 51715 c:1255: domcreate_ launch_ dm: unable to add disk devices 1575:libxl_ _destroy_ domid: non-existant domain 16 1534:domain_ destroy_ callback: unable to destroy guest with domid 16 1463:domain_ destroy_ cb: destruction of domain 16 failed
libxl: error: libxl_device.
libxl: error: libxl_create.
libxl: error: libxl.c:
libxl: error: libxl.c:
libxl: error: libxl.c:
Whereas VM 2 gave the following errors, which ultimately lead to this thread:
Traceback (most recent call last): xen-4.8/ bin/pygrub" , line 917, in <module> os.write(fd, ostring)
File "/usr/lib/
OSError: [Errno 28] No space left on device
Maybe the above will help some other poor soul who has been beating their head against this problem.