Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4903: Serialization library in Boost 1.45 is unable to read archive created with Boost 1.39
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-12-18 23:20:23
#4903: Serialization library in Boost 1.45 is unable to read archive created with
Boost 1.39
-------------------------------------------------------+--------------------
Reporter: Rüdiger Brünner <rbruenner@â¦> | Owner: ramey
Type: Bugs | Status: new
Milestone: To Be Determined | Component: serialization
Version: Boost 1.45.0 | Severity: Showstopper
Resolution: | Keywords:
-------------------------------------------------------+--------------------
Comment (by ramey):
I've been struggling with this. Here is the output from test_simple in
xml format
{{{
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="8">
<a class_id="0" tracking_level="0" version="0">
<b>1</b>
<f>757147</f>
<g>167851000</g>
<l>2</l>
<m>15724</m>
<n>11478</n>
<o>29358</o>
<p>26962</p>
<q>24464</q>
<r>5705</r>
<c>-15</c>
<s>-15</s>
<t>187</t>
<u>9961</u>
<v>491</v>
<w>2995</w>
<x>11942</x>
<y>uirxnrvpfehwtrbifmqaylbxblotupkjewsfcgbupvdkwfravemvnrnfpnuxlk</y>
<z>n</z>
</a>
</boost_serialization>
}}}
I've looked carefully at Serialisation #4903.pdf and see you're comments -
this is very helpful. BUT there are several possible alternative
explanations:
Either class_id, tracking_level or version expanded from on byte to 4
bytes. My suspicion is that the culprit is tracking_level. The whole
problem came about when I tweaked some types to eliminate some warnings.
This changed the size of these types which then changed the archive
format. This looks easy now, but the whole issue was obscured by a number
of things like implicit conversions. Turns out that I never touched
tracking_type. And there is confusing point on this as well. The type
trait is an enum of 3 values - the usage in the file is bool - indicated
whether that particular type has been tracked in that file. So I believe
that something is mixed up here - unfortunately it's very, very hard to
pin down since i can't build archives in older formats without re-
installing and building old library versions.
So at this moment I'm stuck - I don't know if this makes anyone feel
better, but there it is.
Robert Ramey
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/4903#comment:10> 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:05 UTC