
Hi,
I'm experiencing occasional problems with boost::serialization when
trying to write then read two simple classes, to a file. I am using
boost 1.33.1
Most of the time everything's working fine, but sometimes the serialized
data seems to be corrupt and boost::archive throws an exception when I
try to load it back into the program. The error occurs about about 1 in
10 times I try this, and seems to depend on the exact values of the
variables being saved.
Here's a call stack of the thrown application:
WxNonogram.exe!_CxxThrowException(void * pExceptionObject=0x00129680,
const _s__ThrowInfo * pThrowInfo=0x00ff4954) + 0x50 bytes C++
WxNonogram.exe!boost::throw_exceptionboost::archive::archive_exception(const
boost::archive::archive_exception & e={...}) + 0x40 bytes C++
WxNonogram.exe!boost::archive::basic_binary_iprimitive ::load_binary(void * address=0x0012d05c, unsigned int count=4) +
0xaf bytes C++ WxNonogram.exe!boost::archive::basic_binary_iprimitive ::load<int>(int & t=-858993460) + 0x31 bytes C++ WxNonogram.exe!boost::archive::load_access::load_primitiveboost::archive::binary_iarchive,int(boost::archive::binary_iarchive
& ar={...}, int & t=-858993460) + 0x2d bytes C++
WxNonogram.exe!boost::archive::detail::load_non_pointer_typeboost::archive::binary_iarchive,int::load_primitive::invoke(boost::archive::binary_iarchive
& ar={...}, int & t=-858993460) + 0x2b bytes C++
WxNonogram.exe!boost::archive::detail::load_non_pointer_typeboost::archive::binary_iarchive,int::invoke(boost::archive::binary_iarchive
& ar={...}, int & t=-858993460) + 0x2b bytes C++
WxNonogram.exe!boost::archive::loadboost::archive::binary_iarchive,int(boost::archive::binary_iarchive
& ar={...}, int & t=-858993460) + 0x2b bytes C++
WxNonogram.exe!boost::archive::basic_binary_iarchiveboost::archive::binary_iarchive::load_override<int>(int
& t=-858993460, int __formal=0) + 0x38 bytes C++
WxNonogram.exe!boost::archive::binary_iarchive_implboost::archive::binary_iarchive::load_override<int>(int
& t=-858993460, int __formal=0) + 0x31 bytes C++
WxNonogram.exe!boost::archive::detail::interface_iarchiveboost::archive::binary_iarchive::operator>><int>(int
& t=-858993460) + 0x38 bytes C++
WxNonogram.exe!boost::archive::detail::interface_iarchiveboost::archive::binary_iarchive::operator&<int>(int
& t=-858993460) + 0x39 bytes C++
WxNonogram.exe!NoNo::TGameProgress::TProfileState::serializeboost::archive::binary_iarchive(boost::archive::binary_iarchive
& ar={...}, const unsigned int Version=4) + 0x7a bytes C++
Please help! I'm at a loss on how to proceed.
Thanks for your time,
Adrian
--
Adrian Grigore
adrian (AT) lobstersoft.com