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
  • #4053
Closed
Open
Issue created Jan 26, 2020 by Derek Bruening@derekbrueningContributor

CRASH in Windows attached-but-never-scheduled thread

When we attach on Windows we point each thread's context to our takeover routine, storing its interrupted PC in our heap. When we go to detach, we can throw away that data before the target thread is ever scheduled, leading to a crash when it finally runs our code.

We can't just return from the intercept code, like we can for other interceptions, because the continuation PC is dynamic and in our heap. So on exit we should go through the never-scheduled threads in takeover_table and revert the context settings.

I observed this crash in the drcacheoff.burst_* tests with VS2017 as part of #2924 (closed), after fixing #4052 (closed).

Assignee
Assign to
Time tracking