why it report this OP_isb error?

24 views
Skip to first unread message

liang fang

unread,
May 12, 2022, 1:46:21 AM5/12/22
to DynamoRIO Users
I'm using memval_simple.so in aarch64. it report this, please help.

a.out (9660) DynamoRIO usage error : OP_isb must be last instruction in block>
<Usage error: OP_isb must be last instruction in block (DynamoRIO/source/core/arch/interp.c, line 2868)

sharma...@google.com

unread,
May 12, 2022, 10:32:07 AM5/12/22
to DynamoRIO Users
Hi,
We'd need some more details to root-cause this error. Are you using the latest DynamoRIO source? Does the release build work fine? Have you added any local changes to memval_simple? What is the exact command line you used that resulted in this error? What application are you running under DynamoRIO? How does the basic block mentioned in the error message look like? You can add "-loglevel 4 -logmask 0x60  -log_to_stderr" to get logs (which contain the basic blocks too) in debug build (https://dynamorio.org/page_logging.html), or add instrlist_disassemble in code near the assert to print it on your own.

Abhinav

liang fang

unread,
May 13, 2022, 12:59:27 PM5/13/22
to DynamoRIO Users
i didn't change anything.

0x0000fffd742a2830 0x0000ffff742fc9c8
0x0000fffd742a2890 0x0000ffff74308c78
0x0000fffd742a2910 0x0000ffff74309614
0x0000fffd742a2a40 0x00000000710b5f58
0x0000fffd742a3bb0 0x0000000071143248
0x0000fffd742a3c60 0x00000000711446a0
0x0000fffd742a3d80 0x00000000710683b8
0x0000fffd742a3f30 0x0000ffffb7ba3348>
(event_funcmemval_instruction|593)
[FUNC];0x0000fffd2bb65b20;0x0000fffd2bb65ba4;0x0000fffd2bb65b98;__aarch64_sync_cache_range
TAG  0x0000fffd2bb65b98
 +0    L3 @0x0000fffda5124f80  d5033b9f   dsb    $0x0b
 +4    L3 @0x0000fffda511cd00  d5033fdf   isb    $0x0f
 +8    m4 @0x0000fffda50b2268  00000000   <label note=0x0000000000000000>
END 0x0000fffd2bb65b98

i don't know why it will add <label note=0x0000000000000000>. i can't find that function in my code.  for this OP_isb error. it can't continue.
i found another issue  by set -max_bb_instrs maybe cause this, as the instr of my program is too long, i set  -max_bb_instrs 64。but no matter how many i set it always report in the __aarch64_sync_cache_range. is that any trouble will cause in the aarch64.  
the important thing is it will crash at the end.  I can't use "-debug -loglevel 4 -logmask 0x60  -log_to_stderr" as OP_isb error.

liang fang

unread,
May 13, 2022, 1:37:56 PM5/13/22
to DynamoRIO Users
"drx_tail_pad_block(drcontext, bb);" add this OP_isb? what's that use for? is that right in the aarch64?
Reply all
Reply to author
Forward
0 new messages