You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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>
The text was updated successfully, but these errors were encountered:
lgeek
changed the title
CRASH on AArch64 when many are queued
CRASH on AArch64 when many signals are received
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:
The text was updated successfully, but these errors were encountered: