id summary reporter owner description type status milestone component version severity resolution keywords cc 6064 serialization fails with linked list of certain size kajgol@… Robert Ramey "Serialization of a custom-made simple linked list fails if the list is of a certain size. Seems linked to the depth of pointers comming from the root. In the provided code if the NUM_OF_NODES is set to: * 1200 everything works * 1300 deserialization fails with a segfault * 1500 serialization fails with a segfault If the raw pointers are replaced with boost::shared_ptr the values of NUM_OF_NODES can be roughly cut in half to get the same effects. Changing the SerialTest classes size by adding additional fields has no effect. Compiled with gcc 4.5.2 from mingw on win xp {{{ #include #include #include #include #include #include #include #include using namespace std; class SerialTest { public: SerialTest* next; friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int version) { ar & next; } SerialTest() { } }; int main() { const size_t NUM_OF_NODES = 1200; SerialTest* root = new SerialTest; SerialTest* currentNode = root; for(size_t i = 0; i < NUM_OF_NODES; ++i) { SerialTest* newNode = new SerialTest; currentNode->next = newNode; currentNode = newNode; } { cout<<""opening ser file""<> root2; } cout<<""done""<