Plone 4.0.7 - 检入大型PDF时的最大递归深度错误

时间:2013-06-27 14:34:55

标签: plone

最近,我们的一位网站用户成功检出了一张大型PDF并试图将其重新检入,但是它失败并显示以下堆栈跟踪:

2013-02-21 12:42:39 ERROR Zope.SiteErrorLog 1361450559.20.0921547927966    
http://phoebe:8095/portal/our-responsibilities/codes-of-conduct/copy_of_please-let-us-    
know-where-you-live/content_status_modify
Traceback (innermost last):
  Module ZPublisher.Publish, line 127, in publish
  Module ZPublisher.mapply, line 77, in mapply
  Module ZPublisher.Publish, line 47, in call_object
  Module Products.CMFFormController.FSControllerPythonScript, line 105, in __call__
  Module Products.CMFFormController.Script, line 145, in __call__
  Module Products.CMFCore.FSPythonScript, line 130, in __call__
  Module Shared.DC.Scripts.Bindings, line 324, in __call__
  Module Shared.DC.Scripts.Bindings, line 361, in _bindAndExec
  Module Products.PythonScripts.PythonScript, line 344, in _exec
  Module script, line 42, in content_status_modify
   - <FSControllerPythonScript at /portal/our-responsibilities/codes-of-conduct/please- 
let-us-know-where-you-live/content_status_modify>
   - Line 42
  Module Products.CMFCore.WorkflowTool, line 244, in doActionFor
  Module Products.CMFCore.WorkflowTool, line 555, in _invokeWithNotification
  Module Products.DCWorkflow.DCWorkflow, line 282, in doActionFor
  Module Products.DCWorkflow.DCWorkflow, line 421, in _changeStateOf
  Module Products.DCWorkflow.DCWorkflow, line 465, in _executeTransition
  Module zope.event, line 23, in notify
  Module zope.component.event, line 26, in dispatch
  Module zope.component._api, line 138, in subscribers
  Module zope.component.registry, line 323, in subscribers
  Module zope.interface.adapter, line 575, in subscribers
  Module zope.component.event, line 34, in objectEventNotify
  Module zope.component._api, line 138, in subscribers
  Module zope.component.registry, line 323, in subscribers
  Module zope.interface.adapter, line 575, in subscribers
  Module arcadia.app.events, line 22, in before_transition
  Module plone.app.iterate.browser.checkin, line 50, in __call__
  Module plone.app.iterate.policy, line 90, in checkin
  Module zope.event, line 23, in notify
  Module zope.component.event, line 26, in dispatch
  Module zope.component._api, line 138, in subscribers
  Module zope.component.registry, line 323, in subscribers
  Module zope.interface.adapter, line 575, in subscribers
  Module plone.app.iterate.subscribers.versioning, line 36, in handleAfterCheckin
  Module plone.app.iterate.archiver, line 43, in save
  Module Products.CMFEditions.CopyModifyMergeRepositoryTool, line 297, in save
  Module Products.CMFEditions.CopyModifyMergeRepositoryTool, line 443, in 
_recursiveSave
  Module Products.CMFEditions.ArchivistTool, line 267, in prepare
  Module Products.CMFEditions.ArchivistTool, line 221, in _cloneByPickle
  Module ZODB.Connection, line 843, in setstate
  Module logging, line 1047, in error
  Module logging, line 1128, in _log
  Module logging, line 1108, in makeRecord
  Module logging, line 243, in __init__
RuntimeError: maximum recursion depth exceeded while calling a Python object

还有其他人遇到过这个问题吗?

有问题的PDF文件大小为24MB,将PDF缩小至9MB并不会导致问题。

一个简单的解决方案是保持PDF的大小不变,但用户认为它们更大的版本(更高的打印分辨率)。

有谁知道:

  1. 是否有解决这个问题的方法?
  2. 可以检入的BLOB的最大大小是多少?
  3. 由于

1 个答案:

答案 0 :(得分:1)

您可能需要访问您网站中的/portal_modifier/SkipVersioningOfLargeFilesAndImages/modifierEditForm,并启用此修改器。这将禁用大于指定阈值的文件的上载文件有效内容的版本控制,但为任何已编辑的元数据启用版本控制。