My development computer is on OS X, live and testing instances are on debian. Zope on OS X silently fails, on debian raises maximum recursion error so my traceback is from testing instance. Traceback is the same as in the ticket and ends in _cloneByPickle (see traceback below).

I've tracked ArchivistTool.prepare() method and the object is not registered yet:

-> obj, history_id = dereference(obj, zodb_hook=self)
(Pdb) n
-> if storage.isRegistered(history_id):
(Pdb) history_id
(Pdb) storage.isRegistered(history_id)
False
...
-> history_id = uidhandler.register(obj)
(Pdb) history_id
1347
(Pdb) c
...Zope crashed

Does this mean there are no previous versions yet? If I disable/enable versioning, are all versions purged ?

Traceback (innermost last):
  Module ZPublisher.Publish, line 119, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 42, in call_object
Module Products.CMFFormController.FSControllerPageTemplate, line 90, in __call__ Module Products.CMFFormController.BaseControllerPageTemplate, line 28, in _call
  Module Products.CMFFormController.ControllerBase, line 231, in getNext
Module Products.CMFFormController.Actions.TraverseTo, line 38, in __call__
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 42, in call_object
Module Products.CMFFormController.FSControllerPythonScript, line 104, in __call__
  Module Products.CMFFormController.Script, line 145, in __call__
  Module Products.CMFCore.FSPythonScript, line 140, in __call__
  Module Shared.DC.Scripts.Bindings, line 313, in __call__
  Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
  Module Products.CMFCore.FSPythonScript, line 196, in _exec
  Module None, line 29, in update_version_before_edit
- <FSControllerPythonScript at /portal/update_version_before_edit used for /portal/plan-india>
   - Line 29
Module Products.CMFEditions.CopyModifyMergeRepositoryTool, line 292, in save Module Products.CMFEditions.CopyModifyMergeRepositoryTool, line 425, in _recursiveSave
  Module Products.CMFEditions.ArchivistTool, line 240, in prepare
  Module Products.CMFEditions.ArchivistTool, line 195, in _cloneByPickle
RuntimeError: maximum recursion depth exceeded

>
> Hm, could you send the full traceback (provided you are not on OS X
> I'd expect you to see a recusrion error)?  If it's a crash it may be
> hard to help you though.  Is there any way you could try this with a
> new instance that doesn't have any versions already saved?
>
> The main thing that you'll need to check if you want to debug wether
> the modifier is working is that the cloned version of the object
> created by the portal_archivist tool no longer has actual sub-objects
> stored, but instead placeholder objects (VersionAwareReference).
>
> Good Luck,
> Alec
>
> 2009/12/13 Radim Novotny <[email protected]>:
>>
>> According to notes at http://dev.plone.org/plone/ticket/7223#comment:15 ,
>> I've tried to change condition of OMOutsideChildrensModifier and add my
>> custom folderish type to list of portal_types, but no luck. Zope still fails
>> on the same place.
>>
>> CMFEditions code:
>> http://dev.plone.org/collective/browser/Products.CMFEditions/branches/1.1/Products/CMFEditions/ArchivistTool.py#L187
>>
>> I've checked that ouside_refs variable is set to list of child objects in >> the versioned folder, but zope still fails on save of my custom folderish >> type. If I revert OMOutsideChildrensModifier condition change, outside_refs
>> is empty so condition is fine.
>>
>> Any ideas?
>>
>> Radim Novotny
>>
>>
>>
>>


Radim


_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers

Reply via email to