switching from L0_filter mode to full instr tracing mode

110 views
Skip to first unread message

Prasun Ratn

unread,
Jun 17, 2021, 9:23:23 AM6/17/21
to DynamoRIO Users
I am experimenting with a tracing mode where we first collect a cache-warmup
trace using the existing L0_filter and then switch to a full instruction trace.
I am using the dr_flush_region_ex method to flush the current instrumentation
(inspired by how delay instrumentation is implemented).

This works for a toy program as shown below. We start off with a delay of ~600M
instrs. Then we run with L0_filter for 100m references and then we switch to a
full instruction trace.

  Thread 18547: started (global references 0)
  <curiosity: rex.w on OPSZ_6_irex10_short4!>
  <(1+x) Handling our fault in a TRY at 0x00007f2a8fc29442>
  Thread 18547: Hit delay threshold: enabling tracing after 614465538 instructions.
  Thread 18547: Switching to full trace after ~100000201 references for this thread (global references = 100000201).
  In open_post_trace.
  Hit -max_trace_size: disabling tracing.
  <Stopping application /home/prasun/DR/array (18547)>
  Thread 18547: exiting after ~10484224 references (global references = 10484224).

However when I tried this with specint benchmark, I see a segfault in the
second basic block after switching to the full instruction trace.

Any idea why this could happen?

  Thread 14595: started (global references 0)
  <spurious rep/repne prefix @0x00000000002b7f00 (f3 0f 1e fa): >
  <curiosity: rex.w on OPSZ_6_irex10_short4!>
  <get_memory_info mismatch! (can happen if os combines entries in /proc/pid/maps)
      os says: 0x00007f1b7cae8000-0x00007f1b7cae9000 prot=0x00000003
      cache says: 0x00007f1b7cae8000-0x00007f1b7caf4000 prot=0x00000003
  >
  Thread 14595: Hit delay threshold: enabling tracing after 61522051073 instructions.
  Thread 14595: Switching to full trace after ~100002083 references for this thread (global references = 100002083).
  In open_post_trace.
  <Application /path/to/my_binary (14595).  Application exception at PC 0x00000000004cba50.
  Signal 11 delivered to application as default action.
  Callstack:
      0x00000000004cba50   </path/to/my_binary+0x2cba50>
      0x00003c3c4f4f5d5d
  >
  <Stopping application /path/to/my_binary (14595)>
  Thread 14595: exiting after ~0 references (global references = 0).
  <Application /path/to/my_binary (14595).  Internal Error: DynamoRIO debug check failure: /home/prasun/DR/dynamorio/core/heap.c:1951 IF_WINDOWS(doing_detach ||) vmh->num_free_blocks == vmh->num_blocks - unfreed_blocks || ((ever_beyond_vmm IF_WINDOWS(|| get_os_version() >= WINDOWS_VERSION_8_1)) && vmh->num_free_blocks >= vmh->num_blocks - unfreed_blocks)
  (Error occurred @8461 frags)
  version 8.0.18752, custom build
  -loglevel 4 -client_lib '/home/prasun/DR/build-DDEBUGON/bin64/../clients/lib64/debug/libdrmemtrace.so;0;-trace_after_instrs 58672M -warmup_refs 100000000 -max_trace_size 80M -offline -subdir_prefix 13' -client_lib64 '/home/prasun/DR/build-DDEBUGON/bin64/../clients/lib64/debug/libdrmemtrace.so;0;-t
  0x00007f1b7db240a0 0x00007f1d7db3b635
  0x00007f1b7db242f0 0x00007f1d7dbd0975
  0x00007f1b7db24330 0x00007f1d7dbd0a00
  0x00007f1b7db24340 0x00007f1d7dab3195
  0x00007f1b7db24380 0x00007f1d7dab34d1
  0x00007f1b7db243b0 0x00007f1d7dab3657
  0x00007f1b7db243d0 0x00007f1d7dd4a609
  0x00007f1b7db24530 0x00007f1d7dd4a9ea
  0x00007f1b7db24560 0x00007f1d7dd3fd34
  0x00007f1b7db245d0 0x00007f1d7dd40237
  0x00007f1b7db24740 0x00007f1d7dd469ff
  0x00007f1b7db247e0 0x00007f1d7dd4346c
  0x00007f1b7db24a10 0x00007f1d7dd4660f
  0x00007f1b7db24ab0 0x00007f1d7dd03f63
  0x00007f1b7c710948 0x00003c3c4f4f5d5d
  /home/prasun/DR/build-DDEBUGON/lib64/debug/libdynamorio.so=0x00007f1d7da56000>

Some selected snippets from the log

  1471127:SYSLOG_INFORMATION: curiosity: rex.w on OPSZ_6_irex10_short4!
  1635841:SYS_open /proc/sys/vm/overcommit_memory => 3
  1638442:SYS_open /sys/kernel/mm/transparent_hugepage/enabled => 3
  1642124:SYSLOG_WARNING: get_memory_info mismatch! (can happen if os combines entries in /proc/pid/maps)
  6581389:before instrumentation: TAG  0x00000000004cba50
  6588616:before instrumentation: TAG  0x00000000004cba50
  7154653:Exit from client redirection                                                  --> switch from delay_instrumentation to L0_filter
  7161239:before instrumentation: TAG  0x00000000004cba50
  7170675:before instrumentation: TAG  0x00000000004cba50
  8270818:Exit from client redirection                                                  --> switch from L0_filter to full instr trace
  8270819-
  8270820:d_r_dispatch: target = 0x00000000004cba61
  8270834-before instrumentation:
  8270835-TAG  0x00000000004cba61
  8270836- +0    L3 @0x00007f1b7dc9de30  0f 85 e9 ff ff ff    jnz    $0x00000000004cba50
  8270837-END 0x00000000004cba61
  8271176:d_r_dispatch: target = 0x00000000004cba50
  8271192:before instrumentation: TAG  0x00000000004cba50
  8271841:** Received SIGSEGV at cache pc 0x00000000481e8142 in thread 14595
  8271849:translate context, thread 14595 at pc_recreatable spot translating
  8271850:recreate_app_state -- translating from:
  8271912:before instrumentation: TAG  0x00000000004cba50
  8272319:recreate_app : pc is in F8461(0x00000000004cba50)
  8272409:recreate_app : looking for 0x00000000481e8142 in frag @ 0x00000000481e80dc (tag 0x00000000004cba50)
  8272410:recreate_app -- found valid state pc 0x00000000004cba50 - 0x0000000000000000
  8272411:recreate_app_state_from_ilist   translation 0x00000000004cba50 is post-walk 0x0000000000000000 so not fixing xsp
  8272412:recreate_app -- found ok pc 0x00000000004cba50
  8272420:recreate_app_state -- translation is:
  8272559:SYSLOG_WARNING: Application /path/to/my_binary (14595).  Application exception at PC 0x00000000004cba50.
  8272566:SYSLOG_INFORMATION: Stopping application /path/to/my_binary (14595)
  8283111:                  Fcache exits, client redirecting (thread):                 2

Derek Bruening

unread,
Jun 17, 2021, 1:29:14 PM6/17/21
to dynamor...@googlegroups.com
Maybe there was state set up for filtering that was not cleared when changing to no filter?  IIRC there are init-time flags passed to instru_offline with no existing way to change them -- though you'd think that would cause post-processing issues and not a runtime crash.

The log snippet seems to not contain the crashing instruction, though as an app crash presumably it's a messed up register which may have been corrupted well upstream, so it may not be obvious what is going on.

Xref the drbbdup approach in https://github.com/DynamoRIO/dynamorio/issues/3995 but for that a full swap between states would also have to be implemented.

--
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/9c18d1bf-b323-4438-bc8e-46e07d9f8affn%40googlegroups.com.

Prasun Ratn

unread,
Jun 23, 2021, 11:20:46 AM6/23/21
to dynamor...@googlegroups.com
I had tried to attach the log but it looks like the attachment was
dropped. I have copied it here :
https://1drv.ms/u/s!AqNLJ5-v5nrRlSMyy4hnyMEfliHI?e=WN4cyP . Hope it is
accessible.

In the log I see that the faulting instruction is the first
instruction that accesses memory after the transition happens. The
values of both rcx and rdx don't look pointer-like. They are different
from the last time priv_mcontext_t was printed where both rcx and rdx
value look like pointers.

d_r_dispatch: target = 0x00000000004cc6a2
priv_mcontext_t @0x00007f1b7dae2080
xax = 0x000000000000ffff
xbx = 0xffffffffffffffad
xcx = 0x00007f1b7c6df868
xdx = 0x00007f1b798b2620
...
...
Exit from client redirection
...
...
priv_mcontext_t @0x00007f1b7dae2080
xax = 0x000001fc6df1b971
xbx = 0x00007f1b7c70dc40
xcx = 0xffffffffffffffff
xdx = 0x0000000000000018

interp: start_pc = 0x00000000004cba50
0x00000000004cba50 c4 e2 7d 33 04 d1 vpmovzxwd
(%rcx,%rdx,8)[16byte] -> %ymm0
0x00000000004cba56 48 83 c2 02 add $0x0000000000000002
%rdx -> %rdx
wrote all 6 flags now!
0x00000000004cba5a c5 ed fa d0 vpsubd %ymm2 %ymm0 -> %ymm2
0x00000000004cba5e 49 39 d7 cmp %r15 %rdx
0x00000000004cba61 0f 85 e9 ff ff ff jnz $0x00000000004cba50
end_pc = 0x00000000004cba67
....
computing memory target for 0x00000000481e8142 causing SIGSEGV, kernel
claims it is 0x00000000000000bf
compute_memory_target: falling back to racy protection checks
opnd_compute_address for: (%rcx,%rdx,8)
base => 0xffffffffffffffff
index,scale => 0x00000000000000bf
disp => 0x00000000000000bf
For SIGSEGV at cache pc 0x00000000481e8142, computed target read
0x00000000000000bf
faulting instr: vpmovzxwd (%rcx,%rdx,8)[16byte] -> %ymm0
** Received SIGSEGV at cache pc 0x00000000481e8142 in thread 14595

> You received this message because you are subscribed to a topic in the Google Groups "DynamoRIO Users" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/dynamorio-users/fn6LBUxTd2o/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to dynamorio-use...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/dynamorio-users/CAO1ikSaAsgo6WxmQEsKyC4LRpp43UMOpEsbXc%2BwHoKyN4RengA%40mail.gmail.com.

Prasun Ratn

unread,
Jul 1, 2021, 4:30:17 AM7/1/21
to dynamor...@googlegroups.com
It looks like mcontext does not have the right value for RCX (because
it was spilled?). When I print it in clean_call I see it is set to
0xffffffffffffffff.

So when I do dr_get_mcontext and dr_redirect_execution, then this
value gets restored to the application context which is not what we
want. Does this make sense? Or would the RCX value get restored
correctly?

If I do mcontext.xcx = *(uint64_t*)(data->seg_base + offset), then I
don't see the seg fault.

Derek Bruening

unread,
Jul 1, 2021, 10:24:34 AM7/1/21
to dynamor...@googlegroups.com
Such a problem would only happen if your clean call is in the middle of instrumentation that had spilled but not restored a register.  Unless you need to pass some value, it's probably best to have a drreg barrier before the clean call to have full app state at the time.

Prasun Ratn

unread,
Jul 1, 2021, 11:51:15 AM7/1/21
to dynamor...@googlegroups.com
I am seeing this with clean_call() in tracer.cpp. I don't think it has
such a barrier, does it?

On Thu, Jul 1, 2021 at 7:54 PM 'Derek Bruening' via DynamoRIO Users
> To view this discussion on the web visit https://groups.google.com/d/msgid/dynamorio-users/CAO1ikSbewsrx0_c%3D1Bezu3MYfF3j7NMRaefpY2U0VWFfS_rEdg%40mail.gmail.com.

Prasun Ratn

unread,
Jul 2, 2021, 2:10:53 AM7/2/21
to dynamor...@googlegroups.com
I tried adding a barrier. I looked at the drreg API and decided to use drreg_restore_all because the other candidates were: drreg_get_app_value (needs a specific reg) and drreg_restore_app_values (needs an opnd_t).

