Subject: [Boost-bugs] [Boost C++ Libraries] #6436: Exception on destruction of communicator mpi_comm_null
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-01-23 02:50:14
#6436: Exception on destruction of communicator mpi_comm_null
--------------------------------+-------------------------------------------
Reporter: aelaguiz@⦠| Owner: dgregor
Type: Patches | Status: new
Milestone: To Be Determined | Component: mpi
Version: Boost 1.48.0 | Severity: Problem
Keywords: |
--------------------------------+-------------------------------------------
Using boost trunk mpi the communicator destructor does not check for the
possibility of an MPI_COMM_NULL underlying communicator, code which
produces a null underlying can exception on ref counted destruction.
For instance, this code:
void pool(bmpi::communicator &world, bmpi::communicator &local) {
LDEBUG(PSTR("Pool - local: "), pantheios::integer(local.rank()),
PSTR(" of "), pantheios::integer(local.size()));
bmpi::group localGroup = local.group();
dump_group(localGroup);
std::vector<int> inc(1, 0);
bmpi::group tinyGroup = localGroup.include(inc.begin(),
inc.end());
dump_group(tinyGroup);
bmpi::communicator tinyCom(local, tinyGroup);
}
When tinyCom goes out of scope, this exception gets thrown:
"MPI_Comm_free: MPI_ERR_COMM: invalid communicator"
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/6436> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:08 UTC