DynamoRIO / DynamoRIO/dynamorio

Invariant checker fails on sampled runs, but not on full runs of fleetbench

Open
#6,547 8 comments 0 reactions 0 assignees View on GitHub
Component-DrMemtrace
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

**Describe the bug**
After merging the fix for #6499, our upsampled runs of fleetbench pass all of the invariant checks. However, for expedience we also use the invariant checker on sampled runs of fleetbench (`-trace_after_instrs 1M -trace_for_instrs 20M -retrace_every_instrs 20M`)

These runs all hit issues in the invariant checker:
```
$/test/drio_build/bin64/drrun -t drcachesim -simulator_type invariant_checker -indir /test/empirical_driver_test/drmemtrace.empirical_driver_test.08501.8356.dir
Trace invariant failure in TTrace invariant failure in T8526 at ref # 9 (0 instrs since timestamp 13348669121513440): An unfiltered thread should have at least 1 instructionTrace invariant failure in T8524 at ref # 9 (
Trace invariant failure in T8508 at ref # 8517 at ref # 9 (9 (00 instrs since timestamp 13348669087323868Aborted (core dumped)
```

```
$ /test/drio_build/bin64/drrun -t drcachesim -simulator_type invariant_checker -indir /test/hot_swissmap_smoketest/drmemtrace.hot_swissmap_smoketest.05085.7339.dir
Trace invariant failure in T5091 at ref # 11337 (1173 instrs since timestamp 13348668791825879): Timestamp does not increase monotonically
```

```
$ /test/drio_build/bin64/drrun -t drcachesim -simulator_type invariant_checker -indir /test/cold_swissmap_smoketest/drmemtrace.cold_swissmap_smoketest.04470.5303.dir
Trace invariant failure in T4476 at ref # 11451 (1292 instrs since timestamp 13348668747489100): Timestamp does not increase monotonically
```

**Expected behaviour**
I would expect the sampled runs of the invariant checker to find a subset of the issues in the full run of the checker. However, I'm not sure what the invariant checker assumes- is it expected to work with sampled runs?

These tests were run with the current HEAD (960d1d7f45b4772cb94f748d0218a9091cbee3bd)

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.