Bug 1598412

Summary: libvirtd crash on target Power9 host when migration from RHEL-7.5 to RHEL-ALT-7.6 with --tls
Product: Red Hat Enterprise Linux 7 Reporter: Dan Zheng <dzheng>
Component: libvirtAssignee: Libvirt Maintainers <libvirt-maint>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: unspecified    
Version: 7.6-AltCC: fjin, pkrempa, rbalakri
Target Milestone: rcKeywords: Automation
Target Release: ---   
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: 2018-07-09 07:40:06 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:
Attachments:
Description Flags
libvirtd crash on target P9 host none

Description Dan Zheng 2018-07-05 11:54:50 UTC
Created attachment 1456757 [details]
libvirtd crash on target P9 host

Description of problem:
Libvirtd daemon crashed on target Power9 host when do migration from RHEL-7.5 Power8 to RHEL-ALT-7.6 Power9 using --tls option. The crash does not happen from  RHEL-7.5 Power8 to RHEL-7.6 Power8 using --tls option.

Version-Release number of selected component (if applicable):

Source host:
Power 8: RHEL-7.5-20180322.0
kernel: 3.10.0-862.el7.ppc64le
qemu-kvm-rhev-2.10.0-21.el7_5.4.ppc64le
libvirt-3.9.0-14.virtcov.el7_5.6.ppc64le

Target host:
Power 9: RHEL-ALT-7.6-20180626.3
kernel: 4.14.0-87.el7a.ppc64le
qemu-kvm-rhev-2.12.0-6.el7.ppc64le
libvirt-4.5.0-1.el7.ppc64le

How reproducible:
100%

Steps to Reproduce:
1. Setup TLS server and client environment
2. Modify migrate_tls_x509_verify = 1 in /etc/libvirt/qemu.conf
3. Run migration:
 /bin/virsh -c 'qemu:///system' migrate --live --verbose --domain avocado-vt-vm1 --desturi qemu+ssh://<Power9_target_host>/system --tls

Actual results:
Ncat: Broken pipe.: Input/output error
Libvirtd on target host is crashed.

Expected results:
Migration succeeds and no libvirtd crash.

Additional info:
See attachment for gdb log.

Comment 2 Dan Zheng 2018-07-06 05:57:38 UTC
From the automated job log, I can see libvirt-4.4.0-2.el7.ppc64le has not this issue.

Comment 3 Peter Krempa 2018-07-09 07:40:06 UTC
#0  virJSONValueObjectGet (object=0x0, key=0x7fff71b99a80 "qom-type") at util/virjson.c:818
#1  0x00007fff83d67ea8 in virJSONValueObjectGetString (object=<optimized out>, key=<optimized out>) at util/virjson.c:1258
#2  0x00007fff71b0d0e8 in qemuMonitorAddObject (mon=0x7fff5800a850, props=0x7fff7aaada80, alias=<optimized out>) at qemu/qemu_monitor.c:3090
#3  0x00007fff71accc28 in qemuDomainAddTLSObjects (driver=0x7fff2c0f7630, vm=0x7fff58003d50, asyncJob=<optimized out>, secProps=0x7fff7aaada80, tlsProps=0x7fff7aaada78) at qemu/qemu_hotplug.c:1342
#4  0x00007fff71b011dc in qemuMigrationParamsEnableTLS (driver=0x7fff2c0f7630, vm=0x7fff58003d50, tlsListen=<optimized out>, asyncJob=<optimized out>, tlsAlias=0x7fff7aaadc88, hostname=0x0, 
    migParams=0x7fff58001f80) at qemu/qemu_migration_params.c:878

*** This bug has been marked as a duplicate of bug 1598015 ***