Boost logo

Boost Users :

Subject: Re: [Boost-users] [MPI, serialization] Segmentation fault in heterogeneous cluster
From: Matthias Troyer (troyer_at_[hidden])
Date: 2010-10-15 21:08:27


On 7 Oct 2010, at 04:37, Sebastian Schaetz wrote:

>> Hi Francesco,
>>
>> The support for shared_ptr was incomplete. Can you try this example with the
> current SVN trunk?
>>
>> Matthias
>>
>
> Matthias,
> I tried this example using revision and I get this error:
>
> terminate called after throwing an instance of
> 'boost::exception_detail::clone_impl
> <boost::exception_detail::error_info_injector<boost::mpi::exception>>'
> what(): MPI_Unpack: MPI_ERR_TRUNCATE: message truncated
> [...]
>
> I tested this because I try to do something very similar but it also does not
> work. See my code example here: http://gist.github.com/613446 (see error message
> here http://gist.github.com/613479)
>
> Am I messing up here or is this a problem with Boost MPI possibly in how it
> interacts with Boost Serialization?
>
> Also I had a version of this code where shared_ptr was replaced by a regular
> pointer which also did not work [0]. Is it a bad idea in general to use a
> regular pointers when sending stuff through MPI using serialization?

Hi Sebastian,

Thank you for posting a complete example that exhibits the problem! I could further simplify it and then solve it - the problem was once more an undocumented requirement of the latest version of the Boost.Serialization library. I applied workarounds in Boost.MPI and now both the raw pointer and shared pointer cases work on my machine. I have also added a new regression test based on a simplified version of your example. It is fixed on the trunk now and should make it into 1.45

Matthias


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net