Boost logo

Boost Users :

Subject: Re: [Boost-users] [Boost.MPI] question about serializingcustomobject
From: Cristobal Navarro (axischire_at_[hidden])
Date: 2010-08-29 20:05:04

hello again

i wrote my code for sending one object from rank 0 to rank 1 process sing
boost.mpi because it is very simple.
it worked when sending a string just like in the documentation,

however when i sent the object i showed earlier i am getting errors.

terminate called after throwing an instance of
 what(): class version St8multimapIiiSt4lessIiESaISt4pairIKiiEEE
[lenovo00:06116] *** Process received signal ***
[lenovo00:06116] Signal: Aborted (6)
[lenovo00:06116] Signal code: (-6)
[lenovo00:06116] [ 0] [0x71f410]
[lenovo00:06116] [ 1] /lib/tls/i686/cmov/ [0x74da82]
[lenovo00:06116] [ 2]
[lenovo00:06116] [ 3] /usr/lib/ [0x4d8465]
[lenovo00:06116] [ 4] /usr/lib/ [0x4d84a2]
[lenovo00:06116] [ 5] /usr/lib/ [0x4d85e1]
[lenovo00:06116] [ 6]
  says something about multimap type error and other
things. if i remove the multimap attribute from the serialization method i
get another
error, and if i comment almost everything and only keep 2 integers
(numNodes numEdges) for testing... the receiving object has different values
those integers.

this can be a problem of the internal serializing which uses
packed_oarchive/iarchive instead of the binary_oarchive/iarchive i was
testing earlier when it worked??
any indication is welcome if you need more debugging information i can

Cristobal <>

On Sat, Aug 28, 2010 at 3:11 PM, Matthias Troyer <troyer_at_[hidden]>wrote:

> On 28 Aug 2010, at 18:36, Jeff Flinn wrote:
> > Dave Abrahams wrote:
> >> BoostPro Computing,
> >> Sent from coveted but awkward mobile device
> >> --
> >> On Aug 28, 2010, at 6:15 AM, Jeff Flinn <TriumphSprint2000_at_[hidden]>
> wrote:
> >>> So what happens if the some data member that is a base class pointer
> gets modified to point to some other instance of a derived class? Doesn't
> that change the 'structure'?
> >> Yes of course. However, many MPI applications never need to do that.
> >
> > No doubt many don't. I'm just trying to gain a better understanding of
> boost.mpi and provide some of that feedback you asked for else thread. :-)
> >
> > Does MPI detect those changes automatically resending the skeleton
> information as required? Or does the user code need to explicitly manage
> such situations? Or does this disallow usage of the skeleton approach
> altogether in these situations.
> The user code needs to explicitly manage this, and if your code typically
> changes the structure, then I recommend to just use the normal send and
> recv mechanism which sends the whole object.
> Matthias
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at