ASSERT_NOT_IMPLEMENTED aarch64/emit_utils.c:190
Running debug drcachesim offline on a proprietary app:
$ bin64/drrun -debug -msgbox_mask 12 -stderr_mask 15 -t drcachesim -dr_debug -offline -max_trace_size 10M -- <app and args>
...
<Application xxx (nnn). Internal Error: DynamoRIO debug check failure: Not implemented @src/core/arch/aarch64/emit_utils.c:190 (0)
(Error occurred @152412 frags)
#5 0x0000fffec740ee90 in d_r_internal_error (
file=0xfffec76fa9c0 "Not implemented @src/core/arch/aarch64/emit_utils.c", line=190, expr=0xfffec76fa9b8 "(0)")
at src/core/utils.c:176
#6 0x0000fffec7557c2c in patch_stub (f=0xfffdfa86ea98, stub_pc=0xfffe7fc17214 "\200\a", target_pc=0xfffe77c16cec "\201\233", hot_patch=true)
at src/core/arch/aarch64/emit_utils.c:190
#7 0x0000fffec754c2a0 in link_direct_exit (dcontext=0xfffdf78d8660, f=0xfffdfa86ea98, l=0xfffdfa86ead8, targetf=0xfffdf7ae6ec8, hot_patch=true)
at src/core/arch/emit_utils_shared.c:466
#8 0x0000fffec73e32a0 in link_branch (dcontext=0xfffdf78d8660, f=0xfffdfa86ea98, l=0xfffdfa86ead8, targetf=0xfffdf7ae6ec8, hot_patch=true)
at src/core/link.c:1166
#9 0x0000fffec73e8638 in link_fragment_outgoing (dcontext=0xfffdf78d8660, f=0xfffdfa86ea98, new_fragment=true)
at src/core/link.c:1798
#10 0x0000fffec73e9f48 in link_new_fragment (dcontext=0xfffdf78d8660, f=0xfffdfa86ea98) at src/core/link.c:1980
#11 0x0000fffec740d1ac in emit_fragment_common (dcontext=0xfffdf78d8660, tag=0xfffec1b6cc20 "\375{\276\251\364O\001\251\364\003", ilist=0xfffdf7990ae8,
flags=16777216, vmlist=0xfffdf78644b8, link_fragment=true, add_to_htable=true, replace_fragment=0x0)
at src/core/emit.c:803
#12 0x0000fffec740d858 in emit_fragment_ex (dcontext=0xfffdf78d8660, tag=0xfffec1b6cc20 "\375{\276\251\364O\001\251\364\003", ilist=0xfffdf7990ae8,
flags=16777216, vmlist=0xfffdf78644b8, link=true, visible=true) at src/core/emit.c:864
#13 0x0000fffec762136c in build_basic_block_fragment (dcontext=0xfffdf78d8660, start=0xfffec1b6cc20 "\375{\276\251\364O\001\251\364\003", initial_flags=0,
link=true, visible=true, for_trace=false, unmangled_ilist=0x0) at src/core/arch/interp.c:5167
#14 0x0000fffec73f698c in d_r_dispatch (dcontext=0xfffdf78d8660) at src/core/dispatch.c:214
(gdb) p /x (ptr_uint_t)target_pc - (ptr_uint_t)stub_pc
$3 = 0xfffffffff7fffad8
(gdb) p /x ((ptr_uint_t)target_pc - (ptr_uint_t)stub_pc) + 0x8000000
$4 = 0xfffffffffffffad8
The code there looks a little odd: it does not seem to handle underflow into a giant value very well.