[boost::serialization]assertion in basic_iarchive.cpp

Hello, when loading my application's state from a text file I get sometimes this assertion: Assertion failed: object_id_vector[i].adress >= old_adress, file ../src/basic_iarchive.cpp It's very strange because sometimes this assertion is triggered and sometimes not. What exactly does this assertion mean? Thanks. Sascha Friedmann

This means there is a bug in the serialization library. The question is - what is triggering this bug. So it would be interesting to know more information: version of boost compiler operating system Do we know for a a fact that the archive file has not been edited or corrupted. Do we know for a fact that the serialization code hasn't been changed - including different serialization traits for any types - since the archive was created? Any other information. Robert Ramey Sascha Friedmann wrote:
Hello, when loading my application's state from a text file I get sometimes this assertion:
Assertion failed: object_id_vector[i].adress >= old_adress, file ../src/basic_iarchive.cpp
It's very strange because sometimes this assertion is triggered and sometimes not. What exactly does this assertion mean?
Thanks.
Sascha Friedmann

Robert Ramey wrote:
This means there is a bug in the serialization library.
The question is - what is triggering this bug.
So it would be interesting to know more information:
version of boost The boost version is 1.33 in the version.hpp the BOOST_VERSION is defined as 103300. compiler The compiler is vc7.1 operating system The operating system is Microsoft Windows XP Service Pack2.
Do we know for a a fact that the archive file has not been edited or corrupted. It has not been edited and for corrupting I'm sure that it has not been corrupted (is there a way to recognize corruption of a text archive?).
Do we know for a fact that the serialization code hasn't been changed - including different serialization traits for any types - since the archive was created? I did not change anything. The archive is created and then I reload it immediately (of course after closing the file). And approximately it works 3 of 5 times, when running the program 5times (without rebuild). The old archive is always deleted when creating the new one.
Any other information.
It seems that the serialization fails only when I have still messages in my program intern message system (only the serialization of the message system fails). The message system consists of a manager for messages and listeners. In my testing code I'm storing several hundred events and then deserializing them (into a new message system) and processing them. I've looked over my serialization code several times and I could not find any errors. I've also changed my testing code but it just keeps failing.
Robert Ramey
Sascha Friedmann
participants (2)
-
Robert Ramey
-
Sascha Friedmann