You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So we expect just 1 memref.
No rbp write; lea reads rbp.
But the 2nd stored value is not rbp: it's rsp, since it matches the rsp
value for the RET plus 8. Why was that written into the trace?
Huh, the next tag in the raw trace is 4e3a0 for the call: so it looks like
this is the rsp for the memref of the call's push. So the bug is that the
instr count is 16 instead of 24.
#2397 had already hit a case of this where dynamorio_annotate_running_on_dynamorio is transformed and so what raw2trace sees doesn't match what the tracer sees, similarly to the anntoation above.
One way to solve this is to use the new encodings file for blocks with annotations, if we can detect them during live tracing: maybe by the gap in the app pc sequence?
I ran Dr. Memory's app_suite_tests just as a sample app for drcachesim's -record_heap and hit an error post-processing it:
So we expect just 1 memref.
No rbp write; lea reads rbp.
But the 2nd stored value is not rbp: it's rsp, since it matches the rsp
value for the RET plus 8. Why was that written into the trace?
Why does the bb end there, anyway?
Here's the app code:
Huh, the next tag in the raw trace is 4e3a0 for the call: so it looks like
this is the rsp for the memref of the call's push. So the bug is that the
instr count is 16 instead of 24.
Aha, here's the answer:
So raw2trace needs a way to skip binary annotations.
The text was updated successfully, but these errors were encountered: