On Mon, 14 Nov 2016 21:17:39 +0100 <mk...@ibb.waw.pl> wrote:
> Package: qemu
> Version: 1:2.7+dfsg-3+b1
> Severity: important
> 
> I use libvirt for runing Windows 2008 R2 server on qemu-kvm. VirtIO disks and
> VirtIO network adapters.
> After upgrading qemu from 2.6 to 2.6 Windows do not boot correctly.
> The virtual machine crasches after Windows starts to show the "first logo".
> Windows is able to run repair tools. It looks like the repair console do not
> see the C: drive.
> 
> In the libvirt log of the machine one can see this:
> 2016-11-13T12:19:49.458189Z qemu-system-x86_64: pci_get_msi_message: unknown
> interrupt type
> 2016-11-13 12:19:54.141+0000: shutting down, reason=crashed

Hi, Maciej,

Thanks for the issue reported. Could you please try whether the below
patch can solve your issue?

------------8<-------------

diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 24fae16..8dd9f47 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -2600,15 +2600,17 @@ PCIDevice *pci_get_function_0(PCIDevice *pci_dev)
 
 MSIMessage pci_get_msi_message(PCIDevice *dev, int vector)
 {
-    MSIMessage msg;
+    MSIMessage msg = { 0 };
+
     if (msix_enabled(dev)) {
         msg = msix_get_message(dev, vector);
     } else if (msi_enabled(dev)) {
         msg = msi_get_message(dev, vector);
     } else {
         /* Should never happen */
-        error_report("%s: unknown interrupt type", __func__);
-        abort();
+        error_report("%s: unknown int for dev '%s' vector %d, "
+                     "using empty message", __func__, dev->name,
+                     vector);
     }
     return msg;
 }

------------>8-------------

Thanks,

-- peterx

Reply via email to