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
  • #4457
Closed
Open
Issue created Sep 29, 2020 by Derek Bruening@derekbrueningContributor

AArch64 CRASH post-detach: x0 clobbered, resulting in bad arg for stats in dr_app_stop_and_cleanup_with_stats

If we change the call to dr_app_stop_and_cleanup() to instead call dr_app_stop_and_cleanup_with_stats() in the api.detach test, we hit a crash in stats_get_snapshot().

Looks like x0 is clobbered on detach.

Hmm: ARM has emit_fcache_enter_gonative() but A64 does not! So stolen reg value is not restored. &stats is in x0 as 1st (only) arg to dr_app_stop_and_cleanup_with_stats(). Then fcache_enter uses x0 to store the target PC, clobbering it.

Looks like yet another case of the AArch64 port stopping early and not finishing known pieces, causing problems later and wasted time diagnosing symptoms.

Assignee
Assign to
Time tracking