JuliaParallel / JuliaParallel/MPI.jl

Do not free resources in `MPI_*_free` calls

Open
#977 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
439
Forks
127
Avg merge
19h 6m
Merged PRs (30d)
17

Description

Function such as `MPI_Op_free` only decrement a reference counter, they do not actually free the internal MPI objects. These MPI objects may still be in use. Freeing resources or un-root objects in such a call can lead to accessing uninitialized memory.

In my experience, this means that the some of the `MPI_*_free` calls may not actually be able to free anything (e.g. `MPI_Op_free`). Many objects may need to remain allocated indefinitely (or until `MPI_Finalize`).

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the MPI_*_free entry points, especially MPI_Op_free, and inspect how their reference counters and internal MPI objects are handled. Check the MPI wrapper behavior against the stated lifetime concern; done means the calls cannot expose uninitialized or prematurely released resources, with relevant validation added where the project supports it.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
hpc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.