Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1662369

Summary: Migration failed with "qemu-kvm: Failed to load ics:nr_irqs" when migrate a vm from RHEL7.6 to RHEL8.0
Product: Red Hat Enterprise Linux Advanced Virtualization Reporter: xianwang <xianwang>
Component: qemu-kvmAssignee: Laurent Vivier <lvivier>
Status: CLOSED CURRENTRELEASE QA Contact: xianwang <xianwang>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 8.0CC: dgibson, lvivier, mdeng, micai, michen, ngu, qzhang, rbalakri, virt-maint, xianwang, xuma, yihyu
Target Milestone: rc   
Target Release: 8.0   
Hardware: ppc64le   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-01-07 07:20:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description xianwang 2018-12-28 03:06:49 UTC
Description of problem:
When do migration from rhel7.6 to rhel8.0(fasttrain), migration failed with "qemu-kvm: Failed to load ics:nr_irqs" on destination end.

Version-Release number of selected component (if applicable):
Host source(rhel7.6)
3.10.0-957.6.1.el7.ppc64le
qemu-kvm-rhev-2.12.0-18.el7_6.3.ppc64le
SLOF-20171214-2.gitfa98132.el7.noarch

Host destination(rhel8.0 fasttrain)
4.18.0-57.el8.ppc64le
qemu-kvm-3.1.0-2.module+el8+2606+2c716ad7.ppc64le
SLOF-20171214-4.gitfa98132.module+el8+2529+a9686a4d.noarch

How reproducible:
100%

Steps to Reproduce:
1.Boot a guest on src host(rhel7.6)
/usr/libexec/qemu-kvm -monitor stdio -nodefaults -machine pseries-rhel7.6.0
(qemu) info qtree 
bus: main-system-bus
  type System
  dev: spapr-pci-host-bridge, id ""
    index = 0 (0x0)
    mem_win_size = 2147483648 (0x80000000)
    mem64_win_size = 1099511627776 (0x10000000000)
    io_win_size = 65536 (0x10000)
    dynamic-reconfiguration = true
    dma_win_addr = 0 (0x0)
    dma_win_size = 1073741824 (0x40000000)
    dma64_win_addr = 576460752303423488 (0x800000000000000)
    ddw = true
    pgsz = 69632 (0x11000)
    numa_node = 4294967295 (0xffffffff)
    pre-2.8-migration = false
    pcie-extended-configuration-space = true
    bus: pci.0
      type PCI
  dev: spapr-vio-bridge, id ""
    bus: spapr-vio
      type spapr-vio-bus
      dev: spapr-nvram, id "nvram@71000000"
        reg = 1895825408 (0x71000000)
        drive = ""
        irq = 4098 (0x1002)

2.Boot a guest on dst host(rhel8.0 fasttrain)
/usr/libexec/qemu-kvm -monitor stdio -nodefaults -machine pseries-rhel7.6.0 -incoming tcp:0:5801
(qemu) info qtree
bus: main-system-bus
  type System
  dev: spapr-pci-host-bridge, id ""
    index = 0 (0x0)
    mem_win_size = 2147483648 (0x80000000)
    mem64_win_size = 1099511627776 (0x10000000000)
    io_win_size = 65536 (0x10000)
    dynamic-reconfiguration = true
    dma_win_addr = 0 (0x0)
    dma_win_size = 1073741824 (0x40000000)
    dma64_win_addr = 576460752303423488 (0x800000000000000)
    ddw = true
    pgsz = 69632 (0x11000)
    numa_node = 4294967295 (0xffffffff)
    pre-2.8-migration = false
    pcie-extended-configuration-space = true
    bus: pci.0
      type PCI
  dev: spapr-vio-bridge, id ""
    bus: spapr-vio
      type spapr-vio-bus
      dev: spapr-nvram, id "nvram@71000000"
        reg = 1895825408 (0x71000000)
        drive = ""
        irq = 4352 (0x1100)

3.Do migration from 7.6 to 8.0
(qemu) migrate -d tcp:10.0.1.39:5801


Actual results:
Migration failed and dst qemu quit

source:
(qemu) info migrate
Migration status: failed
QMP:
{"timestamp": {"seconds": 1545907047, "microseconds": 407965}, "event": "STOP"}
{"timestamp": {"seconds": 1545907048, "microseconds": 456795}, "event": "RESUME"}

destination:
(qemu) qemu-kvm: 1000 != 400
qemu-kvm: Failed to load ics:nr_irqs
qemu-kvm: error while loading state for instance 0x0 of device 'ics'
qemu-kvm: load of migration failed: Invalid argument

Expected results:
Migration successfully.

Additional info:

Comment 1 xianwang 2018-12-28 03:21:49 UTC
This issue is also exist on power9(fasttrain)

Power9:
alt-7.6:
4.14.0-115.5.1.el7a.ppc64le
qemu-kvm-rhev-2.12.0-18.el7_6.3.ppc64le
SLOF-20171214-2.gitfa98132.el7.noarch

8.0 fasttrain:
4.18.0-57.el8.ppc64le
qemu-kvm-3.1.0-2.module+el8+2606+2c716ad7.ppc64le
SLOF-20171214-4.gitfa98132.module+el8+2179+85112f94.noarch


what's more, this issue is ppc fasttrain only(i.e, x86_64 didn't hit it, ppc slow train didn't hit it too)

Comment 2 Laurent Vivier 2019-01-02 08:48:14 UTC
The pseries machine type has not been update in qemu-kvm-3.1.0-2 (see BZ 1656508), this is why it fails.

Comment 3 Laurent Vivier 2019-01-04 08:39:38 UTC
Could you re-test with qemu-kvm-3.1.0-3.el8 on destination host(rhel8.0 fasttrain)?

Comment 4 xianwang 2019-01-07 07:01:14 UTC
(In reply to Laurent Vivier from comment #3)
> Could you re-test with qemu-kvm-3.1.0-3.el8 on destination host(rhel8.0
> fasttrain)?

I have tried with qemu-kvm-3.1.0-3.el8 on destination host, the result is PASS.
host A(rhel7.6)
4.14.0-115.5.1.el7a.ppc64le
qemu-kvm-rhev-2.12.0-18.el7_6.3.ppc64le
SLOF-20171214-2.gitfa98132.el7.noarch

host B(rhel8.0)
4.18.0-57.el8.ppc64le
qemu-kvm-3.1.0-3.module+el8+2614+d714d2bb.ppc64le
SLOF-20171214-5.gitfa98132.module+el8+2618+c5e2b86b.noarch

steps are same with comment 0.

result:
migration succeed and vm works well.

So, I think this bug is fixed.

Comment 5 xianwang 2019-01-07 07:20:59 UTC
referring to comment 4, I will close this bug as CURRENTRELEASE, if there is something mistakes, you could update it.