Skip to content

qemu-system-aarch64: ../target/arm/helper.c:6757: sve_vqm1_for_el_sm: Assertion `sm' failed.

Host environment

  • Operating system: openSUSE Tumbleweed 20231103

  • OS/kernel version: Linux nibbler 6.5.6-1-default #1 SMP PREEMPT_DYNAMIC Fri Oct  6 11:20:48 UTC 2023 (c97c2df) x86_64 x86_64 x86_64 GNU/Linux

  • Architecture: x86_64

  • QEMU flavor: qemu-system-aarch64

  • QEMU version: 8.1.2

  • QEMU command line:

    /usr/bin/qemu-system-aarch64 -name guest=opensusetumbleweed-aarch64,debug-threads=on -blockdev $'{"driver":"file","filename":"/usr/share/qemu/aavmf-aarch64-code.bin","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' -blockdev $'{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' -blockdev $'{"driver":"file","filename":"/home/stefan/.config/libvirt/qemu/nvram/opensusetumbleweed-aarch64_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' -blockdev $'{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' -machine virt-8.1,usb=off,gic-version=3,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on -accel tcg -cpu max,sve=off -m size=8388608k -object $'{"qom-type":"memory-backend-memfd","id":"mach-virt.ram","share":true,"x-use-canonical-path-for-ramblock-id":false,"size":8589934592}' -overcommit mem-lock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 45e0bbde-b2c8-4c70-807f-9123a53153a5 -no-user-config -nodefaults -rtc base=utc -no-shutdown -boot strict=on -device $'{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' -device $'{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' -device $'{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}' -device $'{"driver":"pcie-root-port","port":11,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x3"}' -device $'{"driver":"pcie-root-port","port":12,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x1.0x4"}' -device $'{"driver":"pcie-root-port","port":13,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x1.0x5"}' -device $'{"driver":"pcie-root-port","port":14,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x1.0x6"}' -device $'{"driver":"pcie-root-port","port":15,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x1.0x7"}' -device $'{"driver":"pcie-root-port","port":16,"chassis":9,"id":"pci.9","bus":"pcie.0","multifunction":true,"addr":"0x2"}' -device $'{"driver":"pcie-root-port","port":17,"chassis":10,"id":"pci.10","bus":"pcie.0","addr":"0x2.0x1"}' -device $'{"driver":"pcie-root-port","port":18,"chassis":11,"id":"pci.11","bus":"pcie.0","addr":"0x2.0x2"}' -device $'{"driver":"pcie-root-port","port":19,"chassis":12,"id":"pci.12","bus":"pcie.0","addr":"0x2.0x3"}' -device $'{"driver":"pcie-root-port","port":20,"chassis":13,"id":"pci.13","bus":"pcie.0","addr":"0x2.0x4"}' -device $'{"driver":"pcie-root-port","port":21,"chassis":14,"id":"pci.14","bus":"pcie.0","addr":"0x2.0x5"}' -device $'{"driver":"pcie-root-port","port":22,"chassis":15,"id":"pci.15","bus":"pcie.0","addr":"0x2.0x6"}' -device $'{"driver":"pcie-pci-bridge","id":"pci.16","bus":"pci.1","addr":"0x0"}' -device $'{"driver":"qemu-xhci","p2":15,"p3":15,"id":"usb","bus":"pci.3","addr":"0x0"}' -device $'{"driver":"virtio-scsi-pci","id":"scsi0","bus":"pci.4","addr":"0x0"}' -device $'{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.5","addr":"0x0"}' -blockdev $'{"driver":"file","filename":"/home/stefan/.local/share/libvirt/images/opensusetumbleweed-aarch64.qcow2","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' -blockdev $'{"node-name":"libvirt-2-format","read-only":false,"discard":"unmap","driver":"qcow2","file":"libvirt-2-storage"}' -device $'{"driver":"virtio-blk-pci","bus":"pci.6","addr":"0x0","drive":"libvirt-2-format","id":"virtio-disk0","bootindex":1}' -blockdev $'{"driver":"file","filename":"/home/stefan/Downloads/openSUSE-Tumbleweed-NET-aarch64-Snapshot20231122-Media.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' -blockdev $'{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' -device $'{"driver":"scsi-cd","bus":"scsi0.0","channel":0,"scsi-id":0,"lun":0,"device_id":"drive-scsi0-0-0-0","drive":"libvirt-1-format","id":"scsi0-0-0-0","bootindex":2}' -chardev pty,id=charserial0 -serial chardev:charserial0 -chardev spicevmc,id=charchannel1,name=vdagent -device $'{"driver":"virtserialport","bus":"virtio-serial0.0","nr":2,"chardev":"charchannel1","id":"channel1","name":"com.redhat.spice.0"}' -device $'{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}' -device $'{"driver":"usb-kbd","id":"input1","bus":"usb.0","port":"2"}' -audiodev $'{"id":"audio1","driver":"spice"}' -spice port=0,disable-ticketing=on,image-compression=off,seamless-migration=on -device $'{"driver":"virtio-gpu-pci","id":"video0","max_outputs":1,"bus":"pci.9","addr":"0x0"}' -device $'{"driver":"ich9-intel-hda","id":"sound0","bus":"pci.16","addr":"0x1"}' -device $'{"driver":"hda-duplex","id":"sound0-codec0","bus":"sound0.0","cad":0,"audiodev":"audio1"}' -chardev spicevmc,id=charredir0,name=usbredir -device $'{"driver":"usb-redir","chardev":"charredir0","id":"redir0","bus":"usb.0","port":"3"}' -device $'{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.7","addr":"0x0"}' -object $'{"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"}' -device $'{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","bus":"pci.8","addr":"0x0"}' -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -msg timestamp=on
    
    

The commandline is generated by libvirt.

Emulated/Virtualized environment

  • Operating system: openSUSE Tumbleweed 20231122
  • OS/kernel version: Linux localhost.localdomain 6.6.2-1-default #1 SMP PREEMPT_DYNAMIC Mon Nov 20 11:22:36 UTC 2023 (263a855) aarch64 aarch64 aarch64 GNU/Linux
  • Architecture: aarch64

Description of problem

Qemu crashes when sve is completely disabled for CPU model "max" (-cpu max,sve=off). Using any CPU model which does not include SVE, or using only e.g. SVE128 (-cpu max,sve128=on) works fine.

#0  0x00007f94b8291dec in __pthread_kill_implementation () at /lib64/libc.so.6
#1  0x00007f94b823f0c6 in raise () at /lib64/libc.so.6
#2  0x00007f94b82268d7 in abort () at /lib64/libc.so.6
#3  0x00007f94b82267eb in _nl_load_domain.cold () at /lib64/libc.so.6
#4  0x00007f94b8237016 in  () at /lib64/libc.so.6
#5  0x000055d6794aa698 in sve_vqm1_for_el_sm (env=env@entry=0x55d67c6ff9b0, el=el@entry=1, sm=false) at ../target/arm/helper.c:6757
#6  0x000055d6794afc29 in sve_vqm1_for_el (el=1, env=0x55d67c6ff9b0) at ../target/arm/helper.c:6763
#7  smcr_write (env=0x55d67c6ff9b0, ri=0x55d67c78f600, value=<optimized out>) at ../target/arm/helper.c:6887
#8  0x00007f9469bad101 in code_gen_buffer ()
#9  0x000055d67977dc19 in cpu_tb_exec (cpu=cpu@entry=0x55d67c6fd1f0, itb=<optimized out>, tb_exit=tb_exit@entry=0x7f94acdcc4c4) at ../accel/tcg/cpu-exec.c:457
#10 0x000055d67977e59f in cpu_loop_exec_tb (tb_exit=0x7f94acdcc4c4, last_tb=<synthetic pointer>, pc=<optimized out>, tb=<optimized out>, cpu=<optimized out>) at ../accel/tcg/cpu-exec.c:919
#11 cpu_exec_loop (cpu=cpu@entry=0x55d67c6fd1f0, sc=sc@entry=0x7f94acdcc570) at ../accel/tcg/cpu-exec.c:1040
#12 0x000055d67977ee7d in cpu_exec_setjmp (cpu=0x55d67c6fd1f0, sc=0x7f94acdcc570) at ../accel/tcg/cpu-exec.c:1057
#13 0x000055d679787c3d in cpu_exec (cpu=0x55d67c6fd1f0) at ../accel/tcg/cpu-exec.c:1083
#14 0x000055d6797a1d52 in tcg_cpus_exec (cpu=0x55d67c6fd1f0) at ../accel/tcg/tcg-accel-ops.c:75
#15 mttcg_cpu_thread_fn (arg=arg@entry=0x55d67c6fd1f0) at ../accel/tcg/tcg-accel-ops-mttcg.c:95
#16 0x000055d679938698 in qemu_thread_start (args=0x55d67c7a1500) at ../util/qemu-thread-posix.c:541
#17 0x00007f94b828ff44 in start_thread () at /lib64/libc.so.6
#18 0x00007f94b8318314 in clone () at /lib64/``libc.so``.6

This happens when the system is booting, i.e. grub has just finished, loaded kernel and initrd, and the kernel has just began to run, i.e. early in the kernel startup.

Steps to reproduce

Additional information

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