Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in
D
darshan
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 74
    • Issues 74
    • List
    • Boards
    • Labels
    • Milestones
  • Merge Requests 6
    • Merge Requests 6
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
  • darshan
  • darshan
  • Issues
  • #175

Closed
Open
Opened Dec 08, 2015 by Philip Carns@carns
  • Report abuse
  • New issue
Report abuse New issue

potential races in module shutdown functions

It is possible (though uncommon) that an application may continue to issue I/O operations from another thread while one thread is calling MPI_Finalize(). The POSIX module,for example, protects against this in the begin_shutdown() function by holding the POSIX_LOCK while setting a flag to disable instrumentation. The get_output_data function then collects data without holding a lock.

Theoretically a concurrent thread could get past the flag check but not complete instrumentation before the get_output_data function begins, however. For safety we should hold the POSIX_LOCK during the get_output_data() and shutdown() functions as well.

This needs to be changed in the other modules as well. Should be a minor update.

Assignee
Assign to
3.0.0
Milestone
3.0.0
Assign milestone
Time tracking
None
Due date
None
0
Labels
None
Assign labels
  • View project labels
Reference: darshan/darshan#175