|
Boost : |
Subject: Re: [boost] [serialization] Reading newer archives - was throwing unsupported_class_version, now crashes
From: Robert Ramey (ramey_at_[hidden])
Date: 2012-06-25 15:33:49
Nikolay Mladenov wrote:
> Hi Robert,
>
> I have been reading the recent thread "Boost and Exceptions" with
> great interest.
> There you discuss at some length the problems of introducing breaking
> changes and library authoring in general.
>
> This reminded me that you have not yet adequately responded to the
> problem posted in thread, so I decided to bump it up.
>
> Do you have any plans about acknowledging/fixing the problem ( a
> breaking change)
> discussed here and filed as ticked:
> https://svn.boost.org/trac/boost/ticket/6856.
>
> Thanks in advance,
>
> Nikolay Mladenov
> Sitius Automation
>
> On Fri, May 11, 2012 at 3:13 PM, Nikolay Mladenov <
> nikolay.mladenov_at_[hidden]> wrote:
>
>>
>>
>> On Fri, May 11, 2012 at 1:23 PM, Robert Ramey <ramey_at_[hidden]> wrote:
>>
>>> Nikolay Mladenov wrote:
>>>> On Fri, May 11, 2012 at 2:06 AM, Robert Ramey <ramey_at_[hidden]>
>>>> wrote:
>>>
>>>>> Your right about this and your proposal is a worthy one though I
>>>>> think there's a simpler way to do it.. I'll look into this.
>>>>>
>>>>> As to why it's this way, the answer is pretty simple. The
>>>>> original version of the library has some errors. Problem is,
>>>>> fixing them is much harder than with other libraries because of
>>>>> the requirement to maintain the ability to read archives created
>>>>> with previous versions.
>>>>>
>>>>
>>>> I am not sure how to understand this. The commented out code checks
>>>> for future versions, not for previous versions?
>>>>
>>>>
>>>>> Robert Ramey
>>>>>
>>>>>> Thanks in advance,
>>>>>>
>>>>>> Nikolay Mladenov
>>>>>> Sitius Automation Inc.
>>>>>
>>>>
>>>>
>>>> If I am to avoid the crash when reading future version I seem to
>>>> have 2 options:
>>>> 1) add a check in every load/serialize function and throw when
>>>> future version is detected
>>>> 2) add the same check but in the fuction or functions that call the
>>>> load/serialize functions
>>>
>>> 3) just re-enable the check by chaning the 0 to 1 and rebuild the
>>> library. would this not work for you?
>>>
>>
>> I am not sure, but if you say so, it probably would.
>> May I also commit, so I don't have to do this next time we upgrade
>> boost?
>>
>> Nikolay
>>
>>
>>> Robert Ramey
>>>
>>>> And my problem with 2 is that I have to mess up with the
>>>> serialization library which I am not so familiar with.
>>>>
>>>> Nikolay Mladenov
>>>> Sitius Automation Inc.
>>>>
>>>> _______________________________________________
>>>> Unsubscribe & other changes:
>>>> http://lists.boost.org/mailman/listinfo.cgi/boost
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Unsubscribe & other changes:
>>> http://lists.boost.org/mailman/listinfo.cgi/boost
>>>
>>
>>
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk