Skip to content

8.0.0: Crash when emulating MIPS executable

Host environment

  • Operating system: Ubuntu 20.04.6 LTS
  • OS/kernel version: 5.15.0-69-generic #76~20.04.1-Ubuntu
  • Architecture: x86_64
  • QEMU flavor: qemu-mips64el
  • QEMU version: 8.0.0 (any version starting from 6.0.0)
  • QEMU command line: qemu-mips64el -cpu I6400 core_test.m64f32Lr6

Description of problem

A change to QEMU introduced within the 6.0.0 development cycle causes MIPS executable to crash. Similar problem occurred within the same time-frame for Aarch64 executables, but was fixed. Patches in QEMU causing both Aarch64 and MIPS occurrences are identified and attached below.

Steps to reproduce

  1. Download attached core_test.zip archive.
  2. Run pre-built MIPS executable with QEMU.
  3. Observe the crash somewhere in tdelete.
  4. Source for the test is here: https://github.com/VectorChief/QuadRay-engine
  5. The binaries were built with GCC 9.4 cross-compilers using slightly modified makefiles (-ggdb3) for gdb-multiarch
  6. Building on Ubuntu 22.04 and Ubuntu 23.04 also reproduces the problem, so it's not OS or compiler specific.

Additional information

Archive with pre-built binaries: core_test.zip

Patch breaking Aarch64: qemu_arm_br.diff commit 8fe35e04

Patch fixing Aarch64: qemu_arm_fix.diff commit ae30e866

Patch breaking MIPS: qemu_mips_br.diff commit 96e5b4c7

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