snapshot creation broken recently?

Hello, until very recently I had been happily creating snapshots of running VMs (created using virt-install) simply with virsh --connect qemu:///system snapshot-create-as <domain-name> <snapshot-name> Now when I try to do that I get the following error: Error creating snapshot: operation failed: Failed to take snapshot: pre-save failed: qxl Same thing trying to create a snapshot from virt-manager (which also used to work). Here's the full backtrace (as displayed in virt-manager): Error: Error while writing VM state: Unknown error -1 Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 65, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/details/snapshots.py", line 237, in _do_create_snapshot self.vm.create_snapshot(xml) File "/usr/share/virt-manager/virtManager/object/domain.py", line 1124, in create_snapshot self._backend.snapshotCreateXML(xml, flags) File "/usr/lib/python3.9/site-packages/libvirt.py", line 3059, in snapshotCreateXML raise libvirtError('virDomainSnapshotCreateXML() failed') libvirt.libvirtError: operation failed: Failed to take snapshot: pre-save failed: qxl Error: Error while writing VM state: Unknown error -1 I am on Arch Linux (x86_64), using the distro packages. Checking my pacman logs, might update of qemu-headless from 6.0.0 to 6.1.0 have something to do with that? (Since then, libvirt has also been updated from 7.6.0 to 7.7.0, but I see no change WRT the problem described.) I would appreciate any advice on how to further investigate and/or work around the problem. (I checked https://gitlab.com/libvirt/libvirt/-/issues and didn't find anything that seemed related.) Thanks, Štěpán

On Thu, Sep 09, 2021 at 02:33:25PM +0200, Štěpán Němec wrote:
Hello,
until very recently I had been happily creating snapshots of running VMs (created using virt-install) simply with
virsh --connect qemu:///system snapshot-create-as <domain-name> <snapshot-name>
Now when I try to do that I get the following error:
Error creating snapshot: operation failed: Failed to take snapshot: pre-save failed: qxl
Same thing trying to create a snapshot from virt-manager (which also used to work). Here's the full backtrace (as displayed in virt-manager):
Error: Error while writing VM state: Unknown error -1
Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 65, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/details/snapshots.py", line 237, in _do_create_snapshot self.vm.create_snapshot(xml) File "/usr/share/virt-manager/virtManager/object/domain.py", line 1124, in create_snapshot self._backend.snapshotCreateXML(xml, flags) File "/usr/lib/python3.9/site-packages/libvirt.py", line 3059, in snapshotCreateXML raise libvirtError('virDomainSnapshotCreateXML() failed') libvirt.libvirtError: operation failed: Failed to take snapshot: pre-save failed: qxl Error: Error while writing VM state: Unknown error -1
I am on Arch Linux (x86_64), using the distro packages. Checking my pacman logs, might update of qemu-headless from 6.0.0 to 6.1.0 have something to do with that?
Yes, auite likely related to the QEMU update as "pre-save failed: qxl" is an error message that libvirt is getting back from QEMU. There was a change in this code in qemu in 6.1.0, but that was replacing an assert() with this graceful error message. So if anything your older QEMU ought to have been crashing ! Anyway, I think you need to report this to the QEMU community. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On Thu, 09 Sep 2021 19:28:04 +0100 Daniel P. Berrangé wrote:
On Thu, Sep 09, 2021 at 02:33:25PM +0200, Štěpán Němec wrote:
libvirt.libvirtError: operation failed: Failed to take snapshot: pre-save failed: qxl Error: Error while writing VM state: Unknown error -1
I am on Arch Linux (x86_64), using the distro packages. Checking my pacman logs, might update of qemu-headless from 6.0.0 to 6.1.0 have something to do with that?
Yes, auite likely related to the QEMU update as
"pre-save failed: qxl"
is an error message that libvirt is getting back from QEMU.
Thanks!
There was a change in this code in qemu in 6.1.0, but that was replacing an assert() with this graceful error message. So if anything your older QEMU ought to have been crashing !
Not only were/is it not crashing; downgrading the package back to 6.0.0 makes the snapshots work again.
Anyway, I think you need to report this to the QEMU community.
Filed as https://gitlab.com/qemu-project/qemu/-/issues/610 Thank you, Štěpán
participants (2)
-
Daniel P. Berrangé
-
Štěpán Němec