The breakage is on:
1. page_set_flags calls assert_memory_lock();
2. that is defined as tcg_debug_assert(have_mmap_lock())
3. That is just
25 static __thread int mmap_lock_count;
...
41 bool have_mmap_lock(void)
42 {
43 return mmap_lock_count > 0 ? true : false;
44 }
4. if that returns false then this will with the config qemu has for
qemu-user-static turn into
242 do { if (!(X)) { __builtin_unreachable(); } } while (0)
That is our segfault.
So we are actually looking at a lack of an expected mmap lock.
We didn't mess with the locking or MM of qmeu-user-static.
The non-wrong linking should - if anything - in that regard only help.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1912605
Title:
/usr/bin/qemu-
aarch64-static:11:have_mmap_lock:page_set_flags:target_mmap:load_elf_image:load_elf_binary
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1912605/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs