Skip to content

QEMU TCG faulted in RUNDLL32 at Windows 98SE Display Properties

Host environment

  • Operating system: Windows 10/11 x86_64, ArchLinux x86_64, Apple Silicon macOS Sonoma 14.1
  • Architecture: x86_64, AArch64
  • QEMU flavor: qemu-system-i386, qemu-system-x86_64
  • QEMU version: 7.2.0 up to qemu-git 8.1.50 (v8.1.0-2294-gc60be6e3-dirty)
  • QEMU command line: qemu-system-i386 -nodefaults -M pc -cpu max -device cirrus-vga -drive file=w98.qcow2

Emulated/Virtualized environment

  • Operating system: Windows 98SE 4.10.2222B
  • OS/kernel version: N/A
  • Architecture: x86

Description of problem

QEMU TCG faulted in RUNDLL32 at Windows 98SE Display Properties. 100% consistently reproducible across multiple host operating systems and CPU architectures and all types of QEMU emulated display controllers supported by Windows 98SE (VGA, cirrus-vga and vmware-svga). It is a user-mode fault so the OS simply terminated the faulting process, OS remains fully functional after the fault and the same fault can be repeated. Should be extremely helpful in debugging. Last known good QEMU version without this bug is 7.1.0. For x86_64, KVM and WHPX do not have the issue and can be used to gain access to Display Properties. On AArch64, last known good QEMU version is the only way to gain access to Display Properties.

Steps to reproduce

See attached recorded video.

Screen_Recording_2023-10-27_at_2.44.18_AM

Edited by kjliew
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information