libmemval_simple.so crash on aarch64

32 views
Skip to first unread message

liang fang

unread,
May 13, 2022, 11:40:09 PM5/13/22
to DynamoRIO Users
follow is my test command:

~/work/DynamoRIO/source/build/bin64/drrun  -c ~/work/DynamoRIO/source/build/api/bin/libmemval_simple.so  -- bash

Data file /...DynamoRIO/source/build/api/bin/memval.bash.21158.0000.log created
Segmentation fault (core dumped)

real    0m0.436s
user    0m0.318s
sys     0m0.036s


Derek Bruening

unread,
May 16, 2022, 2:06:27 PM5/16/22
to liang fang, DynamoRIO Users
Did you do some standard debugging?  Get a callstack of the crash, look at the logs, etc.

As you can see the regression test for memval_simple passes though it only runs the "nzcv" simple app.  If you find corner cases not properly handled please consider contributing a better regression test.

http://139.178.82.61:8080/job/DynamoRIO-AArch64-Precommit/1577/consoleFull

171: Test command: /var/lib/jenkins/workspace/DynamoRIO-AArch64-Precommit/build/build_debug-internal-64/bin64/drrun "-s" "90" "-quiet" "-debug" "-killpg" "-stderr_mask" "0xC" "-dumpcore_mask" "0" "-code_api" "-c" "/var/lib/jenkins/workspace/DynamoRIO-AArch64-Precommit/build/build_debug-internal-64/api/samples/../bin/libmemval_simple.so" "--" "/var/lib/jenkins/workspace/DynamoRIO-AArch64-Precommit/build/build_debug-internal-64/suite/tests/bin/common.nzcv"

158/304 Test #171: code_api|sample.memval_simple ...................................   Passed    0.33 sec


--
You received this message because you are subscribed to the Google Groups "DynamoRIO Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dynamorio-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dynamorio-users/ec038b4a-c6a4-44fc-b812-0b3c796655ben%40googlegroups.com.

liang fang

unread,
May 17, 2022, 11:32:41 AM5/17/22
to DynamoRIO Users
i will try.  i have one question for you.  "drx_tail_pad_block(drcontext, bb);" in the memval_sample.so.  it will add label inst at the end of BB.  what's that use for? is that right in the aarch64? 
TAG  0x0000fffd2bb65b98
 +0    L3 @0x0000fffda5124f80  d5033b9f   dsb    $0x0b
 +4    L3 @0x0000fffda511cd00  d5033fdf   isb    $0x0f
 +8    m4 @0x0000fffda50b2268  00000000   <label note=0x0000000000000000>
END 0x0000fffd2bb65b98

Nahome Bete

unread,
May 17, 2022, 6:47:27 PM5/17/22
to DynamoRIO Users
from https://github.com/DynamoRIO/dynamorio/blob/master/ext/drx/drx.h#L483, 'drx_tail_pad_block' "Pads a basic block with a label at the end for routines which rely on inserting instrumentation after every instruction" For BBs that are not branch or syscall terminated, it labels them to indicate the end of the BB. 

assad.hashm...@gmail.com

unread,
May 18, 2022, 8:21:09 AM5/18/22
to DynamoRIO Users
bash doesn't work properly on AArch64 according to https://github.com/DynamoRIO/dynamorio/issues/2102
It's an old issue but might be worth trying with "-no_code_api -no_intercept_all_signals" as suggested.
Reply all
Reply to author
Forward
0 new messages