GNOME Bugzilla – Bug 678025
Starting saved machine takes long and freezes app
Last modified: 2016-03-31 13:58:40 UTC
in LibvirtMachine.connect_display() calling domain.resume() is blocking and may take several seconds or minutes. There is no UI indication, and the app is frozen during that time.
actually domain.resume() seems pretty fast in all cases, it's domain.save() that is slow when the VM has been saved (ManagedSaved) and restarted
(In reply to comment #1) > actually domain.resume() seems pretty fast in all cases, it's domain.save() > that is slow when the VM has been saved (ManagedSaved) and restarted Perhaps we should wait for domain.save() to finish before quiting the UI and show some activity (spinner?) and message "Saving box 'Fedora 17'.."?
(In reply to comment #2) > (In reply to comment #1) > > actually domain.resume() seems pretty fast in all cases, it's domain.save() > > that is slow when the VM has been saved (ManagedSaved) and restarted > > Perhaps we should wait for domain.save() to finish before quiting the UI and > show some activity (spinner?) and message "Saving box 'Fedora 17'.."? I didn't explain correctly. As the bug title suggest, what I am concerned in this bug is the freeze when starting a VM that was previously "saved". I just sent domain_start_async() patch for libvirt-glib, and I have a patch ready for gnome-boxes to do display connection async/cancellable using it. Since domain.save() happen in background when closing app, I guess we don't need to worry about it now
(In reply to comment #3) > (In reply to comment #2) > > (In reply to comment #1) > > > actually domain.resume() seems pretty fast in all cases, it's domain.save() > > > that is slow when the VM has been saved (ManagedSaved) and restarted > > > > Perhaps we should wait for domain.save() to finish before quiting the UI and > > show some activity (spinner?) and message "Saving box 'Fedora 17'.."? > > I didn't explain correctly. > > As the bug title suggest, what I am concerned in this bug is the freeze when > starting a VM that was previously "saved". You mean the 'save' operation was already done and loading from saved state is taking too long? > I just sent domain_start_async() patch for libvirt-glib, and I have a patch > ready for gnome-boxes to do display connection async/cancellable using it. Cool. > Since domain.save() happen in background when closing app, I guess we don't > need to worry about it now Yeah, with your approach we'll tackle not only the case of 'restore from saved state taking too long' but also 'saving operation not yet finished before boxes was launched again'.
Where are the patches for this?
libvirt-glib https://www.redhat.com/archives/libvir-list/2012-June/msg00899.html
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.