Skip to content

Unhandled MPI_Requests generated by mpi_process_group constructor. #20

@fearsomepirate

Description

@fearsomepirate

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions