DynamoRIO / dynamorio

Dynamic Instrumentation Tool Platform
Other
2.67k stars 562 forks source link

signest test fails occasionally in debug build: <dropping nested signal> #1803

Open derekbruening opened 9 years ago

derekbruening commented 9 years ago

The signest test failed in my pre-commit suite yesterday. I can sometimes repro. It drops the nested signal:

> bin32/drrun -- suite/tests/bin/linux.signest
<Starting application /work/dr/git/build_x86_dbg_tests/suite/tests/bin/linux.signest (28240)>
<Paste into GDB to debug DynamoRIO clients:
set confirm off
add-symbol-file '/work/dr/git/build_x86_dbg_tests/lib32/debug/libdynamorio.so' 0xf7013c0c
>
<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 >
<get_memory_info mismatch! (can happen if os combines entries in /proc/pid/maps)
        os says: 0xf77f2000-0xf77f3000 prot=0x00000025
        cache says: 0xf77f2000-0xf77f3000 prot=0x00000005
>
sending 2 signals
<dropping nested signal>
in handler 42

I can get this to happen with the 6.0 release debug build, sometimes:

> /work/dr/releases/rel-6.0.0/DynamoRIO-Linux-6.0.0-6/bin32/drrun -debug -- suite/tests/bin/linux.signest
<Starting application /work/dr/git/build_x86_dbg_tests/suite/tests/bin/linux.signest (28302)>
<Paste into GDB to debug DynamoRIO clients:
set confirm off
add-symbol-file '/work/dr/releases/rel-6.0.0/DynamoRIO-Linux-6.0.0-6/lib32/debug/libdynamorio.so' 0xf7013c0c
>
<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 >
<get_memory_info mismatch! (can happen if os combines entries in /proc/pid/maps)
        os says: 0xf77a7000-0xf77a8000 prot=0x00000025
        cache says: 0xf77a7000-0xf77a8000 prot=0x00000005
>
sending 2 signals
<dropping nested signal>
in handler 42

The test works w/ "-checklevel 0" every time.

derekbruening commented 9 years ago

Project: DynamoRIO Site: Linux.Fedora22.Ancalagon Build Name: debug-internal-32 Build Time: 2015-10-14T03:15:17 MDT Type: Nightly Tests failing: 1

Tests failing code_api|linux.signest (http://dynamorio.org/CDash/testDetails.php?test=1571&build=59)

egrimley commented 7 years ago

A possible case on Travis: https://travis-ci.org/DynamoRIO/dynamorio/builds/202269547