Thanks for moving the ticket to gitlab! ... so I'm closing this on Launchpad now.
** Changed in: qemu Status: Incomplete => Invalid -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1883268 Title: random errors on aarch64 when executing __aarch64_cas8_acq_rel Status in QEMU: Invalid Bug description: Hello, Since I upgraded to qemu-5.0 when executing the GCC testsuite, I've noticed random failures of g++.dg/ext/sync-4.C. I'm attaching the source of the testcase, the binary executable and the qemu traces (huge, 111MB!) starting at main (with qemu-aarch64 -cpu cortex-a57 -R 0 -d in_asm,int,exec,cpu,unimp,guest_errors,nochain) The traces where generated by a CI build, I built the executable manually but I expect it to be the same as the one executed by CI. In seems the problem occurs in f13, which leads to a call to abort() The preprocessed version of f13/t13 are as follows: static bool f13 (void *p) __attribute__ ((noinline)); static bool f13 (void *p) { return (__sync_bool_compare_and_swap((ditype*)p, 1, 2)); } static void t13 () { try { f13(0); } catch (...) { return; } abort(); } When looking at the execution traces at address 0x00400c9c, main calls f13, which in turn calls __aarch64_cas8_acq_rel (at 0x00401084) __aarch64_cas8_acq_rel returns to f13 (address 0x0040113c), then f13 returns to main (0x0040108c) which then calls abort (0x00400ca0) I'm not quite sure what's wrong :-( I've not noticed such random problems with native aarch64 hardware. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1883268/+subscriptions