On Mon, Mar 2, 2009 at 11:52 AM, Torsten Anders <
[email protected]> wrote:
>
> On Mar 2, 2009, at 9:34 AM, Raphael Collet wrote:
>
>> If I am not mistaken, all the stateless entities that can be copied across
>> sites are pickled just like in Mozart 1.3.2. So I think that the pickler in
>> Mozart 1.4.0 is able to unpickle pickles made with Mozart 1.3.2.
>>
>
> It appears this is not the case. Here is the error message which I get when
> trying to load a pickle functor compiled with Mozart 1.3.* into Mozart
> 1.4.0.
>
> %***************** Error: distributed programming ***************
> %**
> %** Version mismatch during loading of pickle
> %**
> %** File: '/path/to/my/file'
> %** Expected: '4#0'
> %** Got: '3#3'
> %** Pickle version 3#3 corresponds to Oz version: '1.3.0'
> %** In statement: {<P/2 URL.load> '#'('/' [85 115 101 114 115] '/' [116]
> '/' [111 122] '/' [109 117 115 105 99] '/' [83 116 114 97 115 104 101 101
> 108 97] ,,,) _}
> %**
> %** Call Stack:
> %** procedure 'Meth_load' in file
> "/Users/bmejias/Mozart/mozart-1-4-x/mozart/share/lib/init/Resolve.oz", line
> 61, column 3, PC = 5022388
> %** procedure 'Do_Method' in file
> "/Users/bmejias/Mozart/mozart-1-4-x/mozart/share/lib/init/Resolve.oz", line
> 87, column 3, PC = 5023784
> %**--------------------------------------------------------------
We played it on the safe side, here. There is a test on the version number
of the pickle, and we force it to match the one of the virtual machine. But
in practice, the pickle format has not changed that much. I think I only
added new types of pickled data. I believe that unpickling older pickles
should be possible.
Cheers,
raph
_________________________________________________________________________________
mozart-users mailing list
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users