* [Bug 1903833] [NEW] User mode qemu-aarch: SIGGSEGV signal handler works wrong
@ 2020-11-11 10:19 Boris
2020-11-12 21:37 ` [Bug 1903833] " Richard Henderson
2021-01-12 4:17 ` Launchpad Bug Tracker
0 siblings, 2 replies; 3+ messages in thread
From: Boris @ 2020-11-11 10:19 UTC (permalink / raw)
To: qemu-devel
Public bug reported:
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.
** Affects: qemu
Importance: Undecided
Status: New
** Attachment added: "minimal reproducers for the issue"
https://bugs.launchpad.net/bugs/1903833/+attachment/5433337/+files/test.cpp
--
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:
New
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug 1903833] Re: User mode qemu-aarch: SIGGSEGV signal handler works wrong
2020-11-11 10:19 [Bug 1903833] [NEW] User mode qemu-aarch: SIGGSEGV signal handler works wrong Boris
@ 2020-11-12 21:37 ` Richard Henderson
2021-01-12 4:17 ` Launchpad Bug Tracker
1 sibling, 0 replies; 3+ messages in thread
From: Richard Henderson @ 2020-11-12 21:37 UTC (permalink / raw)
To: qemu-devel
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug 1903833] Re: User mode qemu-aarch: SIGGSEGV signal handler works wrong
2020-11-11 10:19 [Bug 1903833] [NEW] User mode qemu-aarch: SIGGSEGV signal handler works wrong Boris
2020-11-12 21:37 ` [Bug 1903833] " Richard Henderson
@ 2021-01-12 4:17 ` Launchpad Bug Tracker
1 sibling, 0 replies; 3+ messages in thread
From: Launchpad Bug Tracker @ 2021-01-12 4:17 UTC (permalink / raw)
To: qemu-devel
[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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-01-12 4:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-11 10:19 [Bug 1903833] [NEW] User mode qemu-aarch: SIGGSEGV signal handler works wrong Boris
2020-11-12 21:37 ` [Bug 1903833] " Richard Henderson
2021-01-12 4:17 ` Launchpad Bug Tracker
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.