2013-03-06 54 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的信息。