Skip to content
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

i#3544 RV64: Refine fault translation and signal handling #6461

Merged
merged 11 commits into from
Nov 28, 2023

Conversation

ksco
Copy link
Contributor

@ksco ksco commented Nov 17, 2023

Refine fault translation and signal handling, part of the linux.signalXXXX tests works on real hardware; however, they do not work on QEMU, so we can't enable them on CI.

Issue: #3544

Refine fault translation and signal handling, part of the linux.signalXXXX tests works on real hardware; however, they do not work on QEMU, so we can't enable them on CI.

Issue: DynamoRIO#3544
@ksco ksco requested a review from derekbruening November 17, 2023 18:01
ksco added 3 commits November 18, 2023 02:04
Fib test succeed on my local x86_64 machine with QEMU, but it fails on CI.
@ksco
Copy link
Contributor Author

ksco commented Nov 17, 2023

QEMU does not work well with drrun on signal tests for some unknown reason. Running qemu-riscv64 -L /usr/riscv64-linux-gnu bin64/drrun -debug -xarch_root /usr/riscv64-linux-gnu -- suite/tests/bin/linux.signal0000 results following error while it works fine on real hardware.

Sending SIGUSR2
Sending SIGUSR1
<Application /root/dynamorio/build/suite/tests/bin/linux.signal0000 (32907).  DynamoRIO internal crash at PC 0x0000000071235c78.  Please report this at http://dynamorio.org/issues/.  Program aborted.
Received SIGSEGV at pc 0x0000000071235c78 in thread 32907
Base: 0x0000000071000000
Registers:  pc=0x0000000071235c78 ra=0x000000007120e3f0 sp =0x0000004004ad8730 gp =0x0000004000809948
        tp=0x0000004004aab7a0 t0=0x00000000000878b0 t1 =0x0000004004acc378 t2 =0x0000000000000000
        s0=0x0000004004ad8760 s1=0x0000000000000001 a0 =0x0000004004acc038 a1 =0x0000004004ad9000
        a2=0x0000000000000110 a3=0x0000000000000000 a4 =0x0000004004ad8cc0 a5 =0x0000004004acc488
        a6=0x0000000000000000 a7=0x0000000000000081 s2 =0x0000000000000000 s3 =0x0000004000808de8
        s4=0x000000400080684a s5=0x00000040008000b8 s6 =0x0000004000808de8 s7 =0x0000004004a13d18
        s8=0x0000004004a14050 s9=0x0000000000000000 s10=0x0000000000000000 s11=0x0000000000000000
        t3=0x0000004004aa8000 t4=0x000000000000eec0 t5 =0x0000000000000004 t6 =0xffffffffffffffff

version 10.0.19678, custom build

@ksco
Copy link
Contributor Author

ksco commented Nov 17, 2023

vs2019-64 looks like #6423, but there is one more test failed: code_api|tool.drcacheoff.burst_replaceall.
x86-32-ubuntu22 #6416
x86-32 #6417

core/arch/riscv64/mangle.c Outdated Show resolved Hide resolved
core/arch/riscv64/mangle.c Show resolved Hide resolved
core/unix/signal.c Outdated Show resolved Hide resolved
@ksco ksco requested a review from derekbruening November 23, 2023 14:32
core/arch/riscv64/mangle.c Outdated Show resolved Hide resolved
@ksco
Copy link
Contributor Author

ksco commented Nov 28, 2023

@derekbruening Could you merge this? Thanks.

@derekbruening derekbruening merged commit 4832e55 into DynamoRIO:master Nov 28, 2023
13 of 15 checks passed
@derekbruening
Copy link
Contributor

Seems like x86-32 is hitting an AMD machine every time now. People are trying to fix the #6417 failures but there a multiple of them...

@ksco ksco deleted the i3544-signal-handling branch November 28, 2023 17:14
@ksco
Copy link
Contributor Author

ksco commented Nov 28, 2023

Yeah, I understand that. Thank you for the effort!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants