[M3devel] Pickles, TextLiterals, and word size
Hendrik Boom
hendrik at topoi.pooq.com
Wed Jul 24 17:34:47 CEST 2013
On Wed, Jul 24, 2013 at 09:10:31AM -0500, Rodney M. Bates wrote:
> There is what I would call a bug in TextLiteral.i3 whose effect is that a
> TextLiteral.T has a different fingerprint on 32- and 64-bit machines.
> So you can't pickle a Text literal on one word-sized machine and unpickle
> it on the other.
>
> But fixing this will have the effect of invalidating any existing pickles
> written on a 64-bit machine before the fix, so they can't be read after
> the fix, even on a 64-bit machine. They would have to be rewritten after
> the fix.
Ah! The problems of long-term compatibility!
Is there any way of looking at a a pickle and determining whether it
comes from a 32- of 64- bit machine?
It there a way of special-casing the specific fingerprint that's about
to be invalidated, so as to convert it properly on input only, while
generating the new one on output?
>
> Is anybody doing the latter? Would having to recreate your pickles be a
> problem? Apparently, nobody is going cross-word-size, or we'd have heard
> about it.
>
> I would like to fix it properly, but don't want to undermine anybody's
> working system.
>
More information about the M3devel
mailing list