[Bug 1903833] Re: User mode qemu-aarch: SIGGSEGV signal handler works wrong

2021-01-11 Thread Launchpad Bug Tracker
[Expired for QEMU because there has been no activity for 60 days.]

** Changed in: qemu
   Status: Incomplete => Expired

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1903833

Title:
  User mode qemu-aarch: SIGGSEGV signal handler works wrong

Status in QEMU:
  Expired

Bug description:
  I have a user mode qemu-aarch issue. Program with SIGSEGV signal handler 
works wrong under qemu-aarch: 
  once the progam handles the SEGV signal, qemu marks the program's page 
protected, and signal handler gets SEGV on each subsequent memory access 
instruction within a program.

  The issue is reproduced on WSL Ubuntu 20.04 under Windows 10, qemu-aarch64 
version 5.1.50
  The issue is also reproducible on the latest upstream qemu-aarch build.

  The following workaround disables mprotect call and fixes the issue:
  
https://github.com/BorisUlasevich/qemu/commit/3063d9a64f8395185d65c6b6710d28ee92cd8be5

  The issue can be reproduced on OpenJDK which reports SIGSEGV
  immediately after start. The small reproducer program is attached.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1903833/+subscriptions



[Bug 1903833] Re: User mode qemu-aarch: SIGGSEGV signal handler works wrong

2020-11-12 Thread Richard Henderson
The patch is most definitely wrong.  The page protection
is required to implement self-modifying code, of which a
signal trampoline is a subset.

Moreover, your test case works for me using both
x86_64-linux and aarch64-linux as hosts.

There may be a bug, but I suspect it to be within WSL.
I have no way to test that one way or another.

** Changed in: qemu
   Status: New => Incomplete

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1903833

Title:
  User mode qemu-aarch: SIGGSEGV signal handler works wrong

Status in QEMU:
  Incomplete

Bug description:
  I have a user mode qemu-aarch issue. Program with SIGSEGV signal handler 
works wrong under qemu-aarch: 
  once the progam handles the SEGV signal, qemu marks the program's page 
protected, and signal handler gets SEGV on each subsequent memory access 
instruction within a program.

  The issue is reproduced on WSL Ubuntu 20.04 under Windows 10, qemu-aarch64 
version 5.1.50
  The issue is also reproducible on the latest upstream qemu-aarch build.

  The following workaround disables mprotect call and fixes the issue:
  
https://github.com/BorisUlasevich/qemu/commit/3063d9a64f8395185d65c6b6710d28ee92cd8be5

  The issue can be reproduced on OpenJDK which reports SIGSEGV
  immediately after start. The small reproducer program is attached.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1903833/+subscriptions