Bug 2120480

Summary: guest with tpm crashed when executing memory dump to kdump-zlib_format
Product: Red Hat Enterprise Linux 9 Reporter: zhentang <zhetang>
Component: qemu-kvmAssignee: Marc-Andre Lureau <marcandre.lureau>
qemu-kvm sub component: General QA Contact: leidwang <leidwang>
Status: CLOSED ERRATA Docs Contact:
Severity: unspecified    
Priority: unspecified CC: coli, jinzhao, juzhang, lcheng, leidwang, mrezanin, pkrempa, qcheng, qizhu, virt-maint, yanqzhan
Version: unspecifiedKeywords: Triaged
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-7.2.0-1.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-09 07:20:04 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:
Bug Depends On: 2135806    
Bug Blocks:    

Description zhentang 2022-08-23 04:08:31 UTC
Description of problem:
guest with tpm crashed when executing memory dump to kdump-zlib_format

Version-Release number of selected component (if applicable):
libvirt-8.5.0-5.el9
qemu-kvm-7.0.0-8.el9

How reproducible:
100%

Steps to Reproduce:
1. start a vm with tpm device
...
<tpm model='tpm-crb'>
      <backend type='emulator' version='2.0'/>
    </tpm>
...
2. memory dump
#  virsh dump rhel9 /var/tmp/vm.core --memory-only --format kdump-zlib

Actual results:
error: Failed to core dump domain 'rhel9' to /var/tmp/vm.core
error: operation failed: domain is not running



Expected results:
dump success and vm should not crash.

Additional info:

# virsh domstate rhel9 --reason
shut off (crashed)

# cat rhel9.log
......
qemu-kvm: ../dump/dump.c:1162: _Bool get_next_page(GuestPhysBlock **, uint64_t *, uint8_t **, DumpState *): Assertion `(block->target_start & ~target_page_mask) == 0' failed.
2022-08-23 03:43:00.237+0000: shutting down, reason=crashed
......

Comment 1 Peter Krempa 2022-08-23 07:41:32 UTC
The assertion failure comes from qemu, so I'll move the bug to qemu.

For the sake of the qemu team please ideally attach a backtrace of all threads from the crash of the qemu process and the debug log of libvirtd/virtqemud to see the QMP communication.

Comment 2 Qianqian Zhu 2022-08-23 09:14:25 UTC
Hi Zhen,

Would you please help share either the entire xml or the qemu cmdline of your vm? Thanks.

Comment 5 Marc-Andre Lureau 2022-08-24 12:42:17 UTC
Can be reproduced with upstream qemu too. I am looking for a solution.

Comment 6 Marc-Andre Lureau 2022-08-25 13:59:58 UTC
Patches on ML:
https://patchew.org/QEMU/20220825132110.1500330-1-marcandre.lureau@redhat.com/

Comment 9 John Ferlan 2022-10-04 12:25:53 UTC
Patches still under review upstream and not committed yet, so reset to ASSIGNED.

Comment 10 John Ferlan 2022-10-11 21:52:20 UTC
Upstream patches merged, moving to POST awaiting upstream qemu-7.2 rebase in December

Comment 11 Yanan Fu 2022-12-20 09:18:27 UTC
QE bot(pre verify): Set 'Verified:Tested,SanityOnly' as gating/tier1 test pass.

Comment 15 leidwang@redhat.com 2023-01-03 02:49:14 UTC
Test pass with qemu-kvm-7.2.0-1.el9,move this bz to verified.Thanks!

Comment 17 errata-xmlrpc 2023-05-09 07:20:04 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: qemu-kvm security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2023:2162