Skip to content

qemu ASSERT [ArmCpuDxe] DefaultExceptionHandler.c:333 on Mac M3

Host environment

  • Operating system: macOS Sonoma 14.1.1
  • OS/kernel version: Darwin Kernel Version 23.1.0: Mon Oct 9 21:33:00 PDT 2023; root:xnu-10002.41.9~7/RELEASE_ARM64_T6031 arm64
  • Architecture: aarch64
  • QEMU flavor: qemu-system-aarch64
  • QEMU version: 8.1.2
  • QEMU command line:
    /opt/homebrew/bin/qemu-system-aarch64 -m 2048 -smp 4 -fw_cfg name=opt/com.coreos/config,file=/Users/steven/.config/containers/podman/machine/qemu/podman-machine-default.ign -qmp unix:/var/folders/xx/3_5vqxr901q1269zng17p2480000gn/T/podman/qmp_podman-machine-default.sock,server=on,wait=off -netdev socket,id=vlan,fd=3 -device virtio-net-pci,netdev=vlan,mac=5a:94:ef:e4:0c:ee -device virtio-serial -chardev socket,path=/var/folders/xx/3_5vqxr901q1269zng17p2480000gn/T/podman/podman-machine-default_ready.sock,server=on,wait=off,id=apodman-machine-default_ready -device virtserialport,chardev=apodman-machine-default_ready,name=org.fedoraproject.port.0 -pidfile /var/folders/xx/3_5vqxr901q1269zng17p2480000gn/T/podman/podman-machine-default_vm.pid -accel hvf -accel tcg -cpu host -M virt,highmem=on -drive file=/opt/homebrew/share/qemu/edk2-aarch64-code.fd,if=pflash,format=raw,readonly=on -drive file=/Users/steven/.local/share/containers/podman/machine/qemu/podman-machine-default_ovmf_vars.fd,if=pflash,format=raw -virtfs local,path=/Users,mount_tag=vol0,security_model=none -virtfs local,path=/private,mount_tag=vol1,security_model=none -virtfs local,path=/var/folders,mount_tag=vol2,security_model=none -drive if=virtio,file=/Users/steven/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-39.20231101.2.1-qemu.aarch64.qcow2

Emulated/Virtualized environment

  • Operating system: fedora-coreos-39.20231101.2.1
  • OS/kernel version: Linux 6.5.9-300.fc39.aarch64
  • Architecture: aarch64

Description of problem

I am installing Podman 4.7.2 and podman-machine uses qemu-system-aarch64 to boot up an embedded coreos image to run containers. With the new Apple M3 hardware, I am experiencing a QEMU assertion failure almost all of the time.

image

ASSERT [ArmCpuDxe] /home/kraxel/projects/qemu/roms/edk2/ArmPkg/Library/DefaultExceptionHandlerLib/AArch64/DefaultExceptionHandler.c(333): ((BOOLEAN)(0==1))

I have been unable to get the full crash output - I didn't figure out how to resize the console any larger, and I tried a couple different ways to hook the console up to qemu stdout without any success. (since the kernel command line parameters are not passed in, but instead the image uses a bootloader)

I believe this is the same issue I experience, but with a better capture of the crash: https://github.com/lima-vm/lima/issues/1996

Steps to reproduce

  1. Use Mac M3 (Max in my case)
  2. Install Podman
  3. Run podman-machine init
  4. Run podman-machine start --log-level=debug
  5. Crash (almost certainly)
Edited by Steven Schlansker
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information