2013-03-06 22 views
3

我正在做一个Blob迁移到一个3.2.1网站上,我得到“RuntimeError:调用Python对象错误时超出最大递归深度”。在@@ blob-file-migration期间在某个文件上。plone.app.blob迁移ATFile时RuntimeError

我发现这个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 
+0

最近在https://github.com/plone/plone.app.blob/blob/master/CHANGES.rst FWIW中出现了一些blob迁移修复程序。 – vangheem 2013-03-06 13:34:31

+0

不幸的是,我已经在使用github中的p.a.blob了:S – simahawk 2013-03-06 13:47:53

+0

在一次大型安装中,我们得到了同样的错误:我们修复了在Plone升级期间禁用映像和文件迁移的问题,以后需要手动调用迁移视图。 – 2013-03-08 13:18:25

回答

0

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