solberg@platinum.com wrote:
I am trying to migrate my Data.bbb file from my 1.9 installation to a new 1.10 installation. I get a "Sorry, a SERIOUS APPLICATION ERROR occurred." message. In the source of the page, it has the following:
(snip)
ImportError: ('cPickle.UnpicklingError', "invalid load key, 'G'.")
(snip)
Before this, I shutdown the Zope process on the 1.10 server and copied the Data.bbb.old file from a Pack operation on the 1.9 server. I renamed it to Data.bbb.
Should this work?
Yes.
Does anyone know how to solve this one?
Yup. The pickle code 'G' is for the binary float format. The binary float format has been an optional feature of cPickle for some time. It was not turned on by default until Python 1.5.2(xx). Your Zope 1.9 installation used a version of cPickle with binary floats enabled and your Zope 1.10 installation is using a version of cPickle with binary floats disabled. This is most likely because the 1.10 installation is using a Python interpreter with an older version of cPickle. You need to make sure that you are using a version of cPickle with binary floats enabled. If cPickle is statically linked, you need to change it to be dynamically kinked or provide the option -DFORMAT_1_3. Jim