Bug 1419537

Summary: Support creating Windows crash dumps host-side
Product: Red Hat Enterprise Linux 8 Reporter: Ladi Prosek <lprosek>
Component: virtio-winAssignee: Vadim Rozenfeld <vrozenfe>
virtio-win sub component: virtio-win-prewhql QA Contact: xiagao
Status: CLOSED WONTFIX Docs Contact:
Severity: unspecified    
Priority: unspecified CC: ailan, areis, coli, hpopal, knoel, lijin, ngu, phou, wyu, xiagao, xuwei
Version: 8.0Keywords: FutureFeature
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-12-01 07:28:08 UTC Type: Feature Request
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: 1398633, 1493125    
Bug Blocks: 1558351    

Description Ladi Prosek 2017-02-06 13:10:35 UTC
Description of problem:
Windows uses its own format proprietary format of crash dumps (usually kept in files named MEMORY.DMP) which is currently only possible to generate from within the guest when it crashes with a BSOD, Windows is configured the right way, it has enough free disk space, and can boot back up.

Using the documented KeInitializeCrashDumpHeader kernel API, a 3rd party driver can get the crash dump header, which can be combined with the raw memory image host-side to get a valid MEMORY.DMP. This makes it possible to get dumps not only on BSOD, but also out of running Windows instances.

Comment 1 Ladi Prosek 2017-02-06 13:13:40 UTC
The pvpanic Windows guest driver now supports an IOCTL which returns the crash dump header:
https://github.com/YanVugenfirer/kvm-guest-drivers-windows/commit/17068d58c8ab00699c54f43a88bb85c03fc7c235

The current plan is to use the QEMU guest agent to read the header out of the guest.

Comment 3 Ladi Prosek 2017-03-20 13:04:41 UTC
Bug 1398633 tracks Linux KASLR support work in the virt stack, which is very similar to what we want to do here with Windows. A piece of data needs to be pushed out to the host to be able to consume crash dumps.

Marking as depending on 1398633 for now. There is a high chance that the solution for Linux KASLR will work for Windows guest as well.

Comment 9 RHEL Program Management 2020-12-01 07:28:08 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.