Hello all, It seems that sending stl complex data via the skeleton/content mechanism does not work. Here is a simple code that shows th problem: #include <boost/mpi.hpp> #include <boost/serialization/complex.hpp> #include <boost/serialization/vector.hpp> #include <iostream> namespace mpi = boost::mpi; using namespace std; int main(int argc, char* argv[]) { mpi::environment env(argc, argv); mpi::communicator world; int NN=world.size(); int myid=world.rank(); if (myid == 0) { int N = 10; vector <complex<double> > l(N); for (int p=1; p!=NN; p++) { int taskid=1; world.send(p, 0, taskid); world.send(p, 1, mpi::skeleton(l)); } mpi::content c = mpi::get_content(l); for (int n = 0; n!=l.size() ; n++) { l[n]=complex<double>(1.0,1.0); } for (int p=1; p!=NN; p++) { world.send(p, 1, c); } } else { vector <complex<double> > l; mpi::content c; world.recv(0, 1, mpi::skeleton(l)); c = mpi::get_content(l); world.recv(0, 1, c); for (int n=0; n!=l.size(); n++) { cout << l[n] << " "; } cout << endl; } } The entries of the vector l are not (1.0,1.0) but they seem to be uninitialized. This only occurs if one uses complex data types AND the skeleton/content mechanism. Does anyone know, if this is a build in problem, or if I am doing something wrong? Thanks in advance, Tobias