Re: [Boost-bugs] [Boost C++ Libraries] #4660: Error read binary archive, created by old boost version

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-09-22 06:50:28


#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 Sergey Voropaev <serge-voropaev@…>):

 I prepare some simple test program cser and tser. See attachments. First
 program (cser) creates simple native binary archive. Second program (tser)
 test these archive. I build these programs with 3 different version of
 BOOST – 1.34.1, 1.43 and 1.44. Then I run all version of cser and create 3
 archive – arch_1_34_1.dat, arch_1_43.dat and arch_1_43.dat (see
 attachments).
 Then I run each version of tser with each version of archive. The results
 are:

 tser + boost 1.34.1[[BR]]
 arch_1_34_1.dat – “Test – OK”[[BR]]
 arch_1_43.dat – “archive serializations error - unsupported version”[[BR]]
 arch_1_44.dat – “archive serializations error - unsupported version”[[BR]]

 tser + boost 1.43[[BR]]
 arch_1_34_1.dat – “Test – OK”[[BR]]
 arch_1_43.dat – “Test – OK”[[BR]]
 arch_1_44.dat – “archive serializations error - incompatible native format
 - size of int”[[BR]]

 tser + boost 1.44[[BR]]
 arch_1_34_1.dat – “archive serializations error - unsupported
 version”[[BR]]
 arch_1_43.dat – “archive serializations error - unsupported version”[[BR]]
 arch_1_44.dat – “Test – OK”[[BR]]

 My summary[[BR]]
 1) serialization 1.44 can not work with old version of binary archives. So
 backward compatibility was ruined.[[BR]]
 2) format of binary archive in version 1.44 was changed, so version 1.43
 does not work with new archive. And now we have 2 different incompatible
 version of native binary archive (before 1.44 and 1.44). Text archive does
 not have this problem

 So implementation of serialization in 1.44 is broken. I think this problem
 must be resolved ASAP. I think users must be informed about these problem
 with serialization and users must do not use this version in production
 code. May be we need 1.44.1 version?

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