boostorg / boostorg/graph_parallel
Unhandled MPI_Requests generated by mpi_process_group constructor.
- Dominant language
- C++
- Stars
- 33
- Forks
- 41
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 1
Description
The `boost::graph::distributed::mpi_process_group` class spawns some non-blocking communication in its constructor, but the resulting requests are never handled. I have tracked this down to the `global_trigger_launcher`, which has the following comment:
```
// TBD: do not forget to cancel any outstanding Irecv when deleted,
// if we decide to use Irecv
```
It looks like this was never done, but the default build configuration uses Irecv. To replicate this bug, simply create an mpi_process_group with any constructor, do nothing with it, and let it go out of scope. You will need some way to interact with the MPI profiling interface to detect leaked requests, such as LLNL's mpileaks:
https://github.com/LLNL/mpileaks
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.