DynamoRIO / dynamorio

Dynamic Instrumentation Tool Platform
Other
2.57k stars 551 forks source link

record_filter core-sharded start-idle cores have missing encodings #6734

Closed derekbruening closed 3 months ago

derekbruening commented 3 months ago

The drmemtrace record_filter fails to include encodings in core-sharded mode for outputs that start out idle. This is detectable by running opcode_mix instead of schedule_stats in the tool.record_filter_bycore_uni test (unfortunately the invariant_checker does not yet support core-sharded: #6684).

The error turns out to be that the per_shard_t.filetype field is only set if an actual filetype record is seen: and the synthetic one written at output does not count. Thus the encoding-handling code thinks the file doesn't have encodings at all.