Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Issues
  • #4982
Closed
Open
Issue created Jun 30, 2021 by Derek Bruening@derekbrueningContributor

trace invariant assert firing in tool.histogram.gzip and tool.histogram.offset [nondet]

This invariant assert fired on both tool.histogram.gzip and tool.histogram.offline: https://github.com/DynamoRIO/dynamorio/pull/4977/checks?check_run_id=2955546315

314:   /home/runner/work/dynamorio/dynamorio/clients/drcachesim/tests/trace_invariants.cpp:151:
314:   virtual bool trace_invariants_t::process_memref(const memref_t&): Assertion
314:   `prev_interleaved_instr_.instr.tid == memref.instr.tid ||
314:   thread_exited_[prev_interleaved_instr_.instr.tid] ||
314:   (prev_xfer_marker_[memref.data.tid].instr.tid ==
314:   prev_interleaved_instr_.instr.tid &&
314:   prev_xfer_marker_[memref.data.tid].marker.marker_type ==
314:   TRACE_MARKER_TYPE_KERNEL_EVENT)' failed.

Is this a regression from PR #4974? Or something underlying? It did happen once during PR #4974 but after later fixes for some Windows issues it did not re-occur: https://github.com/DynamoRIO/dynamorio/pull/4974/checks?check_run_id=2946043974

/suite/tests/tool.histogram.gzip.drmemtrace.signal_invariants.24474.3322.dir/trace|
314: CMake Error at /home/runner/work/dynamorio/dynamorio/suite/tests/runmulti.cmake:106 (message):
314:   *** postcmd3 failed (Subprocess aborted): histogram_launcher:
314:   /home/runner/work/dynamorio/dynamorio/clients/drcachesim/tests/trace_invariants.cpp:151:
314:   virtual bool trace_invariants_t::process_memref(const memref_t&): Assertion
314:   `prev_interleaved_instr_.instr.tid == memref.instr.tid ||
314:   thread_exited_[prev_interleaved_instr_.instr.tid] ||
314:   (prev_xfer_marker_[memref.data.tid].instr.tid ==
314:   prev_interleaved_instr_.instr.tid &&
314:   prev_xfer_marker_[memref.data.tid].marker.marker_type ==
314:   TRACE_MARKER_TYPE_KERNEL_EVENT)' failed.

I tried to reproduce locally: but no assert in 100 runs.

Marking as high priority since this could indicate a failure to satisfy our branch target invariants in drmemtrace traces.

Assignee
Assign to
Time tracking