
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