JuliaParallel / JuliaParallel/MPI.jl
Do not free resources in `MPI_*_free` calls
- 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