-
Notifications
You must be signed in to change notification settings - Fork 576
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CRASH: SIGSEGV on sigreturn under QEMU for AArch64-on-x86 #7371
Comments
The above is QEMU 6.2. On 8.2 the failure is different:
|
I built the latest QEMU 10.0.0-rc0 and it has the same failure:
|
Tried passing Tried in 10.0: same! DR still thinks SVE is there:
If I ignore the assert, we hit the same SIGSEGV as in older QEMU: so newer QEMU is not helping.
|
Add signal_racesys test to ignore list when executing on QEMU when DynamoRIO's target is AARCH64 on an x86 host. Issue #7371
Adds `code_api|linux.signal_racesys` test to ignore list when executing under QEMU on an x86 host with DynamoRIO's target set to AARCH64. Upgrades from Ubuntu 20.04 to 22.04 for aarch64-cross-compile jobs. Issue #7371
This is another QEMU failure that happens on Ubuntu22 hit for #7270 but which did not happen on Ubuntu20.
This happens in a target-AArch64 build on an x86 machine.
These tests hit it among those labeled RUNS_ON_QEMU:
client.exception is #7297.
Actually on GA two of those are ignored so only signal_racesys shows up as a failure:
#6260 was filed after failures showed up after the SVE patch.
These all crash the same way:
From studying the DR logs, the app has a deliberate crash that raises SIGSEGV, and there is a handler somewhere that should recover from it, but instead the sigreturn when DR tries to send control from its handler to the app handler raises a SIGSEGV from the kernel:
That's si_code==128==0x80==SI_KERNEL.
So kernel is raising SIGSEGV on SYS_sigreturn: something is wrong with the frame.
Could it be that all DR sigreturns crash this way on this version of QEMU and just most of RUNS_ON_QEMU tests don't have signals?
I tried signal1000 and it works under QEMU w/o DR but hits same 0x*d80 crash
w/ DR:
I tried aligning the sigcontext from 16 to 32 and 64 bytes: same failure.
The text was updated successfully, but these errors were encountered: