canonical / multipass

Multipass orchestrates virtual Ubuntu instances
https://multipass.run
GNU General Public License v3.0
7.63k stars 635 forks source link

VM fails to complete start from a suspended state #3394

Closed ricab closed 6 months ago

ricab commented 6 months ago

Describe the bug The VM starts, but before the start RPC is finished, Multipass tries to sync its clock and there is an exception that goes through Qt code, leaving the daemon in a bad state.

To Reproduce How, and what happened?

  1. multipass launch -n foo
  2. multipass suspend foo
  3. multipass start foo

The last command will keep spinning. After a ctrl+c, I can't reach the daemon anymore:

$ multipass ls
list failed: cannot connect to the multipass socket

Logs

The relevant portion is:

jan 31 17:31:36 ricab-XPS-9320 multipassd[410242]: VM suspended
jan 31 17:31:36 ricab-XPS-9320 multipassd[410242]: process state changed to NotRunning
jan 31 17:31:36 ricab-XPS-9320 multipassd[410242]: Suspended VM successfully stopped
jan 31 17:31:41 ricab-XPS-9320 multipassd[410242]: process working dir '/snap/multipass/11600/qemu'
jan 31 17:31:41 ricab-XPS-9320 multipassd[410242]: process program 'qemu-system-x86_64'
jan 31 17:31:41 ricab-XPS-9320 multipassd[410242]: process arguments '-bios, OVMF.fd, --enable-kvm, -cpu, host, -nic, tap,ifname=tap-4137086f43c,script=no,downscript=no,model=virtio-net-pci,mac=52:54:00:aa:11:26, -device, virtio-scsi-pci,id=scsi0, -drive, file=/var/snap/multipass/common/data/multipassd/vault/instances/natural-redbird/ubuntu-22.04-server-cloudimg-amd64.img,if=none,format=qcow2,discard=unmap,id=hda, -device, scsi-hd,drive=hda,bus=scsi0.0, -smp, 1, -m, 1024M, -qmp, stdio, -chardev, null,id=char0, -serial, chardev:char0, -nographic, -cdrom, /var/snap/multipass/common/data/multipassd/vault/instances/natural-redbird/cloud-init-config.iso, -loadvm, suspend, -machine, pc-i440fx-8.0'
jan 31 17:31:41 ricab-XPS-9320 multipassd[410242]: Resuming from a suspended state
jan 31 17:31:41 ricab-XPS-9320 multipassd[410242]: Applied AppArmor policy: multipass.natural-redbird.qemu-system-x86_64
jan 31 17:31:41 ricab-XPS-9320 multipassd[410242]: process state changed to Starting
jan 31 17:31:41 ricab-XPS-9320 multipassd[410242]: process state changed to Running
jan 31 17:31:41 ricab-XPS-9320 multipassd[410242]: [411184] started: qemu-system-x86_64 -bios OVMF.fd --enable-kvm -cpu host -nic tap,ifname=tap-4137086f43c,script=no,downscript=no,model=virtio-net-pci,mac=52:54:00:aa:11:26 -device virtio-scsi-pci,id=scsi0 -drive file=/var/snap/multipass/common/data/multipassd/vault/instances/natural-redbird/ubuntu-22.04-server-cloudimg-amd64.img,if=none,format=qcow2,discard=unmap,id=hda -device scsi-hd,drive=hda,bus=scsi0.0 -smp 1 -m 1024M -qmp stdio -chardev null,id=char0 -serial chardev:char0 -nographic -cdrom /var/snap/multipass/common/data/multipassd/vault/instances/natural-redbird/cloud-init-config.iso -loadvm suspend -machine pc-i440fx-8.0
jan 31 17:31:41 ricab-XPS-9320 multipassd[410242]: process started
jan 31 17:31:41 ricab-XPS-9320 multipassd[410242]: Waiting for SSH to be up
jan 31 17:31:41 ricab-XPS-9320 multipassd[410242]: QMP: {"QMP": {"version": {"qemu": {"micro": 0, "minor": 0, "major": 8}, "package": ""}, "capabilities": ["oob"]}}
jan 31 17:31:42 ricab-XPS-9320 multipassd[410242]: QMP: {"return": {}}
jan 31 17:31:42 ricab-XPS-9320 multipassd[410242]: Deleted memory snapshot
jan 31 17:31:42 ricab-XPS-9320 multipassd[410242]: Syncing RTC clock
jan 31 17:31:42 ricab-XPS-9320 multipassd[410242]: Executing 'sudo hwclock --hctosys'
jan 31 17:31:47 ricab-XPS-9320 multipassd[410242]: Qt has caught an exception thrown from an event handler. Throwing
                                                   exceptions from an event handler is not supported in Qt.
                                                   You must not let any exception whatsoever propagate through Qt code.

Additional info