DynamoRIO / DynamoRIO/dynamorio

CRASH post-processing a trace with many markers

Open
#4,159 1 comment 0 reactions 1 assignee Claimed by @derekbruening View on GitHub
Bug-DRCrash Component-DrMemtrace
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

I recorded a drcachesim trace with -record_function and a hacked drwrap where post-call hooks were sometimes missed. I hit a crash in post-processing where drwrap detected that a bunch of post-call callbacks had been missed and it caught up, resulting in a long series of function tracing markers. raw2trace has a 64-entry array for each insruction, under the invariant that one instruction couldn't possibly have that many entries. It gets overflowed, clobbering subsequent memory.

I think the marker loop in handle_kernel_interrupt_and_markers() should have its own output, to solve this and make the code more robust.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.