3

我正在将 blob 迁移到 3.2.1 站点,并且收到“RuntimeError:调用 Python 对象错误时超出最大递归深度”。在@@blob-file-migration 期间的某个文件上。

我找到了这个http://svn.eionet.europa.eu/projects/Zope/ticket/4190,看起来他们通过创建自定义迁移器解决了这个图像问题。

有什么线索吗?追溯如下。

  File "/home/simahawk/dev/plone/plone3/projx/src/plone.app.blob/src/plone/app/blob/content.py", line 113, in setFile
    mutator = self.getField('file').getMutator(self)
  File "/home/simahawk/dev/plone/plone3/buildout/eggs/Products.Archetypes-1.5.10-py2.4.egg/Products/Archetypes/BaseObject.py", line 241, in getField
    return self.Schema().get(key)
  File "/home/simahawk/dev/plone/plone3/buildout/eggs/Products.Archetypes-1.5.10-py2.4.egg/Products/Archetypes/BaseObject.py", line 828, in Schema
    schema = ISchema(self)
  File "/home/simahawk/dev/plone/plone3/projx/parts/zope2/lib/python/zope/app/component/hooks.py", line 96, in adapter_hook
    return siteinfo.adapter_hook(interface, object, name, default)
  File "/home/simahawk/dev/plone/plone3/buildout/eggs/archetypes.schemaextender-2.1.1-py2.4.egg/archetypes/schemaextender/extender.py", line 143, in cachingInstanceSchemaFactory
    key = IUUID(context, str(id(context)))
  File "/home/simahawk/dev/plone/plone3/projx/parts/zope2/lib/python/zope/app/component/hooks.py", line 96, in adapter_hook
    return siteinfo.adapter_hook(interface, object, name, default)
RuntimeError: maximum recursion depth exceeded in cmp
2013-03-06 10:16:49 INFO ATCT.migration Rolling back to last safe point
4

2 回答 2

0

当使用 Products.contentmigration 从 Plone 3.x 迁移到 Plone 4.x 时,我得到了同样的错误。plone.app.blob 迁移中似乎存在错误。我们进行了此自定义迁移以绕过递归错误:http ://svn.eionet.europa.eu/projects/Zope/browser/trunk/Products.EEAPloneAdmin/trunk/Products/EEAPloneAdmin/Extensions/ImageFS2Image.py?rev=29656

于 2013-03-06T11:01:51.850 回答
0

问题是 at.schemaextender 版本(2.1.1)。向下固定到 1.6.0 解决了这个问题。这也解决了 3.3.5 站点上的随机 KeyError。我认为这与#12051#11396 有关。看起来这些是较新版本的 at.schemaextender 的常见问题,但在包的自述文件中没有 Plone 3.x 的信息。

于 2013-03-18T08:37:03.400 回答