raw2trace assert

34 views
Skip to first unread message

Prasun Ratn

unread,
Jun 21, 2022, 12:06:35 PM6/21/22
to DynamoRIO Users
I am seeing this assert:

[drmemtrace]: Mapped module 8 @0x7f29ce4c5000-0x7f29ce65b000 (-0x7f29ce510000 segment) = /home/prasun/dynamorio/build/lib64/release/libdynamorio.so
[drmemtrace]: Secondary segment: module 9 seg 0x7f29ce510000-0x7f29ce5fe000 = /home/prasun/dynamorio/build/lib64/release/libdynamorio.so
[drmemtrace]: Secondary segment: module 10 seg 0x7f29ce5fe000-0x7f29ce648000 = /home/prasun/dynamorio/build/lib64/release/libdynamorio.so
[drmemtrace]: Secondary segment: module 11 seg 0x7f29ce649000-0x7f29ce6e2000 = /home/prasun/dynamorio/build/lib64/release/libdynamorio.so
ASSERT FAILURE: /home/prasun/dynamorio/dynamorio/clients/drcachesim/tracer/raw2trace.cpp:371: off_end || info.start - modvec_[info.containing_index].orig_seg_base + info.size <= modvec_[info.containing_index].total_map_size ()


 id, containing_id, start, end, entry, offset, preferred_base, (custom fields), path
  8,   8, 0x000014d184a99000, 0x000014d184ae4000, 0x000014d184ba7875, 0000000000000000, 0x0000000071000000, v#1,0, /home/prasun/dynamorio/build/lib64/release/libdynamorio.so
  9,   8, 0x000014d184ae4000, 0x000014d184bd2000, 0x000014d184ba7875, 000000000004b000, 0x000000007104b000, v#1,0, /home/prasun/dynamorio/build/lib64/release/libdynamorio.so
 10,   8, 0x000014d184bd2000, 0x000014d184c1c000, 0x000014d184ba7875, 0000000000139000, 0x0000000071139000, v#1,0, /home/prasun/dynamorio/build/lib64/release/libdynamorio.so
 11,   8, 0x000014d184c1d000, 0x000014d184cb6000, 0x000014d184ba7875, 0000000000183ae0, 0x0000000071184000, v#1,0, /home/prasun/dynamorio/build/lib64/release/libdynamorio.so

It looks like this is occurring because the size of module 8 does not match across raw2trace run and the modules.log entry.

>>> print 0x000014d184ae4000-0x000014d184a99000
307200
>>> print 0x7f29ce65b000-0x7f29ce4c5000
1662976

Any idea why this could happen? I don't think the libdynamorio.so file has changed since tracing (but cannot be 100% sure).

Thanks
Prasun
Message has been deleted

Nahome Bete

unread,
Jun 22, 2022, 12:25:45 PM6/22/22
to DynamoRIO Users

Derek Bruening

unread,
Jun 22, 2022, 12:38:44 PM6/22/22
to Prasun Ratn, DynamoRIO Users
The only place I've seen that assert is from segment alignment issues: https://github.com/DynamoRIO/dynamorio/issues/4731https://github.com/DynamoRIO/dynamorio/issues/4737.

--
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/3e292bab-ec25-4f9b-a99f-e8a28318b6fbn%40googlegroups.com.

Prasun Ratn

unread,
Jun 23, 2022, 11:39:50 AM6/23/22
to Derek Bruening, DynamoRIO Users
Derek, that doesn't seem to be the case here, correct?

Nahome, I don't think I have enough to file a bug yet. Just trying to understand what the assert is saying.

Derek Bruening

unread,
Jun 24, 2022, 12:27:11 PM6/24/22
to Prasun Ratn, DynamoRIO Users
If it reproduces you can verify whether it is the same file?

Prasun Ratn

unread,
Jun 26, 2022, 10:10:47 AM6/26/22
to DynamoRIO Users
Yeah it did not reproduce when I tried. Is there a way to enable build id logging in modules.log?

Derek Bruening

unread,
Jun 26, 2022, 2:18:55 PM6/26/22
to Prasun Ratn, DynamoRIO Users
We add them to all ours using the additional field interface.  Seems reasonable to add upstream to Linux since most distros these days have them in system libraries; not all libraries have them, though, like checksums and timestamps and other fields, so they are not a panacea.

Derek Bruening

unread,
Jun 27, 2022, 12:41:12 PM6/27/22
to Prasun Ratn, DynamoRIO Users

Prasun Ratn

unread,
Jun 28, 2022, 7:06:48 AM6/28/22
to DynamoRIO Users
Thanks Derek.
Reply all
Reply to author
Forward
0 new messages