But with this change, it tries to restore rcx from the spill slot just after restoring the app value (full log https://1drv.ms/t/s!AqNLJ5-v5nrRlSUiqZ9k4glbkd7w?e=PDM9BT). Since it adds this statement at the end of the basic block, we get hit with the assert "an exit cbr must terminate the block". Any ideas how to prevent this?

 +981  m4 @0x00007fe4ee3b6f88  48 8b 60 18          mov    0x18(%rax)[8byte] -> %rsp
 +985  m4 @0x00007fe4ee27e928  65 48 a1 00 00 00 00 mov    %gs:0x00[8byte] -> %rax
                               00 00 00 00
 +996  m4 @0x00007fe4ee363628                       <label>
 +996  m4 @0x00007fe4ee27ec00                       <label>
 +996  m4 @0x00007fe4ee27df68                       <label>
 +996  m4 @0x00007fe4ee29b940                       <label>
 +996  m4 @0x00007fe4ee2944c8                       <label>
 +996  m4 @0x00007fe4ee3c4e50  65 48 8b 0c 25 e8 00 mov    %gs:0x000000e8[8byte] -> %rcx
                               00 00
 +1005 L3 @0x00007fe4ee36c4d8  0f 8c db ff ff ff    jl     $0x00000000004d0ec0
 +1011 m4 @0x00007fe4ee2a21c8                       <label>
 +1011 m4 @0x00007fe4ee27ecd0  65 48 8b 0c 25 00 01 mov    %gs:0x00000100[8byte] -> %rcx
                               00 00
END 0x00000000004d0e7b
vm_list_overlaps 0x00007fe4ee1ec220 vs 0x00000000004d0edf-0x00000000004d0ee0
SYSLOG_ERROR: Application /path/to/my_binary (96010) DynamoRIO usage error : an exit cbr must terminate the block

Detailed log:

instrument_basic_block ******************

before instrumentation:
TAG  0x00000000004d0e7b
 +0    L3 @0x00007fe4ee36aab0  4c 01 e9             add    %r13 %rcx -> %rcx
 +3    L3 @0x00007fe4ee27add0  4c 89 fb             mov    %r15 -> %rbx
 +6    L3 @0x00007fe4ee2966a8  48 89 c8             mov    %rcx -> %rax
 +9    L3 @0x00007fe4ee29e988  4c 29 f8             sub    %r15 %rax -> %rax
 +12   L3 @0x00007fe4ee3b81d0  48 99                cdq    %rax -> %rdx
 +14   L3 @0x00007fe4ee27efa8  49 f7 ff             idiv   %r15 %rdx %rax -> %rdx %rax
 +17   L3 @0x00007fe4ee282338  48 8b b4 24 00 01 00 mov    0x00000100(%rsp)[8byte] -> %rsi
                               00
 +25   L3 @0x00007fe4ee3d4478  48 83 fa 01          cmp    %rdx $0x0000000000000001
 +29   L3 @0x00007fe4ee3d2bc0  48 8b 94 24 80 00 00 mov    0x80(%rsp)[8byte] -> %rdx
                               00
 +37   L3 @0x00007fe4ee3d4f50  48 8d 14 d6          lea    (%rsi,%rdx,8) -> %rdx
 +41   L3 @0x00007fe4ee3c1c20  48 83 d8 ff          sbb    $0xffffffffffffffff %rax -> %rax
 +45   L3 @0x00007fe4ee296728  49 0f af c7          imul   %r15 %rax -> %rax
 +49   L3 @0x00007fe4ee3bd7d8  4c 01 f8             add    %r15 %rax -> %rax
 +52   L3 @0x00007fe4ee2a1dc8  49 8d 34 c2          lea    (%r10,%rax,8) -> %rsi
 +56   L3 @0x00007fe4ee3ce7e8  48 29 c8             sub    %rcx %rax -> %rax
 +59   L3 @0x00007fe4ee3bf378  66 2e 0f 1f 84 00 00 data16 nop    %cs:0x00000000(%rax,%rax)[4byte]
                               00 00 00
 +69   L3 @0x00007fe4ee27d4e0  c4 e2 79 33 06       vpmovzxwd (%rsi)[8byte] -> %xmm0
 +74   L3 @0x00007fe4ee365d50  c4 e2 7d 19 17       vbroadcastsd (%rdi)[8byte] -> %ymm2
 +79   L3 @0x00007fe4ee3b4ac8  48 01 d8             add    %rbx %rax -> %rax
 +82   L3 @0x00007fe4ee3ba048  4c 01 e7             add    %r12 %rdi -> %rdi
 +85   L3 @0x00007fe4ee3d10d0  4c 01 de             add    %r11 %rsi -> %rsi
 +88   L3 @0x00007fe4ee3c3630  c5 fe e6 c0          vcvtdq2pd %ymm0[16byte] -> %ymm0
 +92   L3 @0x00007fe4ee3d43f8  c4 e2 fd b8 ca       vfmadd231pd %ymm0 %ymm2 %ymm1 -> %ymm1
 +97   L3 @0x00007fe4ee36beb0  4c 39 e8             cmp    %rax %r13
 +100  L3 @0x00007fe4ee36c4d8  0f 8c db ff ff ff    jl     $0x00000000004d0ec0
END 0x00000000004d0e7b

drreg_event_bb_analysis @0.0x00000000004d0edf: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=287
drreg_event_bb_analysis @1.0x00000000004d0edc: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @2.0x00000000004d0ed7: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @3.0x00000000004d0ed3: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @4.0x00000000004d0ed0: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @5.0x00000000004d0ecd: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @6.0x00000000004d0eca: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @7.0x00000000004d0ec5: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @8.0x00000000004d0ec0: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @9.0x00000000004d0eb6: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @10.0x00000000004d0eb3: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @11.0x00000000004d0eaf: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=0 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @12.0x00000000004d0eac: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=0 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @13.0x00000000004d0ea8: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=0 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @14.0x00000000004d0ea4: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=0 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=1
drreg_event_bb_analysis @15.0x00000000004d0ea0: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=1
drreg_event_bb_analysis @16.0x00000000004d0e98: rax=1 rcx=1 rdx=0 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=1
drreg_event_bb_analysis @17.0x00000000004d0e94: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=1 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @18.0x00000000004d0e8c: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=0 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @19.0x00000000004d0e89: rax=1 rcx=1 rdx=1 rbx=1 rsp=1 rbp=1 rsi=0 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @20.0x00000000004d0e87: rax=1 rcx=1 rdx=0 rbx=1 rsp=1 rbp=1 rsi=0 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @21.0x00000000004d0e84: rax=1 rcx=1 rdx=0 rbx=1 rsp=1 rbp=1 rsi=0 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @22.0x00000000004d0e81: rax=0 rcx=1 rdx=0 rbx=1 rsp=1 rbp=1 rsi=0 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @23.0x00000000004d0e7e: rax=0 rcx=1 rdx=0 rbx=0 rsp=1 rbp=1 rsi=0 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_event_bb_analysis @24.0x00000000004d0e7b: rax=0 rcx=1 rdx=0 rbx=0 rsp=1 rbp=1 rsi=0 rdi=1 r8=1 r9=1 r10=1 r11=1 r12=1 r13=1 r14=1 r15=1 flags=0
drreg_reserve_reg_internal @24.0x00000000004d0e7b: spilling rcx to slot 1
spill_reg @24.0x00000000004d0e7b rcx 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_reserve_reg_internal @24.0x00000000004d0e7b: no need to spill rdx to slot 2
drreg_reserve_aflags @24.0x00000000004d0e7b: aflags are dead
drreg_reserve_reg_internal @24.0x00000000004d0e7b: no need to spill rax to slot 3
drreg_unreserve_register @24.0x00000000004d0e7b rdx
drreg_reserve_reg_internal @24.0x00000000004d0e7b: using un-restored rdx slot 2
drreg_reserve_reg_internal @24.0x00000000004d0e7b: no need to spill rdx to slot 2
drreg_unreserve_register @24.0x00000000004d0e7b rdx
drreg_unreserve_register @24.0x00000000004d0e7b rax
drreg_unreserve_aflags @24.0x00000000004d0e7b
drreg_unreserve_register @24.0x00000000004d0e7b rcx
drreg_insert_restore_all @24.0x00000000004d0e7b: lazily restoring rcx
drreg_restore_reg_now @24.0x00000000004d0e7b: restoring rcx
restore_reg @24.0x00000000004d0e7b rcx slot=1 release=1
drreg_reserve_reg_internal @23.0x00000000004d0e7e: spilling rcx to slot 1
spill_reg @23.0x00000000004d0e7e rcx 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @23.0x00000000004d0e7e rcx
drreg_reserve_reg_internal @22.0x00000000004d0e81: using un-restored rcx slot 1
drreg_reserve_reg_internal @22.0x00000000004d0e81: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_reserve_reg_internal @22.0x00000000004d0e81: using un-restored rdx slot 2
drreg_reserve_reg_internal @22.0x00000000004d0e81: no need to spill rdx to slot 2
drreg_reserve_aflags @22.0x00000000004d0e81: aflags are dead
drreg_reserve_reg_internal @22.0x00000000004d0e81: using un-restored rax slot 3
drreg_reserve_reg_internal @22.0x00000000004d0e81: no need to spill rax to slot 3
drreg_unreserve_register @22.0x00000000004d0e81 rdx
drreg_reserve_reg_internal @22.0x00000000004d0e81: using un-restored rdx slot 2
drreg_reserve_reg_internal @22.0x00000000004d0e81: no need to spill rdx to slot 2
drreg_unreserve_register @22.0x00000000004d0e81 rdx
drreg_unreserve_register @22.0x00000000004d0e81 rax
drreg_unreserve_aflags @22.0x00000000004d0e81
drreg_unreserve_register @22.0x00000000004d0e81 rcx
drreg_insert_restore_all @22.0x00000000004d0e81: lazily restoring rcx
drreg_restore_reg_now @22.0x00000000004d0e81: restoring rcx
restore_reg @22.0x00000000004d0e81 rcx slot=1 release=1
drreg_event_bb_insert_late @22.0x00000000004d0e81: dropping slot for unreserved reg rax after app write
drreg_restore_reg_now @22.0x00000000004d0e81: rax never spilled
drreg_reserve_reg_internal @21.0x00000000004d0e84: spilling rcx to slot 1
spill_reg @21.0x00000000004d0e84 rcx 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @21.0x00000000004d0e84 rcx
drreg_reserve_reg_internal @20.0x00000000004d0e87: using un-restored rcx slot 1
drreg_reserve_reg_internal @20.0x00000000004d0e87: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @20.0x00000000004d0e87 rcx
drreg_event_bb_insert_late @20.0x00000000004d0e87: dropping slot for unreserved reg rdx after app write
drreg_restore_reg_now @20.0x00000000004d0e87: rdx never spilled
drreg_reserve_reg_internal @19.0x00000000004d0e89: using un-restored rcx slot 1
drreg_reserve_reg_internal @19.0x00000000004d0e89: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @19.0x00000000004d0e89 rcx
drreg_reserve_reg_internal @18.0x00000000004d0e8c: using un-restored rcx slot 1
drreg_reserve_reg_internal @18.0x00000000004d0e8c: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_reserve_reg_internal @18.0x00000000004d0e8c: no need to spill rsi to slot 2
drreg_reserve_aflags @18.0x00000000004d0e8c: aflags are dead
drreg_reserve_reg_internal @18.0x00000000004d0e8c: spilling rbp to slot 3
spill_reg @18.0x00000000004d0e8c rbp 3
drreg_unreserve_register @18.0x00000000004d0e8c rsi
drreg_reserve_reg_internal @18.0x00000000004d0e8c: using un-restored rsi slot 2
drreg_reserve_reg_internal @18.0x00000000004d0e8c: no need to spill rsi to slot 2
drreg_unreserve_register @18.0x00000000004d0e8c rsi
drreg_unreserve_register @18.0x00000000004d0e8c rbp
drreg_unreserve_aflags @18.0x00000000004d0e8c
drreg_unreserve_register @18.0x00000000004d0e8c rcx
drreg_event_bb_insert_late @18.0x00000000004d0e8c: dropping slot for unreserved reg rsi after app write
drreg_restore_reg_now @18.0x00000000004d0e8c: rsi never spilled
drreg_reserve_reg_internal @17.0x00000000004d0e94: using un-restored rcx slot 1
drreg_reserve_reg_internal @17.0x00000000004d0e94: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @17.0x00000000004d0e94 rcx
drreg_reserve_reg_internal @16.0x00000000004d0e98: using un-restored rcx slot 1
drreg_reserve_reg_internal @16.0x00000000004d0e98: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_reserve_reg_internal @16.0x00000000004d0e98: using un-restored rbp slot 3
drreg_reserve_reg_internal @16.0x00000000004d0e98: rbp already spilled to slot 3
drreg_reserve_aflags @16.0x00000000004d0e98: spilling aflags
drreg_spill_aflags @16.0x00000000004d0e98
spill_reg @16.0x00000000004d0e98 rax 2
drreg_reserve_reg_internal @16.0x00000000004d0e98: no need to spill rdx to slot 4
drreg_unreserve_register @16.0x00000000004d0e98 rbp
drreg_reserve_reg_internal @16.0x00000000004d0e98: using un-restored rbp slot 3
drreg_reserve_reg_internal @16.0x00000000004d0e98: rbp already spilled to slot 3
drreg_unreserve_register @16.0x00000000004d0e98 rbp
drreg_unreserve_register @16.0x00000000004d0e98 rdx
drreg_unreserve_aflags @16.0x00000000004d0e98
drreg_unreserve_register @16.0x00000000004d0e98 rcx
drreg_event_bb_insert_late @16.0x00000000004d0e98: dropping slot for unreserved reg rdx after app write
drreg_restore_reg_now @16.0x00000000004d0e98: rdx never spilled
drreg_reserve_reg_internal @15.0x00000000004d0ea0: using un-restored rcx slot 1
drreg_reserve_reg_internal @15.0x00000000004d0ea0: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @15.0x00000000004d0ea0 rcx
drreg_reserve_reg_internal @14.0x00000000004d0ea4: using un-restored rcx slot 1
drreg_reserve_reg_internal @14.0x00000000004d0ea4: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @14.0x00000000004d0ea4 rcx
drreg_insert_restore_all @14.0x00000000004d0ea4 aflags=0x1 use=0: lazily restoring aflags
drreg_restore_aflags @14.0x00000000004d0ea4: release=0 xax-in-use=1,slot=2 xchg=rax
drreg_move_aflags_from_reg @14.0x00000000004d0ea4: restoring xax spilled for aflags in slot 2
restore_reg @14.0x00000000004d0ea4 rax slot=2 release=1
drreg_reserve_reg_internal @13.0x00000000004d0ea8: using un-restored rcx slot 1
drreg_reserve_reg_internal @13.0x00000000004d0ea8: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @13.0x00000000004d0ea8 rcx
drreg_reserve_reg_internal @12.0x00000000004d0eac: using un-restored rcx slot 1
drreg_reserve_reg_internal @12.0x00000000004d0eac: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @12.0x00000000004d0eac rcx
drreg_reserve_reg_internal @11.0x00000000004d0eaf: using un-restored rcx slot 1
drreg_reserve_reg_internal @11.0x00000000004d0eaf: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @11.0x00000000004d0eaf rcx
drreg_reserve_reg_internal @10.0x00000000004d0eb3: using un-restored rcx slot 1
drreg_reserve_reg_internal @10.0x00000000004d0eb3: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @10.0x00000000004d0eb3 rcx
drreg_insert_restore_all @10.0x00000000004d0eb3: lazily restoring rcx
drreg_restore_reg_now @10.0x00000000004d0eb3: restoring rcx
restore_reg @10.0x00000000004d0eb3 rcx slot=1 release=1
drreg_reserve_reg_internal @9.0x00000000004d0eb6: spilling rcx to slot 1
spill_reg @9.0x00000000004d0eb6 rcx 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @9.0x00000000004d0eb6 rcx
drreg_reserve_reg_internal @8.0x00000000004d0ec0: using un-restored rcx slot 1
drreg_reserve_reg_internal @8.0x00000000004d0ec0: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_reserve_reg_internal @8.0x00000000004d0ec0: using un-restored rbp slot 3
drreg_reserve_reg_internal @8.0x00000000004d0ec0: rbp already spilled to slot 3
drreg_reserve_aflags @8.0x00000000004d0ec0: aflags are dead
drreg_reserve_reg_internal @8.0x00000000004d0ec0: spilling r8 to slot 2
spill_reg @8.0x00000000004d0ec0 r8 2
drreg_unreserve_register @8.0x00000000004d0ec0 rbp
drreg_reserve_reg_internal @8.0x00000000004d0ec0: using un-restored rbp slot 3
drreg_reserve_reg_internal @8.0x00000000004d0ec0: rbp already spilled to slot 3
drreg_unreserve_register @8.0x00000000004d0ec0 rbp
drreg_unreserve_register @8.0x00000000004d0ec0 r8
drreg_unreserve_aflags @8.0x00000000004d0ec0
drreg_reserve_reg_internal @8.0x00000000004d0ec0: using un-restored rbp slot 3
drreg_reserve_reg_internal @8.0x00000000004d0ec0: rbp already spilled to slot 3
drreg_reserve_aflags @8.0x00000000004d0ec0: aflags are dead
drreg_reserve_reg_internal @8.0x00000000004d0ec0: using un-restored r8 slot 2
drreg_reserve_reg_internal @8.0x00000000004d0ec0: r8 already spilled to slot 2
drreg_unreserve_register @8.0x00000000004d0ec0 rbp
drreg_reserve_reg_internal @8.0x00000000004d0ec0: using un-restored rbp slot 3
drreg_reserve_reg_internal @8.0x00000000004d0ec0: rbp already spilled to slot 3
drreg_unreserve_register @8.0x00000000004d0ec0 rbp
drreg_unreserve_register @8.0x00000000004d0ec0 r8
drreg_unreserve_aflags @8.0x00000000004d0ec0
drreg_unreserve_register @8.0x00000000004d0ec0 rcx
drreg_reserve_reg_internal @7.0x00000000004d0ec5: using un-restored rcx slot 1
drreg_reserve_reg_internal @7.0x00000000004d0ec5: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_reserve_reg_internal @7.0x00000000004d0ec5: using un-restored rbp slot 3
drreg_reserve_reg_internal @7.0x00000000004d0ec5: rbp already spilled to slot 3
drreg_reserve_aflags @7.0x00000000004d0ec5: aflags are dead
drreg_reserve_reg_internal @7.0x00000000004d0ec5: using un-restored r8 slot 2
drreg_reserve_reg_internal @7.0x00000000004d0ec5: r8 already spilled to slot 2
drreg_unreserve_register @7.0x00000000004d0ec5 rbp
drreg_reserve_reg_internal @7.0x00000000004d0ec5: using un-restored rbp slot 3
drreg_reserve_reg_internal @7.0x00000000004d0ec5: rbp already spilled to slot 3
drreg_unreserve_register @7.0x00000000004d0ec5 rbp
drreg_unreserve_register @7.0x00000000004d0ec5 r8
drreg_unreserve_aflags @7.0x00000000004d0ec5
drreg_unreserve_register @7.0x00000000004d0ec5 rcx
drreg_reserve_reg_internal @6.0x00000000004d0eca: using un-restored rcx slot 1
drreg_reserve_reg_internal @6.0x00000000004d0eca: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @6.0x00000000004d0eca rcx
drreg_reserve_reg_internal @5.0x00000000004d0ecd: using un-restored rcx slot 1
drreg_reserve_reg_internal @5.0x00000000004d0ecd: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @5.0x00000000004d0ecd rcx
drreg_reserve_reg_internal @4.0x00000000004d0ed0: using un-restored rcx slot 1
drreg_reserve_reg_internal @4.0x00000000004d0ed0: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @4.0x00000000004d0ed0 rcx
drreg_reserve_reg_internal @3.0x00000000004d0ed3: using un-restored rcx slot 1
drreg_reserve_reg_internal @3.0x00000000004d0ed3: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @3.0x00000000004d0ed3 rcx
drreg_reserve_reg_internal @2.0x00000000004d0ed7: using un-restored rcx slot 1
drreg_reserve_reg_internal @2.0x00000000004d0ed7: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @2.0x00000000004d0ed7 rcx
drreg_reserve_reg_internal @1.0x00000000004d0edc: using un-restored rcx slot 1
drreg_reserve_reg_internal @1.0x00000000004d0edc: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_unreserve_register @1.0x00000000004d0edc rcx
drreg_reserve_reg_internal @0.0x00000000004d0edf: using un-restored rcx slot 1
drreg_reserve_reg_internal @0.0x00000000004d0edf: rcx already spilled to slot 1
mutex_delete 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
remove_process_lock 0 lock 0x00007fe4ee1c1a88: name=dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
rank=43 owner=0 owning_dc=0x0000000000000000 contended_event=0xffffffff prev=0x0000000000000000
lock                             0                              0                               0                              0                               0+2 dr_client_mutex(mutex)@/home/prasun/DR/dynamorio/core/lib/instrument.c:3499
never acquired
drreg_insert_restore_all @0.0x00000000004d0edf: restoring rcx for app read
spill_reg @0.0x00000000004d0edf rcx 4
restore_reg @0.0x00000000004d0edf rcx slot=1 release=0
restore_reg @0.0x0000000000000000 rcx slot=4 release=1
drreg_insert_restore_all @0.0x00000000004d0edf: lazily restoring rbp
drreg_restore_reg_now @0.0x00000000004d0edf: restoring rbp
restore_reg @0.0x00000000004d0edf rbp slot=3 release=1
drreg_insert_restore_all @0.0x00000000004d0edf: lazily restoring r8
drreg_restore_reg_now @0.0x00000000004d0edf: restoring r8
restore_reg @0.0x00000000004d0edf r8 slot=2 release=1
CLEANCALL: insert clean call to 0x0000000072018425
CLEANCALL: analyze callee 0x0000000072018425
CLEANCALL: decoding callee starting at: 0x0000000072018425
  0x0000000072018425  55                   push   %rbp %rsp -> %rsp 0xfffffff8(%rsp)[8byte]
  0x0000000072018426  48 89 e5             mov    %rsp -> %rbp
  0x0000000072018429  48 81 ec 30 09 00 00 sub    $0x0000000000000930 %rsp -> %rsp
  0x0000000072018430  48 89 bd d8 f6 ff ff mov    %rdi -> 0xfffff6d8(%rbp)[8byte]
  0x0000000072018437  e8 c4 d9 ff ff       call   $0x0000000072015e00 %rsp -> %rsp 0xfffffff8(%rsp)[8byte]
CLEANCALL: callee calls out at: 0x0000000072018437 to 0x0000000072015e00
  0x0000000072015e00  ff 25 fa 1b 23 00    jmp    <rel> 0x0000000072247a00[8byte]
CLEANCALL: callee calls out is not PIC code, bailout
hashtable_generic_add(0x0000000072018425) mask=0x000000000000003f offset=0 trying 0x0000000000000023:
hashtable_generic_add: added 0x0000000072018425 to callee-info table at table[35]
insert_parameter_preparation: 1 args, 6 in-reg, 0 pre-push, 0/0 stack
drreg_unreserve_register @0.0x00000000004d0edf rcx
drreg_insert_restore_all @0.0x00000000004d0edf: lazily restoring rcx
drreg_restore_reg_now @0.0x00000000004d0edf: restoring rcx
restore_reg @0.0x00000000004d0edf rcx slot=1 release=1

after instrumentation:
TAG  0x00000000004d0e7b
 +0    m4 @0x00007fe4ee3d4938                       <label>
 +0    m4 @0x00007fe4ee362f18  65 48 89 0c 25 e8 00 mov    %rcx -> %gs:0x000000e8[8byte]
                               00 00
 +9    m4 @0x00007fe4ee3c9ad0  65 48 8b 0c 25 40 01 mov    %gs:0x00000140[8byte] -> %rcx
                               00 00
 +18   m4 @0x00007fe4ee3d0f00  48 8d 49 19          lea    0x19(%rcx) -> %rcx
 +22   m4 @0x00007fe4ee3d5af0  65 48 89 0c 25 40 01 mov    %rcx -> %gs:0x00000140[8byte]
                               00 00
 +31   m4 @0x00007fe4ee3c9e10  48 ba 7b 0e 4d 00 00 mov    $0x00000000004d0e7b -> %rdx
                               00 00 00
 +41   m4 @0x00007fe4ee3c9c08  48 c1 ea 06          shr    $0x0000000000000006 %rdx -> %rdx
 +45   m4 @0x00007fe4ee29cf30  48 8b c2             mov    %rdx -> %rax
 +48   m4 @0x00007fe4ee364330  48 25 ff 01 00 00    and    $0x00000000000001ff %rax -> %rax
 +54   m4 @0x00007fe4ee3d4578  65 48 8b 0c 25 38 01 mov    %gs:0x00000138[8byte] -> %rcx
                               00 00
 +63   m4 @0x00007fe4ee29b740  48 8d 0c c1          lea    (%rcx,%rax,8) -> %rcx
 +67   m4 @0x00007fe4ee362f98  48 8b 01             mov    (%rcx)[8byte] -> %rax
 +70   m4 @0x00007fe4ee280230  48 3b c2             cmp    %rax %rdx
 +73   m4 @0x00007fe4ee2972a8  0f 84 fa ff ff ff    jz     @0x00007fe4ee297728[8byte]
 +79   m4 @0x00007fe4ee29a2b0  48 89 11             mov    %rdx -> (%rcx)[8byte]
 +82   m4 @0x00007fe4ee3d2910  65 48 8b 0c 25 28 01 mov    %gs:0x00000128[8byte] -> %rcx
                               00 00
 +91   m4 @0x00007fe4ee3c1bb8  48 ba 7b 0e 2d 00 02 mov    $0x20020002002d0e7b -> %rdx
                               00 02 20
 +101  m4 @0x00007fe4ee3c35c8  48 89 11             mov    %rdx -> (%rcx)[8byte]
 +104  m4 @0x00007fe4ee369098  48 8d 49 08          lea    0x08(%rcx) -> %rcx
 +108  m4 @0x00007fe4ee27c430  65 48 89 0c 25 28 01 mov    %rcx -> %gs:0x00000128[8byte]
                               00 00
 +117  m4 @0x00007fe4ee297728                       <label>
 +117  m4 @0x00007fe4ee3cf658                       <label>
 +117  m4 @0x00007fe4ee2958d0                       <label>
 +117  m4 @0x00007fe4ee3b1da8  65 48 8b 0c 25 e8 00 mov    %gs:0x000000e8[8byte] -> %rcx
                               00 00
 +126  L3 @0x00007fe4ee36aab0  4c 01 e9             add    %r13 %rcx -> %rcx
 +129  m4 @0x00007fe4ee3b1768                       <label>
 +129  m4 @0x00007fe4ee362b90  65 48 89 0c 25 e8 00 mov    %rcx -> %gs:0x000000e8[8byte]
                               00 00
 +138  m4 @0x00007fe4ee3c3700                       <label>
 +138  L3 @0x00007fe4ee27add0  4c 89 fb             mov    %r15 -> %rbx
 +141  m4 @0x00007fe4ee2781e0  48 ba 81 0e 4d 00 00 mov    $0x00000000004d0e81 -> %rdx
                               00 00 00
 +151  m4 @0x00007fe4ee3d0e98  48 c1 ea 06          shr    $0x0000000000000006 %rdx -> %rdx
 +155  m4 @0x00007fe4ee3d6448  48 8b c2             mov    %rdx -> %rax
 +158  m4 @0x00007fe4ee277a08  48 25 ff 01 00 00    and    $0x00000000000001ff %rax -> %rax
 +164  m4 @0x00007fe4ee3c0468  65 48 8b 0c 25 38 01 mov    %gs:0x00000138[8byte] -> %rcx
                               00 00
 +173  m4 @0x00007fe4ee3b9cf8  48 8d 0c c1          lea    (%rcx,%rax,8) -> %rcx
 +177  m4 @0x00007fe4ee3cfa40  48 8b 01             mov    (%rcx)[8byte] -> %rax
 +180  m4 @0x00007fe4ee29dcd8  48 3b c2             cmp    %rax %rdx
 +183  m4 @0x00007fe4ee3d2d08  0f 84 fa ff ff ff    jz     @0x00007fe4ee27b878[8byte]
 +189  m4 @0x00007fe4ee3b31a8  48 89 11             mov    %rdx -> (%rcx)[8byte]
 +192  m4 @0x00007fe4ee362bf8  65 48 8b 0c 25 28 01 mov    %gs:0x00000128[8byte] -> %rcx
                               00 00
 +201  m4 @0x00007fe4ee3c1a80  48 ba 81 0e 2d 00 02 mov    $0x20020002002d0e81 -> %rdx
                               00 02 20
 +211  m4 @0x00007fe4ee298580  48 89 11             mov    %rdx -> (%rcx)[8byte]
 +214  m4 @0x00007fe4ee3d4ca0  48 8d 49 08          lea    0x08(%rcx) -> %rcx
 +218  m4 @0x00007fe4ee3b4518  65 48 89 0c 25 28 01 mov    %rcx -> %gs:0x00000128[8byte]
                               00 00
 +227  m4 @0x00007fe4ee27b878                       <label>
 +227  m4 @0x00007fe4ee35fd88                       <label>
 +227  m4 @0x00007fe4ee3d1798                       <label>
 +227  m4 @0x00007fe4ee2828e8  65 48 8b 0c 25 e8 00 mov    %gs:0x000000e8[8byte] -> %rcx
                               00 00
 +236  L3 @0x00007fe4ee2966a8  48 89 c8             mov    %rcx -> %rax
 +239  m4 @0x00007fe4ee3c38a0                       <label>
 +239  m4 @0x00007fe4ee3bd450  65 48 89 0c 25 e8 00 mov    %rcx -> %gs:0x000000e8[8byte]
                               00 00
 +248  m4 @0x00007fe4ee29c618                       <label>
 +248  L3 @0x00007fe4ee29e988  4c 29 f8             sub    %r15 %rax -> %rax
 +251  m4 @0x00007fe4ee3b19d8                       <label>
 +251  L3 @0x00007fe4ee3b81d0  48 99                cdq    %rax -> %rdx
 +253  m4 @0x00007fe4ee278638                       <label>
 +253  L3 @0x00007fe4ee27efa8  49 f7 ff             idiv   %r15 %rdx %rax -> %rdx %rax
 +256  m4 @0x00007fe4ee3cf840                       <label>
 +256  m4 @0x00007fe4ee27d048  65 48 89 2c 25 f8 00 mov    %rbp -> %gs:0x000000f8[8byte]
                               00 00
 +265  m4 @0x00007fe4ee3c21b0  48 8d b4 24 00 01 00 lea    0x00000100(%rsp) -> %rsi
                               00
 +273  m4 @0x00007fe4ee3c0810  48 c1 ee 06          shr    $0x0000000000000006 %rsi -> %rsi
 +277  m4 @0x00007fe4ee3cfd28  48 8b ee             mov    %rsi -> %rbp
 +280  m4 @0x00007fe4ee3d2628  48 81 e5 ff 01 00 00 and    $0x00000000000001ff %rbp -> %rbp
 +287  m4 @0x00007fe4ee3d15c8  65 48 8b 0c 25 30 01 mov    %gs:0x00000130[8byte] -> %rcx
                               00 00
 +296  m4 @0x00007fe4ee29f698  48 8d 0c e9          lea    (%rcx,%rbp,8) -> %rcx
 +300  m4 @0x00007fe4ee27a690  48 8b 29             mov    (%rcx)[8byte] -> %rbp
 +303  m4 @0x00007fe4ee3cfba8  48 3b ee             cmp    %rbp %rsi
 +306  m4 @0x00007fe4ee35e4a8  0f 84 fa ff ff ff    jz     @0x00007fe4ee29d360[8byte]
 +312  m4 @0x00007fe4ee27b088  48 89 31             mov    %rsi -> (%rcx)[8byte]
 +315  m4 @0x00007fe4ee29ec08  65 48 8b 0c 25 28 01 mov    %gs:0x00000128[8byte] -> %rcx
                               00 00
 +324  m4 @0x00007fe4ee35e1d0  48 be 8c 0e 2d 00 02 mov    $0x20000002002d0e8c -> %rsi
                               00 00 20
 +334  m4 @0x00007fe4ee27c5c0  48 89 31             mov    %rsi -> (%rcx)[8byte]
 +337  m4 @0x00007fe4ee27fb18  48 89 61 08          mov    %rsp -> 0x08(%rcx)[8byte]
 +341  m4 @0x00007fe4ee277590  48 8d 49 10          lea    0x10(%rcx) -> %rcx
 +345  m4 @0x00007fe4ee367d28  65 48 89 0c 25 28 01 mov    %rcx -> %gs:0x00000128[8byte]
                               00 00
 +354  m4 @0x00007fe4ee29d360                       <label>
 +354  m4 @0x00007fe4ee22e638                       <label>
 +354  L3 @0x00007fe4ee282338  48 8b b4 24 00 01 00 mov    0x00000100(%rsp)[8byte] -> %rsi
                               00
 +362  m4 @0x00007fe4ee29d298                       <label>
 +362  L3 @0x00007fe4ee3d4478  48 83 fa 01          cmp    %rdx $0x0000000000000001
 +366  m4 @0x00007fe4ee3d2a10                       <label>
 +366  m4 @0x00007fe4ee361038  65 48 a3 f0 00 00 00 mov    %rax -> %gs:0x000000f0[8byte]
                               00 00 00 00
 +377  m4 @0x00007fe4ee3b9f00  9f                   lahf    -> %ah
 +378  m4 @0x00007fe4ee3ba110  48 8d ac 24 80 00 00 lea    0x80(%rsp) -> %rbp
                               00
 +386  m4 @0x00007fe4ee278318  48 c1 ed 06          shr    $0x0000000000000006 %rbp -> %rbp
 +390  m4 @0x00007fe4ee277ad8  48 8b d5             mov    %rbp -> %rdx
 +393  m4 @0x00007fe4ee3cf8c0  48 81 e2 ff 01 00 00 and    $0x00000000000001ff %rdx -> %rdx
 +400  m4 @0x00007fe4ee3d49b8  65 48 8b 0c 25 30 01 mov    %gs:0x00000130[8byte] -> %rcx
                               00 00
 +409  m4 @0x00007fe4ee3d42f8  48 8d 0c d1          lea    (%rcx,%rdx,8) -> %rcx
 +413  m4 @0x00007fe4ee3c19a0  48 8b 11             mov    (%rcx)[8byte] -> %rdx
 +416  m4 @0x00007fe4ee3d4eb8  48 3b d5             cmp    %rdx %rbp
 +419  m4 @0x00007fe4ee3c0398  0f 84 fa ff ff ff    jz     @0x00007fe4ee365ae0[8byte]
 +425  m4 @0x00007fe4ee367da8  48 89 29             mov    %rbp -> (%rcx)[8byte]
 +428  m4 @0x00007fe4ee299160  65 48 8b 0c 25 28 01 mov    %gs:0x00000128[8byte] -> %rcx
                               00 00
 +437  m4 @0x00007fe4ee281f00  48 bd 98 0e 2d 00 02 mov    $0x20000002002d0e98 -> %rbp
                               00 00 20
 +447  m4 @0x00007fe4ee3bf3f8  48 89 29             mov    %rbp -> (%rcx)[8byte]
 +450  m4 @0x00007fe4ee3c6740  48 89 61 08          mov    %rsp -> 0x08(%rcx)[8byte]
 +454  m4 @0x00007fe4ee3bbc08  48 8d 49 10          lea    0x10(%rcx) -> %rcx
 +458  m4 @0x00007fe4ee3c4d80  65 48 89 0c 25 28 01 mov    %rcx -> %gs:0x00000128[8byte]
                               00 00
 +467  m4 @0x00007fe4ee365ae0                       <label>
 +467  m4 @0x00007fe4ee36a6a0                       <label>
 +467  L3 @0x00007fe4ee3d2bc0  48 8b 94 24 80 00 00 mov    0x80(%rsp)[8byte] -> %rdx
                               00
 +475  m4 @0x00007fe4ee299d68                       <label>
 +475  L3 @0x00007fe4ee3d4f50  48 8d 14 d6          lea    (%rsi,%rdx,8) -> %rdx
 +479  m4 @0x00007fe4ee299aa0                       <label>
 +479  m4 @0x00007fe4ee2a19b8  9e                   sahf   %ah
 +480  m4 @0x00007fe4ee2a2490                       <label>
 +480  m4 @0x00007fe4ee3c58a0  65 48 a1 f0 00 00 00 mov    %gs:0x000000f0[8byte] -> %rax
                               00 00 00 00
 +491  L3 @0x00007fe4ee3c1c20  48 83 d8 ff          sbb    $0xffffffffffffffff %rax -> %rax
 +495  m4 @0x00007fe4ee22ebe8                       <label>
 +495  L3 @0x00007fe4ee296728  49 0f af c7          imul   %r15 %rax -> %rax
 +499  m4 @0x00007fe4ee36b1e8                       <label>
 +499  L3 @0x00007fe4ee3bd7d8  4c 01 f8             add    %r15 %rax -> %rax
 +502  m4 @0x00007fe4ee22cb78                       <label>
 +502  L3 @0x00007fe4ee2a1dc8  49 8d 34 c2          lea    (%r10,%rax,8) -> %rsi
 +506  m4 @0x00007fe4ee3d2a90                       <label>
 +506  m4 @0x00007fe4ee3d4fd0                       <label>
 +506  m4 @0x00007fe4ee3bd8c0  65 48 8b 0c 25 e8 00 mov    %gs:0x000000e8[8byte] -> %rcx
                               00 00
 +515  L3 @0x00007fe4ee3ce7e8  48 29 c8             sub    %rcx %rax -> %rax
 +518  m4 @0x00007fe4ee362420                       <label>
 +518  m4 @0x00007fe4ee3b5078  65 48 89 0c 25 e8 00 mov    %rcx -> %gs:0x000000e8[8byte]
                               00 00
 +527  m4 @0x00007fe4ee361fc0                       <label>
 +527  L3 @0x00007fe4ee3bf378  66 2e 0f 1f 84 00 00 data16 nop    %cs:0x00000000(%rax,%rax)[4byte]
                               00 00 00
 +537  m4 @0x00007fe4ee3bfb70                       <label>
 +537  m4 @0x00007fe4ee3bffd0  65 4c 89 04 25 f0 00 mov    %r8 -> %gs:0x000000f0[8byte]
                               00 00
 +546  m4 @0x00007fe4ee29d5d8  48 bd c0 0e 4d 00 00 mov    $0x00000000004d0ec0 -> %rbp
                               00 00 00
 +556  m4 @0x00007fe4ee3bf558  48 c1 ed 06          shr    $0x0000000000000006 %rbp -> %rbp
 +560  m4 @0x00007fe4ee27aa58  4c 8b c5             mov    %rbp -> %r8
 +563  m4 @0x00007fe4ee278800  49 81 e0 ff 01 00 00 and    $0x00000000000001ff %r8 -> %r8
 +570  m4 @0x00007fe4ee29baa8  65 48 8b 0c 25 38 01 mov    %gs:0x00000138[8byte] -> %rcx
                               00 00
 +579  m4 @0x00007fe4ee27ec68  4a 8d 0c c1          lea    (%rcx,%r8,8) -> %rcx
 +583  m4 @0x00007fe4ee36a558  4c 8b 01             mov    (%rcx)[8byte] -> %r8
 +586  m4 @0x00007fe4ee3c15b8  4c 3b c5             cmp    %r8 %rbp
 +589  m4 @0x00007fe4ee3c1470  0f 84 fa ff ff ff    jz     @0x00007fe4ee2a0210[8byte]
 +595  m4 @0x00007fe4ee3b85f0  48 89 29             mov    %rbp -> (%rcx)[8byte]
 +598  m4 @0x00007fe4ee3ca3c0  65 48 8b 0c 25 28 01 mov    %gs:0x00000128[8byte] -> %rcx
                               00 00
 +607  m4 @0x00007fe4ee3609f0  48 bd c0 0e 2d 00 02 mov    $0x20020002002d0ec0 -> %rbp
                               00 02 20
 +617  m4 @0x00007fe4ee3b8f08  48 89 29             mov    %rbp -> (%rcx)[8byte]
 +620  m4 @0x00007fe4ee277b58  48 8d 49 08          lea    0x08(%rcx) -> %rcx
 +624  m4 @0x00007fe4ee360cb8  65 48 89 0c 25 28 01 mov    %rcx -> %gs:0x00000128[8byte]
                               00 00
 +633  m4 @0x00007fe4ee2a0210                       <label>
 +633  m4 @0x00007fe4ee3bb368  48 8d 2e             lea    (%rsi) -> %rbp
 +636  m4 @0x00007fe4ee293440  48 c1 ed 06          shr    $0x0000000000000006 %rbp -> %rbp
 +640  m4 @0x00007fe4ee3b8770  4c 8b c5             mov    %rbp -> %r8
 +643  m4 @0x00007fe4ee2984a0  49 81 e0 ff 01 00 00 and    $0x00000000000001ff %r8 -> %r8
 +650  m4 @0x00007fe4ee361b90  65 48 8b 0c 25 30 01 mov    %gs:0x00000130[8byte] -> %rcx
                               00 00
 +659  m4 @0x00007fe4ee3be380  4a 8d 0c c1          lea    (%rcx,%r8,8) -> %rcx
 +663  m4 @0x00007fe4ee3b2370  4c 8b 01             mov    (%rcx)[8byte] -> %r8
 +666  m4 @0x00007fe4ee360478  4c 3b c5             cmp    %r8 %rbp
 +669  m4 @0x00007fe4ee3b52e0  0f 84 fa ff ff ff    jz     @0x00007fe4ee363528[8byte]
 +675  m4 @0x00007fe4ee3d2378  48 89 29             mov    %rbp -> (%rcx)[8byte]
 +678  m4 @0x00007fe4ee3b9218  65 48 8b 0c 25 28 01 mov    %gs:0x00000128[8byte] -> %rcx
                               00 00
 +687  m4 @0x00007fe4ee363b68  48 bd c0 0e 2d 00 02 mov    $0x20000002002d0ec0 -> %rbp
                               00 00 20
 +697  m4 @0x00007fe4ee3baf80  48 89 29             mov    %rbp -> (%rcx)[8byte]
 +700  m4 @0x00007fe4ee3c2a18  48 89 71 08          mov    %rsi -> 0x08(%rcx)[8byte]
 +704  m4 @0x00007fe4ee3c5420  48 8d 49 10          lea    0x10(%rcx) -> %rcx
 +708  m4 @0x00007fe4ee278ee0  65 48 89 0c 25 28 01 mov    %rcx -> %gs:0x00000128[8byte]
                               00 00
 +717  m4 @0x00007fe4ee363528                       <label>
 +717  m4 @0x00007fe4ee3b3958                       <label>
 +717  L3 @0x00007fe4ee27d4e0  c4 e2 79 33 06       vpmovzxwd (%rsi)[8byte] -> %xmm0
 +722  m4 @0x00007fe4ee36a208  48 8d 2f             lea    (%rdi) -> %rbp
 +725  m4 @0x00007fe4ee367278  48 c1 ed 06          shr    $0x0000000000000006 %rbp -> %rbp
 +729  m4 @0x00007fe4ee368088  4c 8b c5             mov    %rbp -> %r8
 +732  m4 @0x00007fe4ee27f348  49 81 e0 ff 01 00 00 and    $0x00000000000001ff %r8 -> %r8
 +739  m4 @0x00007fe4ee2930e0  65 48 8b 0c 25 30 01 mov    %gs:0x00000130[8byte] -> %rcx
                               00 00
 +748  m4 @0x00007fe4ee3c00d0  4a 8d 0c c1          lea    (%rcx,%r8,8) -> %rcx
 +752  m4 @0x00007fe4ee29c1a0  4c 8b 01             mov    (%rcx)[8byte] -> %r8
 +755  m4 @0x00007fe4ee2771c8  4c 3b c5             cmp    %r8 %rbp
 +758  m4 @0x00007fe4ee22a3c8  0f 84 fa ff ff ff    jz     @0x00007fe4ee3be818[8byte]
 +764  m4 @0x00007fe4ee3be088  48 89 29             mov    %rbp -> (%rcx)[8byte]
 +767  m4 @0x00007fe4ee362350  65 48 8b 0c 25 28 01 mov    %gs:0x00000128[8byte] -> %rcx
                               00 00
 +776  m4 @0x00007fe4ee2a00a8  48 bd c5 0e 2d 00 02 mov    $0x20000002002d0ec5 -> %rbp
                               00 00 20
 +786  m4 @0x00007fe4ee3688b0  48 89 29             mov    %rbp -> (%rcx)[8byte]
 +789  m4 @0x00007fe4ee35dc80  48 89 79 08          mov    %rdi -> 0x08(%rcx)[8byte]
 +793  m4 @0x00007fe4ee29b010  48 8d 49 10          lea    0x10(%rcx) -> %rcx
 +797  m4 @0x00007fe4ee3b5920  65 48 89 0c 25 28 01 mov    %rcx -> %gs:0x00000128[8byte]
                               00 00
 +806  m4 @0x00007fe4ee3be818                       <label>
 +806  m4 @0x00007fe4ee36a3d8                       <label>
 +806  L3 @0x00007fe4ee365d50  c4 e2 7d 19 17       vbroadcastsd (%rdi)[8byte] -> %ymm2
 +811  m4 @0x00007fe4ee3b69a8                       <label>
 +811  L3 @0x00007fe4ee3b4ac8  48 01 d8             add    %rbx %rax -> %rax
 +814  m4 @0x00007fe4ee3c1078                       <label>
 +814  L3 @0x00007fe4ee3ba048  4c 01 e7             add    %r12 %rdi -> %rdi
 +817  m4 @0x00007fe4ee35d630                       <label>
 +817  L3 @0x00007fe4ee3d10d0  4c 01 de             add    %r11 %rsi -> %rsi
 +820  m4 @0x00007fe4ee361aa8                       <label>
 +820  L3 @0x00007fe4ee3c3630  c5 fe e6 c0          vcvtdq2pd %ymm0[16byte] -> %ymm0
 +824  m4 @0x00007fe4ee279ec0                       <label>
 +824  L3 @0x00007fe4ee3d43f8  c4 e2 fd b8 ca       vfmadd231pd %ymm0 %ymm2 %ymm1 -> %ymm1
 +829  m4 @0x00007fe4ee3685a0                       <label>
 +829  L3 @0x00007fe4ee36beb0  4c 39 e8             cmp    %rax %r13
 +832  m4 @0x00007fe4ee36c8d0  65 48 8b 0c 25 28 01 mov    %gs:0x00000128[8byte] -> %rcx
                               00 00
 +841  m4 @0x00007fe4ee22e380  48 8b 09             mov    (%rcx)[8byte] -> %rcx
 +844  m4 @0x00007fe4ee229ba0  e3 fe                jrcxz  @0x00007fe4ee27ec00[8byte] %rcx
 +846  m4 @0x00007fe4ee3c30a8                       <label>
 +846  m4 @0x00007fe4ee2791a8  65 48 89 0c 25 00 01 mov    %rcx -> %gs:0x00000100[8byte]
                               00 00
 +855  m4 @0x00007fe4ee365628  65 48 8b 0c 25 e8 00 mov    %gs:0x000000e8[8byte] -> %rcx
                               00 00
 +864  m4 @0x00007fe4ee27b5a0                       <label>
 +864  m4 @0x00007fe4ee3c1b50  65 48 8b 2c 25 f8 00 mov    %gs:0x000000f8[8byte] -> %rbp
                               00 00
 +873  m4 @0x00007fe4ee3c55b8                       <label>
 +873  m4 @0x00007fe4ee362250  65 4c 8b 04 25 f0 00 mov    %gs:0x000000f0[8byte] -> %r8
                               00 00
 +882  m4 @0x00007fe4ee3b6dd8  65 48 a3 00 00 00 00 mov    %rax -> %gs:0x00[8byte]
                               00 00 00 00
 +893  m4 @0x00007fe4ee3656a8  65 48 a1 20 00 00 00 mov    %gs:0x20[8byte] -> %rax
                               00 00 00 00
 +904  m4 @0x00007fe4ee3c59e8  48 89 60 18          mov    %rsp -> 0x18(%rax)[8byte]
 +908  m4 @0x00007fe4ee3b6ec0  48 8b a0 48 09 00 00 mov    0x00000948(%rax)[8byte] -> %rsp
 +915  m4 @0x00007fe4ee29c920  65 48 a1 00 00 00 00 mov    %gs:0x00[8byte] -> %rax
                               00 00 00 00
 +926  m4 @0x00007fe4ee3bde08  48 8d a4 24 f8 f6 ff lea    0xfffff6f8(%rsp) -> %rsp
                               ff
 +934  m4 @0x00007fe4ee295488  e8 0b 15 96 5c       call   $0x000000004ab87e00 %rsp -> %rsp 0xfffffff8(%rsp)[8byte]
 +939  m4 @0x00007fe4ee22cc78                       <label>
 +939  m4 @0x00007fe4ee3ba4f0  48 bf df 0e 4d 00 00 mov    $0x00000000004d0edf -> %rdi
                               00 00 00
 +949  m4 @0x00007fe4ee27ca78  e8 30 1b df 83       call   $0x0000000072018425 %rsp -> %rsp 0xfffffff8(%rsp)[8byte]
 +954  m4 @0x00007fe4ee3c57a0  e8 0b 16 96 5c       call   $0x000000004ab87f00 %rsp -> %rsp 0xfffffff8(%rsp)[8byte]
 +959  m4 @0x00007fe4ee297590  65 48 a3 00 00 00 00 mov    %rax -> %gs:0x00[8byte]
                               00 00 00 00
 +970  m4 @0x00007fe4ee35f5d8  65 48 a1 20 00 00 00 mov    %gs:0x20[8byte] -> %rax
                               00 00 00 00
 +981  m4 @0x00007fe4ee3b6f88  48 8b 60 18          mov    0x18(%rax)[8byte] -> %rsp
 +985  m4 @0x00007fe4ee27e928  65 48 a1 00 00 00 00 mov    %gs:0x00[8byte] -> %rax
                               00 00 00 00
 +996  m4 @0x00007fe4ee363628                       <label>
 +996  m4 @0x00007fe4ee27ec00                       <label>
 +996  m4 @0x00007fe4ee27df68                       <label>
 +996  m4 @0x00007fe4ee29b940                       <label>
 +996  m4 @0x00007fe4ee2944c8                       <label>
 +996  m4 @0x00007fe4ee3c4e50  65 48 8b 0c 25 e8 00 mov    %gs:0x000000e8[8byte] -> %rcx
                               00 00
 +1005 L3 @0x00007fe4ee36c4d8  0f 8c db ff ff ff    jl     $0x00000000004d0ec0
 +1011 m4 @0x00007fe4ee2a21c8                       <label>
 +1011 m4 @0x00007fe4ee27ecd0  65 48 8b 0c 25 00 01 mov    %gs:0x00000100[8byte] -> %rcx
                               00 00
END 0x00000000004d0e7b

vm_list_overlaps 0x00007fe4ee1ec220 vs 0x00000000004d0edf-0x00000000004d0ee0
SYSLOG_ERROR: Application /path/to/my_binary (96010) DynamoRIO usage error : an exit cbr must terminate the block
add_process_lock: 0 lock 0x00007fe6ee7aea40: name=report_buf_lock(mutex)@/home/prasun/DR/dynamorio/core/utils.c:1997
rank=89 owner=96010 owning_dc=0x00007fe4ee200080 contended_event=0xffffffff prev=0x0000000000000000
lock count_times_acquired=       1                              0                               0                              0                               0+2 report_buf_lock(mutex)@/home/prasun/DR/dynamorio/core/utils.c:1997
SYSLOG_ERROR: Usage error: an exit cbr must terminate the block (/home/prasun/DR/dynamorio/core/arch/interp.c, line 2943)
version 8.0.18752, custom build
-loglevel 4 -client_lib '/home/prasun/DR/build-DDEBUGON/bin64/../clients/lib64/debug/libdrmemtrace.so;0;-trace_after_instrs 98672M -warmup_refs 10000000 -max_trace_size 80M -offline' -client_lib64 '/home/prasun/DR/build-DDEBUGON/bin64/../clients/lib64/debug/libdrmemtrace.so;0;-trace_after_instrs 9
0x00007fe4ee2269d0 0x00007fe6ee25975a
0x00007fe4ee226a20 0x00007fe6ee3e750d
0x00007fe4ee226ad0 0x00007fe6ee3ec53c
0x00007fe4ee226d30 0x00007fe6ee3f1067
0x00007fe4ee226f00 0x00007fe6ee241a3d
0x00007fe4ee226ff0 0x00007fe6ee421ca3
0x00007fe4ee225450 0x00007fcdee43f1f3
0x00007fe4ee225480 0x00007fe6ee2fb157
0x00007fe4ee3cbbc0 0x0000000000000002
/home/prasun/DR/build-DDEBUGON/lib64/debug/libdynamorio.so=0x00007fe6ee174000
/home/prasun/DR/build-DDEBUGON/bin64/../clients/lib64/debug/libdrmemtrace.so=0x0000000072000000
/usr/lib/x86_64-linux-gnu/libstdc++.so.6=0x00007fe4ed7ca000
/lib/x86_64-linux-gnu/libgcc_s.so.1=0x00007fe4ed212000
/lib/x86_64-linux-gnu/libm.so.6=0x00007fe4ed42b000
/home/prasun/DR/build-DDEBUGON/ext/lib64/debug/libdrcovlib.so=0x000000007
DynamoRIO call stack:
Thread 96010 call stack:
frame ptr 0x00007fe4ee226860 => parent 0x00007fe4ee2269d0, 0x00007fe6ee25f28c  
frame ptr 0x00007fe4ee2269d0 => parent 0x00007fe4ee226a20, 0x00007fe6ee25975a  
frame ptr 0x00007fe4ee226a20 => parent 0x00007fe4ee226ad0, 0x00007fe6ee3e750d  
frame ptr 0x00007fe4ee226ad0 => parent 0x00007fe4ee226d30, 0x00007fe6ee3ec53c  
frame ptr 0x00007fe4ee226d30 => parent 0x00007fe4ee226f00, 0x00007fe6ee3f1067  
frame ptr 0x00007fe4ee226f00 => parent 0x00007fe4ee226ff0, 0x00007fe6ee241a3d  
frame ptr 0x00007fe4ee226ff0 => parent 0x00007fe4ee225450, 0x00007fe6ee421ca3  
frame ptr 0x00007fe4ee225450 => parent 0x00007fe4ee225e18, 0x00007fe6ee4c0655  
frame ptr 0x00007fe4ee225e18 => parent 0x00007fe4ee226028, 0x0000000000000800  
frame ptr 0x00007fe4ee226028 => parent 0x00000000000002f3, 0x3920646165726854  
Thread heap breakdown:
BB Fragments: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
Coarse Links: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
 Future Frag: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
 Frag Tables: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  IBL Tables: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
      Traces: cur=    8K, max=    9K, #=      4, 1= 2048, new=    1K, re=    8K
  FC Empties: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
   Vm Multis: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
          IR: cur=   27K, max=  319K, #=1706771, 1=  104, new=  380K, re=76875K
  RCT Tables: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
    VM Areas: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
     Symbols: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  TH Counter: cur=   38K, max=   38K, #=   1653, 1=   16, new=    0K, re=   38K
   Tombstone: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
Hot Patching: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  Thread Mgt: cur=    0K, max=    0K, #=      2, 1=   40, new=    0K, re=    0K
  Memory Mgt: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
       Stats: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
 SpecialHeap: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
      Client: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
     Lib Dup: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  Clean Call: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
       Other: cur=   73K, max=   87K, #=   1666, 1=32776, new=   63K, re=   38K
Total cur usage:    148 KB
Total max (not nec. all used simult.):    454 KB
Thread non-persistent heap breakdown:
BB Fragments: cur=    0K, max=    2K, #=   1652, 1=  152, new=    2K, re=  228K
Coarse Links: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
 Future Frag: cur=    0K, max=    0K, #=   2687, 1=   24, new=    0K, re=   62K
 Frag Tables: cur=    1K, max=    1K, #=      3, 1=  520, new=    1K, re=    0K
  IBL Tables: cur=    6K, max=    6K, #=      3, 1= 2128, new=    6K, re=    0K
      Traces: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  FC Empties: cur=    0K, max=    0K, #=   1643, 1=   40, new=    0K, re=  115K
   Vm Multis: cur=    0K, max=    0K, #=   1652, 1=   48, new=    0K, re=  115K
          IR: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  RCT Tables: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
    VM Areas: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
     Symbols: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  TH Counter: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
   Tombstone: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
Hot Patching: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  Thread Mgt: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  Memory Mgt: cur=    1K, max=    1K, #=      1, 1= 1016, new=    1K, re=    0K
       Stats: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
 SpecialHeap: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
      Client: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
     Lib Dup: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  Clean Call: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
       Other: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
Total cur usage:      9 KB
Total max (not nec. all used simult.):     12 KB
Thread reachable heap breakdown:
BB Fragments: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
Coarse Links: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
 Future Frag: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
 Frag Tables: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  IBL Tables: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
      Traces: cur=   64K, max=   64K, #=      1, 1=65536, new=   64K, re=    0K
  FC Empties: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
   Vm Multis: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
          IR: cur=    0K, max=    1K, #= 459871, 1=   24, new=    1K, re=10377K
  RCT Tables: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
    VM Areas: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
     Symbols: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  TH Counter: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
   Tombstone: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
Hot Patching: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  Thread Mgt: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  Memory Mgt: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
       Stats: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
 SpecialHeap: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
      Client: cur=    2K, max=    2K, #=   9285, 1= 1040, new=    2K, re=  217K
     Lib Dup: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
  Clean Call: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
       Other: cur=    0K, max=    0K, #=      0, 1=    0, new=    0K, re=    0K
Total cur usage:     66 KB
Total max (not nec. all used simult.):     68 KB
(Begin) Thread statistics @9667 global, 9667 thread fragments (1:11.985):
                                 System calls, pre (thread):              2130
                                System calls, post (thread):              2125
                      System calls, pre, ignorable (thread):              2096
                     System calls, post, ignorable (thread):              2096
                            Ignorable system calls (thread):                15
                        Non-ignorable system calls (thread):                15
                                 Application mmaps (thread):                11
                               Application munmaps (thread):                 4
                     Application modules with code (thread):                 5
                     Application code seen (bytes) (thread):            206781
            Interpreted calls, direct and indirect (thread):              1743
                        Interpreted indirect calls (thread):               124
                         Interpreted indirect jmps (thread):               104
                                  Interpreted rets (thread):               679
                   Dynamic option synchronizations (thread):                 6
        Dynamic option synchronizations, no change (thread):                 6
                     Code origin addresses checked (thread):              9292
                Code origin addresses in last area (thread):              9285
                         Cache consistency flushes (thread):                 1
            Cache consistency flushes via synchall (thread):                 1
                  Shared deletion regions unlinked (thread):                 3
                      Shared deletion region walks (thread):                 3
              Shared deletion ref count decrements (thread):                 3
                       Shared deletion max pending (thread):                 1
            Shared deletion region removals: ref 0 (thread):                 3
             Fragments added to lazy deletion list (thread):               389
         Lazy list instances moved to pending list (thread):                 3
         Lazy list fragments moved to pending list (thread):               387
                 Generated code protection changes (thread):                 2
                           Protection change calls (thread):                38
                           Protection change pages (thread):              7672
                 Fragments generated, bb and trace (thread):              9667
                   Basic block fragments generated (thread):              9277
                         Trace fragments generated (thread):               390
               Trace building reset: no trace head (thread):               390
               Number of bbs in all emitted traces (thread):              1638
                  Maximum number of bbs in a trace (thread):                48
        Trace wannabes prevented from being traces (thread):             23475
                       Shadowed trace head deleted (thread):               389
                             Trace heads re-marked (thread):                21
                        Future fragments generated (thread):             18789
                        Shared fragments generated (thread):              8015
                              Shared bbs generated (thread):              7625
                           Shared traces generated (thread):               390
                       Private fragments generated (thread):              1652
                             Private bbs generated (thread):              1652
                 Shared future fragments generated (thread):             16102
                        Unique fragments generated (thread):              9666
          Maximum fragment requested size in bytes (thread):              8942
                    Maximum fragment size in bytes (thread):              8817
                            Maximum instrs in a bb (thread):               255
                 BBs truncated due to instr limits (thread):                 2
                         Direct exit stubs created (thread):             15904
                       Indirect exit stubs created (thread):              1088
                            Separate stubs created (thread):              8241
                          Rip-relative instrs seen (thread):             24145
                     Rip-relative unreachable leas (thread):               846
              Rip-relative unreachable leas in app (thread):               843
                 Rip-relative unreachable non-leas (thread):              1469
          Rip-relative unreachable non-leas in app (thread):              1468
           Rip-relative unreachable spills avoided (thread):               344
                        BBs with one indirect exit (thread):               907
                          BBs with one direct exit (thread):              2409
                         BBs with two direct exits (thread):              5961
       BB direct exits >SHRT_MAX from fragment tag (thread):              1880
      BB direct exits <=SHRT_MAX from fragment tag (thread):             14024
   BB cbr fall-through >SHRT_MAX from fragment tag (thread):                11
  BB cbr fall-through <=SHRT_MAX from fragment tag (thread):              6039
           BBs using post-linkstub fragment offset (thread):              3815
   BBs that write OF but no other arithmetic flags (thread):              7112
                BBs that write no arithmetic flags (thread):              2165
     BBs that write no arithmetic flags, end in ib (thread):               427
                   Cbrs sharing a single exit stub (thread):              6177
            Fragments requiring post_linkstub offs (thread):              4205
                  Fragments deleted for any reason (thread):              9665
       Fragments deleted due to capacity conflicts (thread):                 2
                                Trace heads marked (thread):              1668
        Fragments deleted and replaced with traces (thread):                 1
    Fragments deleted for munmap or RO consistency (thread):              8024
                   Trace fragments targeted by IBL (thread):                67
                      Exits due to IBL cold misses (thread):             20959
                 Extra exits due to trace building (thread):                23
               Fragments regenerated or duplicated (thread):                 1
                          Trace fragments extended (thread):              1638
             Trace building private copies created (thread):              1638
             Trace building private copies deleted (thread):              1638
     Trace building private copies futures deleted (thread):              2644
     Trace building private copies futures avoided (thread):              1637
                       Trace inline-ib comparisons (thread):               306
           Trace inline-ib no eflag restore needed (thread):               270
       Trace fragments extended, ibl exits updated (thread):               181
                           Branches linked, direct (thread):              8119
                         Branches linked, indirect (thread):              1269
                        Coarse prevented by client (thread):             27832
                               Fcache exits, total (thread):             55869
              Fcache exits, system call executions (thread):              2125
                  Fcache exits, client redirecting (thread):                 1
                         Fcache exits, from traces (thread):             14416
                            Fcache exits, from BBs (thread):             39327
             Fcache exits, total indirect branches (thread):             21049
         Fcache exits, non-trace indirect branches (thread):             15431
             Fcache exits, ind target not in cache (thread):              1784
   Fcache exits, ind target extending a trace, BAD (thread):               177
   Fcache exits, ind target in cache but not table (thread):             19088
             Fcache exits, from BB, ind target ... (thread):             13795
              Fcache exits, BB->BB, ind target ... (thread):             13789
   Fcache exits, BB->BB trace head, ind target ... (thread):               497
           Fcache exits, BB->trace, ind target ... (thread):                 6
          Fcache exits, from trace, ind target ... (thread):              5293
        Fcache exits, trace->trace, ind target ... (thread):                61
   Fcache exits, trace->BB not trace head, ind tgt (thread):               177
    Fcache exits, trace->BB trace head, ind target (thread):              5055
             Fcache exits, dir target not in cache (thread):              5840
                    Fcache exits, link not allowed (thread):             24724
                   Fcache exits, target trace head (thread):             23048
                   Fcache exits, extending a trace (thread):              1440
           Fcache exits, non-ignorable system call (thread):              2130
          Fcache exits, no link shared <-> private (thread):               236
           Fcache exits needing cbr disambiguation (thread):             18275
                  Fragments with OF restore prefix (thread):                50
                        Fcache bb capacity (bytes) (thread):              8192
                   Fcache bb peak capacity (bytes) (thread):              8192
                   Fcache bb space claimed (bytes) (thread):              4436
                       Fcache bb peak used (bytes) (thread):              4440
                 Fcache bb fragment bodies (bytes) (thread):             27830
               Fcache bb direct exit stubs (bytes) (thread):            -27830
                     Fcache bb align space (bytes) (thread):              4781
                     Fcache bb empty space (bytes) (thread):              4436
                 Fcache shared bb capacity (bytes) (thread):           1462272
            Fcache shared bb peak capacity (bytes) (thread):           1462272
            Fcache shared bb space claimed (bytes) (thread):           1433600
               Fcache shared bb space used (bytes) (thread):            -71712
                Fcache shared bb peak used (bytes) (thread):           1410928
                  Fcache shared bb headers (bytes) (thread):                16
          Fcache shared bb fragment bodies (bytes) (thread):               382
              Fcache shared bb align space (bytes) (thread):             -1433
              Fcache shared bb empty space (bytes) (thread):           1464596
               Fcache shared bb free coalesce prev (thread):               330
               Fcache shared bb free coalesce next (thread):              7017
                      Fcache shared bb return last (thread):               124
                       Fcache shared bb free split (thread):               117
              Fcache shared trace capacity (bytes) (thread):            327680
         Fcache shared trace peak capacity (bytes) (thread):            327680
         Fcache shared trace space claimed (bytes) (thread):            286720
            Fcache shared trace space used (bytes) (thread):             -3000
             Fcache shared trace peak used (bytes) (thread):            328192
       Fcache shared trace fragment bodies (bytes) (thread):              -111
           Fcache shared trace align space (bytes) (thread):               -51
           Fcache shared trace empty space (bytes) (thread):            331192
            Fcache shared trace free coalesce next (thread):               326
                   Fcache shared trace return last (thread):                59
                    Fcache shared trace free split (thread):                 1
                   Fcache combined claimed (bytes) (thread):           1724756
          Current fcache combined capacity (bytes) (thread):           1798144
             Peak fcache combined capacity (bytes) (thread):           1798144
                 Current fcache units on live list (thread):                31
                    Peak fcache units on live list (thread):                31
                               Fcache unit lookups (thread):           1946212
      Separate shared bb direct exit stubs (bytes) (thread):                46
                                Special heap units (thread):                 6
                           Peak special heap units (thread):                 6
                  Special heap align space (bytes) (thread):                 8
             Current special heap capacity (bytes) (thread):            184320
                Peak special heap capacity (bytes) (thread):            184320
                   Current heap units on live list (thread):                19
                      Peak heap units on live list (thread):                19
                              Heap headers (bytes) (thread):               608
                          Heap align space (bytes) (thread):              1756
                     Peak heap align space (bytes) (thread):             14426
                     Heap bucket pad space (bytes) (thread):             39992
                Peak heap bucket pad space (bytes) (thread):             69168
                            Heap allocs in buckets (thread):           2231898
                        Heap allocs variable-sized (thread):               137
                             Total reserved memory (thread):           5406720
                        Peak total reserved memory (thread):           5406720
               Guard pages, reserved virtual pages (thread):               114
          Peak guard pages, reserved virtual pages (thread):               114
                      Current client raw mmap size (thread):             45056
                         Peak client raw mmap size (thread):             45056
                    Current stack capacity (bytes) (thread):             32768
                       Peak stack capacity (bytes) (thread):             32768
                             Mmap capacity (bytes) (thread):           1798144
                        Peak mmap capacity (bytes) (thread):           1798144
           Mmap reserved but not committed (bytes) (thread):            -20480
      Peak mmap reserved but not committed (bytes) (thread):             53248
                              Heap claimed (bytes) (thread):           1097502
                         Peak heap claimed (bytes) (thread):           2102605
                     Current heap capacity (bytes) (thread):           3043328
                        Peak heap capacity (bytes) (thread):           3043328
           Heap reserved but not committed (bytes) (thread):             86016
      Peak heap reserved but not committed (bytes) (thread):            405504
                         File map capacity (bytes) (thread):          31457280
                    Peak file map capacity (bytes) (thread):          31457280
              Current total memory from OS (bytes) (thread):          43102208
                 Peak total memory from OS (bytes) (thread):          43102208
           Current vmm blocks for unreachable heap (thread):               671
              Peak vmm blocks for unreachable heap (thread):               671
                      Current vmm blocks for stack (thread):                10
                         Peak vmm blocks for stack (thread):                10
   Current vmm blocks for unreachable special heap (thread):                 5
      Peak vmm blocks for unreachable special heap (thread):                 5
             Current vmm blocks for reachable heap (thread):                66
                Peak vmm blocks for reachable heap (thread):                66
                      Current vmm blocks for cache (thread):               496
                         Peak vmm blocks for cache (thread):               496
     Current vmm blocks for reachable special heap (thread):                72
        Peak vmm blocks for reachable special heap (thread):                72
     Current vmm blocks for reachable special mmap (thread):              3743
        Peak vmm blocks for reachable special mmap (thread):              3757
                  Our virtual memory blocks in use (thread):              5063
             Peak our virtual memory blocks in use (thread):              5063
             Allocations using multiple vmm blocks (thread):                85
                Blocks used for multi-block allocs (thread):              5390
         Current vmm virtual memory in use (bytes) (thread):          20738048
            Peak vmm virtual memory in use (bytes) (thread):          20738048
                              Number of safe reads (thread):              9457
                         Peak vmarea vector length (thread):                45
                   Peak dynamo areas vector length (thread):                21
               Peak executable areas vector length (thread):                 5
            -pad_jmps fragments size overestimated (thread):              6850
  -pad_jmps excess instances coalesced w/ nxt free (thread):                84
  -pad_jmps excess instances failed to be returned (thread):               315
      -pad_jmps excess bytes failed to be returned (thread):              5256
                    -pad_jmps body bytes shared bb (thread):             22875
                  -pad_jmps excess bytes shared bb (thread):             21715
                           Bytes shared frags ever (thread):           1456102
             -pad_jmps start_pcs shifted shared bb (thread):               545
       -pad_jmps start_pcs shifted bytes shared bb (thread):              1160
         -pad_jmps excess bytes released shared bb (thread):             20280
                  -pad_jmps no pad exits shared bb (thread):             11816
                      -pad_jmps body bytes shtrace (thread):              4569
                    -pad_jmps excess bytes shtrace (thread):              4411
                           Bytes shared frags ever (thread):            325973
               -pad_jmps start_pcs shifted shtrace (thread):                22
         -pad_jmps start_pcs shifted bytes shtrace (thread):                47
           -pad_jmps excess bytes released shtrace (thread):              4360
                   -pad_jmps inserted nops shtrace (thread):                58
              -pad_jmps inserted nop bytes shtrace (thread):               111
                    -pad_jmps no pad exits shtrace (thread):              1674
                         -pad_jmps body bytes temp (thread):              4914
                       -pad_jmps excess bytes temp (thread):              4585
                             Bytes temp frags ever (thread):            347940
                  -pad_jmps start_pcs shifted temp (thread):               161
            -pad_jmps start_pcs shifted bytes temp (thread):               329
              -pad_jmps excess bytes released temp (thread):              9332
                     -pad_jmps no shift stubs temp (thread):              2668
                       -pad_jmps no pad exits temp (thread):              2688
                           -pad_jmps body bytes bb (thread):                42
                         -pad_jmps excess bytes bb (thread):                42
                               Bytes bb frags ever (thread):              3330
                -pad_jmps excess bytes released bb (thread):                76
                       -pad_jmps no shift stubs bb (thread):                28
                         -pad_jmps no pad exits bb (thread):                28
                 Trace fragment ending with an IBL (thread):                28
         Trace fragment ending with an IBL, return (thread):                25
       Trace fragment ending with an IBL, ind call (thread):                 1
       Trace fragment ending with an IBL, ind jump (thread):                 2
                               Clean Call analyzed (thread):                 2
                               Clean Call inserted (thread):              9278
        App reference with FS/GS seg being mangled (thread):               224
(End) Thread statistics
Thread 96010 KSTATS {
         bb_building: 540091470 totc,    9277 num,     18405 minc,     58218 avg,   1535804 maxc, 151697292 self, 388394178 sub,
                          316 ms,         0 ms out,in bb building
         bb_decoding: 218100164 totc,    9278 num,       135 minc,     23507 avg,   1403482 maxc, 218100164 self,         0 sub,
                          127 ms,         5 ms out,in bb decoding
             bb_emit:  13068923 totc,    9277 num,       832 minc,      1408 avg,     16853 maxc,   2909359 self,  10159564 sub,
                            7 ms,         0 ms out,in emitting BB
            mangling: 177857169 totc,    9667 num,      2115 minc,     18398 avg,    477540 maxc, 177857169 self,         0 sub,
                          104 ms,         0 ms out,in mangling
                emit:  10680558 totc,    9667 num,       562 minc,      1104 avg,     16493 maxc,  10680558 self,         0 sub,
                            6 ms,         0 ms out,in emit
      trace_building: 104458967 totc,    2027 num,       203 minc,     51533 avg,    723509 maxc,    509120 self, 103949847 sub,
                           61 ms,         0 ms out,in trace building
     temp_private_bb: 111714482 totc,    1638 num,     19192 minc,     68201 avg,    723284 maxc,    343932 self, 111370550 sub,
                           65 ms,         0 ms out,making temp private bb for trace building
       monitor_enter: 139453852 totc,   24134 num,        45 minc,      5778 avg,    723779 maxc,   6499323 self, 132954529 sub,
                           81 ms,         0 ms out,in trace monitor
  monitor_enter_thci:  11472280 totc,   29610 num,       180 minc,       387 avg,     13028 maxc,  11472280 self,         0 sub,
                            6 ms,         0 ms out,in trace monitor, thci
        flush_region:      3577 totc,       1 num,      3577 minc,      3577 avg,      3577 maxc,       405 self,      3172 sub,
                            0 ms,         0 ms out,flush_region
      synchall_flush:      3172 totc,       1 num,      3172 minc,      3172 avg,      3172 maxc,      3172 self,         0 sub,
                            0 ms,         0 ms out,synchall flush
  dispatch_num_exits: 181196842 totc,   24902 num,       157 minc,      7276 avg,    724027 maxc,   3683258 self, 177513584 sub,
                          106 ms,         0 ms out,in dispatch exit, default
num_exits_ind_good_miss:  33439469 totc,    1784 num,       202 minc,     18744 avg,    165398 maxc,    332768 self,  33106701 sub,
                           19 ms,         0 ms out,in dispatch exit, ind target not in cache
  num_exits_dir_miss: 325933467 totc,    5840 num,       179 minc,     55810 avg,   1536795 maxc,   1378818 self, 324554649 sub,
                          191 ms,         0 ms out,in dispatch exit, dir target not in cache
num_exits_not_in_cache: 359372936 totc,    7624 num,       179 minc,     47137 avg,   1536795 maxc,   1711586 self, 357661350 sub,
                          210 ms,         0 ms out,in dispatch exit, all target not in cache
num_exits_ind_bad_miss_bb2bb:  34689984 totc,   13789 num,       179 minc,      2515 avg,    189159 maxc,   1887644 self,  32802340 sub,
                           20 ms,         0 ms out,in dispatch exit, BB2BB, ind target ...
num_exits_ind_bad_miss_bb2trace:      3150 totc,       6 num,       337 minc,       525 avg,       944 maxc,       900 self,      2250 sub,
                            0 ms,         0 ms out,in dispatch exit, BB2trace, ind target ...
num_exits_ind_bad_miss_bb:  34693134 totc,   13795 num,       179 minc,      2514 avg,    189159 maxc,   1888544 self,  32804590 sub,
                           20 ms,         0 ms out,in dispatch exit, from BB
num_exits_ind_bad_miss_trace2trace:    702426 totc,      61 num,       180 minc,     11515 avg,     86826 maxc,     10645 self,    691781 sub,
                            0 ms,         0 ms out,in dispatch exit, trace2trace, ind target ...
num_exits_ind_bad_miss_trace2bb_nth:   1234954 totc,     177 num,       202 minc,      6977 avg,    145464 maxc,     26281 self,   1208673 sub,
                            0 ms,         0 ms out,in dispatch exit, trace2BB not trace head, ind target
num_exits_ind_bad_miss_trace2bb_th:   7939752 totc,    5055 num,       181 minc,      1570 avg,    178695 maxc,    689328 self,   7250424 sub,
                            4 ms,         0 ms out,in dispatch exit, trace2BB trace head, ind target
num_exits_ind_bad_miss_trace2bb:   9174706 totc,    5232 num,       181 minc,      1753 avg,    178695 maxc,    715609 self,   8459097 sub,
                            5 ms,         0 ms out,in dispatch exit, trace2BB, ind target
num_exits_ind_bad_miss_trace:   9877132 totc,    5293 num,       180 minc,      1866 avg,    178695 maxc,    726254 self,   9150878 sub,
                            5 ms,         0 ms out,in dispatch exit, from trace
num_exits_ind_bad_miss:  44570266 totc,   19088 num,       179 minc,      2334 avg,    189159 maxc,   2614798 self,  41955468 sub,
                           26 ms,         0 ms out,in dispatch exit, ind target in cache but not table
num_exits_dir_syscall:   3102497 totc,    4255 num,       112 minc,       729 avg,    263475 maxc,    585847 self,   2516650 sub,
                            1 ms,         0 ms out,in dispatch exit, syscall handling
             logging:7346733242 totc, 1977515 num,       472 minc,      3715 avg,    236475 maxc,7346733242 self,         0 sub,
                         4310 ms,         0 ms out,in LOG
      overhead_empty:   2073498 totc,   10000 num,       180 minc,       207 avg,       293 maxc,   2073498 self,         0 sub,
                            1 ms,         0 ms out,empty block overhead
     overhead_nested:   2313086 totc,   10000 num,       202 minc,       231 avg,     73823 maxc,   2313086 self,         0 sub,
                            1 ms,         0 ms out,nested block overhead
      syscall_fcache:    356679 totc,    2125 num,       112 minc,       167 avg,       495 maxc,    356679 self,         0 sub,
                            0 ms,         0 ms out,in syscalls [not propagated]
      fcache_default: 983968752 totc,   53744 num,       922 minc,     18308 avg,   1700460 maxc, 983965175 self,      3577 sub,
                          577 ms,     43148 ms out,in fcache, default
} KSTATS

Derek Bruening

unread,
Jul 3, 2021, 1:18:51 PM7/3/21
to dynamor...@googlegroups.com
Not sure how drreg would add something after the last branch: I did not think that ever happened.  Maybe unrelated, but IIRC there is some branching to skip the call, which makes it more complex: both paths have to be the same wrt drreg.  A barrier prior to the skip conditional might be the right spot?

Prasun Ratn

unread,
Aug 1, 2021, 11:51:37 PM8/1/21
to dynamor...@googlegroups.com
Apologies for the late response. I experimented with barriers a little bit but could not get it to work. I went back to the old method (dr_unlink_flush_region instead of dr_flush_region_ex)

By the way, I do see this segfault even during delay instrumentation (with an unmodified current version of dynamorio) although much less frequently. It doesn't happen with dr_unlink_flush_region.

This is the rev I have:
commit 527d44cb86c7f6656f8eeefaf78102e650b3caf1 (HEAD -> master, tag: cronbuild-8.0.18836, origin/master, origin/HEAD)

This is my test script with some random delay (multiplying $RANDOM because it only goes to 32k)
$ cat repro-bug.sh
for run in {11..20}; do
    echo Running run-$run
    build-debug/bin64/drrun -debug -loglevel 4 -t drcachesim -trace_after_instrs $((RANDOM*RANDOM)) \
    -exit_after_tracing $((RANDOM*RANDOM)) -subdir_prefix drmemtrace-run-$run -offline  -- \
    $imagick_cmdline > log-run-$run.txt 2>&1 || echo "Error occurred"
done

I see two runs out of 20 failed:
$ ./repro-bug.sh
Running run-11
Running run-12
Error occurred
Running run-13
Running run-14
Running run-15
Running run-16
Running run-17
Running run-18
Running run-19
Running run-20

The logs show segfault with bad value in RCX
$ grep "log dir" log-run-12.txt
<log dir=/home/prasun/dynamorio/build-debug/bin64/../logs/imagick_r_base.amd64-m64-static.154119.00000000>

$ grep -5 SIGSEG /home/prasun/dynamorio/build-debug/bin64/../logs/imagick_r_base.amd64-m64-static.154119.00000000/log.0.154119.html
        ymmh13 = 00000000000000000000000000000000
        ymmh14 = 00000000000000000000000000000000
        ymmh15 = 00000000000000000000000000000000
        oldmask=0x0000000000000000
        cr2=0x0000000000000000
computing memory target for 0x0000000045b5334a causing SIGSEGV, kernel claims it is 0x0000000000000000
opnd_compute_address for: (%rcx)
        base => 0x0000000000000000
        index,scale => 0x0000000000000000
        disp => 0x0000000000000000
For SIGSEGV at cache pc 0x0000000045b5334a, computed target read 0x0000000000000000
        faulting instr: mov    (%rcx)[4byte] -> %edx
** Received SIGSEGV at cache pc 0x0000000045b5334a in thread 154119
record_pending_signal(11) from cache pc 0x0000000045b5334a
        not certain can delay so handling now
        action is not SIG_IGN
        retaddr = 0x00007f3806589819
add_process_lock: 0 lock 0x00007f3606325810: name=synch_lock(mutex)@/home/prasun/dynamorio/core/synch.c:144




Derek Bruening

unread,
Aug 2, 2021, 1:51:03 PM8/2/21
to dynamor...@googlegroups.com
On Sun, Aug 1, 2021 at 11:51 PM Prasun Ratn <prasu...@gmail.com> wrote:
Apologies for the late response. I experimented with barriers a little bit but could not get it to work. I went back to the old method (dr_unlink_flush_region instead of dr_flush_region_ex)

By the way, I do see this segfault even during delay instrumentation (with an unmodified current version of dynamorio) although much less frequently. It doesn't happen with dr_unlink_flush_region.

There is an unresolved x86 state restoration issue that may be involved here: see https://github.com/DynamoRIO/dynamorio/issues/4711 and https://github.com/DynamoRIO/dynamorio/blob/master/clients/drcachesim/tracer/tracer.cpp#L1465.  Any help on that is appreciated.
 

Prasun Ratn

unread,
Aug 3, 2021, 11:14:37 PM8/3/21
to dynamor...@googlegroups.com
This failure looks similar to the mcontext issue I was seeing earlier. I can reproduce this segfault with 893c06c2605eb8423ef4a4b33185d0fef9c75257 (https://github.com/DynamoRIO/dynamorio/pull/4491)

Prasun Ratn

unread,
Aug 4, 2021, 12:03:39 AM8/4/21
to dynamor...@googlegroups.com
This segfault doesn't occur with the previous tracer.cpp commit (8f377b1420b3728fbb76627405fa7d49c2e616c6)

Prasun Ratn

unread,
Nov 9, 2021, 11:35:28 AM11/9/21
to DynamoRIO Users
Looks like this segfault was fixed by https://github.com/DynamoRIO/dynamorio/issues/4128.

Shall I open a request for this feature - "Collect warmup trace (using L0_filter) followed by a full instruction trace" ? I'll follow up with some PRs.

Derek Bruening

unread,
Nov 9, 2021, 1:15:15 PM11/9/21
to dynamor...@googlegroups.com
On Tue, Nov 9, 2021 at 11:35 AM Prasun Ratn <prasu...@gmail.com> wrote:
Looks like this segfault was fixed by https://github.com/DynamoRIO/dynamorio/issues/4128.

Good to hear: we were hoping it would solve issues like this.
 
Shall I open a request for this feature - "Collect warmup trace (using L0_filter) followed by a full instruction trace" ? I'll follow up with some PRs.

It seems related to issue #3995 and perhaps would most easily be done by first putting drbbdup in place in the tracer.  I see you have a comment there already: https://github.com/DynamoRIO/dynamorio/issues/3995#issuecomment-825748234.
But sure a separate filed issue makes sense even if the work beyond drbbdup integration is small.
 

Prasun Ratn

unread,
Nov 10, 2021, 6:33:16 AM11/10/21
to DynamoRIO Users

It seems related to issue #3995 and perhaps would most easily be done by first putting drbbdup in place in the tracer.  I see you have a comment there already: https://github.com/DynamoRIO/dynamorio/issues/3995#issuecomment-825748234.
But sure a separate filed issue makes sense even if the work beyond drbbdup integration is small.
 

At the time, John mentioned that there might be additional effort necessary, so I decided to use the 'flush code cache' approach that is currently used for the delay instrumentation. I had run into the segfaults mentioned earlier but things seem to be working now. Would it be okay to use this approach for now? The transition from L0_filter to full instruction trace happens just once, so this approach doesn't seem too bad.

Derek Bruening

unread,
Nov 10, 2021, 10:58:17 AM11/10/21
to dynamor...@googlegroups.com
Right, there are some complexities left in putting drbbdup in place.  Flushing seems reasonable for now.
 

--
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.
Reply all
Reply to author
Forward
0 new messages