Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Contribute to GitLab
  • Sign in
M
margo
  • Project
    • Project
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 15
    • Issues 15
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • sds
  • margo
  • Issues
  • #45

Closed
Open
Opened Nov 06, 2018 by Matthieu Dorier@mdorier
  • Report abuse
  • New issue
Report abuse New issue

Conflict between margo_ref_incr and handle cache

Scenario:

  • call margo_create(&h) to create a handle;
  • call margo_ref_incr(h) to increment its internal refcount;
  • call margo_destroy(h) to destroy it; The call to margo_destroy should decrease the reference count, NOT put the handle back in the cache. Otherwise when the handle is pulled back from the cache to be reused, HG_Reset will fail. This problem appears in Thallium, in particular. It is harmless, to some extents only: when resetting fails, margo falls back to creating a new handle from scratch, so we just get some Mercury-related errors on stderr and the cache quickly fills up with handles that cannot be reset.

The solution would be to have Jerome provide a HG_Get_refcount in Mercury so that margo can decide whether HG_Destroy or cache_put should be called within margo_destroy.

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
No due date
0
Labels
None
Assign labels
  • View project labels
Reference: sds/margo#45