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

CRASH on AArch64 when many signals are received #2358

Open
lgeek opened this issue Apr 17, 2017 · 0 comments
Open

CRASH on AArch64 when many signals are received #2358

lgeek opened this issue Apr 17, 2017 · 0 comments

Comments

@lgeek
Copy link

lgeek commented Apr 17, 2017

DynamoRIO 4afa0bd. I've only tested this on AArch64.

I'll reference this test again. In this case, a new thread is started, which sends RT signals back to its parent in a tight loop. On my system, if more than 15 signals are sent, then DynamoRIO crashes reliably.

If debugging is not enabled, then I'm getting either a SIGILL or a segmentation fault. This is the output with debugging enabled:

$ ~/dynamorio/build/bin64/drrun -debug ./signals
<Starting application /home/cosmin/mambo/test/signals (16260)>
<Paste into GDB to debug DynamoRIO clients:
set confirm off
add-symbol-file '/home/cosmin/dynamorio/build/lib64/debug/libdynamorio.so' 0x000000555a3367c0
>
<Initial options = -no_dynamic_options -code_api -stack_size 56K -max_elide_jmp 0 -max_elide_call 0 -early_inject -emulate_brk -no_inline_ignored_syscalls -native_exec_default_list '' -no_native_exec_managed_code -no_indcall2direct >
<(1+x) Handling our fault in a TRY at 0x000000555a658730>
Simple signal handler: <Not tested @/home/cosmin/dynamorio/core/unix/signal.c:2611>
success
Signal after flushing the code cache: success
Test against race conditions between code generation and signals: success
Test for missed signals: <Application /home/cosmin/mambo/test/signals (16260).  Internal Error: DynamoRIO debug check failure: /home/cosmin/dynamorio/core/heap.c:4073 su->top_unit == NULL || su->use_lock
(Error occurred @10292 frags)
version 6.2.17273, custom build
-no_dynamic_options -code_api -stack_size 56K -max_elide_jmp 0 -max_elide_call 0 -early_inject -emulate_brk -no_inline_ignored_syscalls -native_exec_default_list '' -no_native_exec_managed_code -no_indcall2direct 
0x00000000546684a0 0x000000555a43a5fc
0x0000000054668630 0x000000555a4e10f4
0x0000000054668860 0x000000555a4e2ce0
0x0000000054668990 0x000000555a4e3644
0x0000000054668ab0 0x000000555a67c1f8
0x0000000054668ad0 0x000000555a67e904
0x0000000054669d00 0x000000555a658830
0x000000005466aff0 0x000000555a658830
0x0000007fc3e01820 0x000000000040256c
0x0000007fc3e01890 0x0000007fa34b48a0
0x0000007fc3e01990 0x0000000000400cb8>
@lgeek lgeek changed the title CRASH on AArch64 when many are queued CRASH on AArch64 when many signals are received Apr 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants