Re: [Boost-bugs] [Boost C++ Libraries] #4903: Serialization library in Boost 1.45 is unable to read archive created with Boost 1.39

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-21 08:34:31


#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 Rüdiger Brünner <rbruenner@…>):

 Replying to [comment:10 ramey]:
> I've been struggling with this. Here is the output from test_simple in
 xml format

 Thanks for looking into the issue. However, I believe that it is the
 version number which has got expanded to 4 bytes. I have attached two new
 binary files with the same structure, both in 1.39 and 1.45. The object
 has now the version number 37 (0x25). In the binary file, it can be
 clearly seen that the version number is stored in 4 bytes in version 1.45.
 When reading an archive created with 1.39 the library, although it read
 the archive version 5 correctly, wrongly assumes to be able to read a
 4-byte version number instead of a 1-byte number (as stored by 1.39).
 I think it is necessary to split the version number reading function based
 on the archive version number. For archives up to 1.39 (or 1.40 or so) it
 must read only one byte, newer archives must read 4 bytes.

 Rüdiger

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4903#comment:11>
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