Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4660: Error read binary archive, created by old boost version
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-10-18 09:46:00
#4660: Error read binary archive, created by old boost version
---------------------------------------+------------------------------------
Reporter: serge-voropaev@⦠| Owner: ramey
Type: Bugs | Status: new
Milestone: To Be Determined | Component: serialization
Version: Boost 1.44.0 | Severity: Showstopper
Resolution: | Keywords:
---------------------------------------+------------------------------------
Comment (by hajokirchhoff):
Hi there, I am bitten by this as well.
Problem: Prior to 1.44 the archive version was written as "one byte".
Starting with 1.44 archive version type changed from 'version_type' to
'library_version_type' and is expected to be read as two bytes.
There is a comment in basic_archive.cpp:
{{{
// 7 - separated version_type into library_version_type and
class_version_type
// changed version_type to be stored as 8 bits.
}}}
this definitely points to the problem.
This is a really __serious__ problem, a potential showstopper. The longer
this remains open, the more binary archives of version <1.44 and 1.44 will
both exist. And if this problem cannot be resolved in a backwards
compatible way, either all binary <1.44 or all binary 1.44 archives will
break.
Also I think it is __imperative__ to add backwards compatibility to the
test suite! A new version of boost::serialization should not be released
unless tests reading previous versions of the archives pass.
Breaking changes to the archives are really, really bad! And I mean really
bad!
(Otherwise, thanks a lot for your work. It's a great library :-)
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/4660#comment:9> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:04 UTC