[Boost-bugs] [Boost C++ Libraries] #6436: Exception on destruction of communicator mpi_comm_null

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