On Tue, 20 Jun 2023 at 17:56, Peter Maydell <peter.mayd...@linaro.org> wrote: > > $ make -C build/x86 check-tcg > make: Entering directory > '/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/x86' > [...] > TEST munmap-pthread on arm > ** > ERROR:../../plugins/core.c:221:qemu_plugin_vcpu_init_hook: assertion > failed: (success) > ** > ERROR:../../accel/tcg/cpu-exec.c:1024:cpu_exec_setjmp: assertion > failed: (cpu == current_cpu)
git bisect blames commit d7ee93e2435970: cputlb: Restrict SavedIOTLB to system emulation I think that commit is not correct, because it means that the size of 'struct CPUState' and also the offset of fields like 'cpu_index' will be different for files which are compile-per-target-for-usermode and files which are compile-once-only. The assert happens here because the code which sets up cpu_index is build-once, but the code in qemu_plugin_vcpu_init_hook() which reads cpu_index is build-per-target and now they don't agree about where in the struct the field is... Reverting the commit fixes the bug. thanks -- PMM