Boost logo

Boost Users :

Subject: Re: [Boost-users] [Boost.MPI] question about serializing customobject
From: Matthias Troyer (troyer_at_[hidden])
Date: 2010-08-26 16:44:23


On 26 Aug 2010, at 22:03, Cristobal Navarro wrote:

> i made some progress while we were mailing between us.
>
> first of all, im trying to see if my object can be serialized / deserialized in the common way without going into MPI yet.
> objects are Lattices, they have Nodes and Edges. nothing more.
>
> this is how i've setup serialization for all three types of classes:

...
>
> i get bad errors when deserializing, complaining about a bool and char.
> serializing to binlat.x...
> Lattice::print().....START
> Nodes=2 Edges= 1
> Node[0] sp=1 ext=1
> Linked to edge 2 (Node 3 or 0 )
> Node[3] sp=1 ext=2
> Linked to edge 2 (Node 3 or 0 )
> Lattice::print().....END
> [enter]
> reconstructing swerialized binlat.x...
> [enter]
> plattice: /usr/local/include/boost/archive/basic_binary_iprimitive.hpp:98: void boost::archive::basic_binary_iprimitive<Archive, Elem, Tr>::load(bool&) [with Archive = boost::archive::binary_iarchive, Elem = char, Tr = std::char_traits<char>]: Assertion `0 == i || 1 == i' failed.
> [lenovo00:29384] *** Process received signal ***
> [lenovo00:29384] Signal: Aborted (6)
> [lenovo00:29384] Signal code: (-6)
> [lenovo00:29384] [ 0] [0xfea410]
> [lenovo00:29384] [ 1] /lib/tls/i686/cmov/libc.so.6(abort+0x182) [0xd41a82]
> [lenovo00:29384] [ 2] /lib/tls/i686/cmov/libc.so.6(__assert_fail+0xf8) [0xd37718]
> [lenovo00:29384] [ 3]
> ..
> ..
> *** End of error message ***
>
> i started debugging, and realized that the problem is completely gone when i remove "edges" from the serialization members of "Lattice" object.
> its weird, because "edge" is a map of <int, Edge> and much simplier than "nodes" which does work. obviously i cannot continue without edges, so i need to fix it somehow, but i dont understand the error related to edges, maybe is something im not seeing.

Robert, that question is best looked into by you

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