2.6 to 2.10 migration: RuntimeError: maximum recursion depth exceeded
Hello, after importing a product from zope 2.6.4 to a 2.10.3 instance, trying to open the product produces quite a lot of errors in my event.log, and a traceback in the zope management interface. I found a lot of mails regarding plone upgrades which report a similar RuntimeError. What exactly does this mean? this is what i get in event.log: ------ 2007-07-12T00:47:24 ERROR ZODB.Connection Couldn't load state for 0x0aa5 Traceback (most recent call last): File "/usr/lib/zope2.10/lib/python/ZODB/Connection.py", line 749, in setstate self._setstate(obj) File "/usr/lib/zope2.10/lib/python/ZODB/Connection.py", line 807, in _setstate self._reader.setGhostState(obj, p) File "/usr/lib/zope2.10/lib/python/ZODB/serialize.py", line 604, in setGhostState state = self.getState(pickle) File "/usr/lib/zope2.10/lib/python/ZODB/serialize.py", line 597, in getState return unpickler.load() File "/usr/lib/zope2.10/lib/python/ZODB/serialize.py", line 471, in _persistent_load return self.load_oid(reference) File "/usr/lib/zope2.10/lib/python/ZODB/serialize.py", line 537, in load_oid return self._conn.get(oid) File "/usr/lib/zope2.10/lib/python/ZODB/Connection.py", line 208, in get obj._p_jar = self File "/usr/lib/zope2.10/lib/python/ZClasses/_pmc.py", line 65, in __setattr__ super(ZClassPersistentMetaClass, self).__setattr__(name, v) File "/usr/lib/zope2.10/lib/python/ZODB/persistentclass.py", line 84, in __set__ jar.setstate(inst) File "/usr/lib/zope2.10/lib/python/ZODB/Connection.py", line 754, in setstate exc_info=sys.exc_info()) File "logging/__init__.py", line 999, in error File "logging/__init__.py", line 1078, in _log File "logging/__init__.py", line 1064, in makeRecord File "logging/__init__.py", line 246, in __init__ def setupConfiguredLoggers(self): File "threading.py", line 677, in currentThread return _DummyThread() RuntimeError: maximum recursion depth exceeded ------ [ hundredthousands of lines with similar tracebacks, which become longer and longer ] ------ 2007-07-12T00:47:26 ERROR Zope.SiteErrorLog https://sandbox.kicms.de/Control_Panel/Products/BasicCMS/manage_main 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 Shared.DC.Scripts.Bindings, line 313, in __call__ Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec Module App.special_dtml, line 178, in _exec Module DocumentTemplate.DT_Let, line 76, in render Module DocumentTemplate.DT_In, line 643, in renderwob Module DocumentTemplate.DT_In, line 771, in sort_sequence Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate Module ZODB.serialize, line 604, in setGhostState Module ZODB.serialize, line 597, in getState Module ZODB.serialize, line 471, in _persistent_load Module ZODB.serialize, line 537, in load_oid Module ZODB.Connection, line 208, in get Module ZClasses._pmc, line 65, in __setattr__ Module ZODB.persistentclass, line 84, in __set__ Module ZODB.Connection, line 749, in setstate Module ZODB.Connection, line 807, in _setstate RuntimeError: maximum recursion depth exceeded greetings, jonas -- "In post-historical society, the rulers have ceased to rule, but the slaves remain slaves." - Perry Anderson
--On 12. Juli 2007 01:02:49 +0200 Jonas Meurer <jonas@freesources.org> wrote:
Hello,
after importing a product from zope 2.6.4 to a 2.10.3 instance, trying to open the product produces quite a lot of errors in my event.log, and a traceback in the zope management interface.
Importing as zexp? If yes, this is unsupported. -aj -- ZOPYX Ltd. & Co. KG - Charlottenstr. 37/1 - 72070 Tübingen - Germany Web: www.zopyx.com - Email: info@zopyx.com - Phone +49 - 7071 - 793376 Registergericht: Amtsgericht Stuttgart, Handelsregister A 381535 Geschäftsführer/Gesellschafter: ZOPYX Limited, Birmingham, UK ------------------------------------------------------------------------ E-Publishing, Python, Zope & Plone development, Consulting
On 7/12/07, Andreas Jung <lists@zopyx.com> wrote:
--On 12. Juli 2007 01:02:49 +0200 Jonas Meurer <jonas@freesources.org> wrote:
Hello,
after importing a product from zope 2.6.4 to a 2.10.3 instance, trying to open the product produces quite a lot of errors in my event.log, and a traceback in the zope management interface.
try 2.10.4. if you're lucky, everything works out ok. else, start looking for something to sacrifice :) either way, not using zclass is the way to go atm -- http://myzope.kedai.com.my - my-zope org
On 12/07/2007 Andreas Jung wrote:
--On 12. Juli 2007 01:02:49 +0200 Jonas Meurer <jonas@freesources.org> wrote:
after importing a product from zope 2.6.4 to a 2.10.3 instance, trying to open the product produces quite a lot of errors in my event.log, and a traceback in the zope management interface.
Importing as zexp? If yes, this is unsupported.
Hello Andreas, Yes, I imported the Product as zexp. Why is that unsupported, and how else may I import it? It doesn't exist in the filesystem hierarchy, as it's a custom Product which was developed in the ZMI. Or is there a save way to export the Product from the 2.6.4 instance to files and then import the files to the 2.10.3 instance? greetings, jonas -- "In post-historical society, the rulers have ceased to rule, but the slaves remain slaves." - Perry Anderson
----- Original Message ----- From: "Jonas Meurer" <jonas@freesources.org> To: "zope-users" <zope@zope.org> Sent: Thursday, July 12, 2007 9:23 AM Subject: Re: [Zope] 2.6 to 2.10 migration: RuntimeError: maximum recursiondepth exceeded
Importing as zexp? If yes, this is unsupported.
Yes, I imported the Product as zexp. Why is that unsupported, and how else may I import it? It doesn't exist in the filesystem hierarchy, as it's a custom Product which was developed in the ZMI.
Or is there a save way to export the Product from the 2.6.4 instance to files and then import the files to the 2.10.3 instance?
Typically Zope 'Products' exist on the filesystem. If you created your product entirely thru the ZMI, then you probably have a ZClass-based product. These type of products can be exported but not directly imported. If you tried to import it you should see a broken product icon in the Control_Panel/Products listing in the ZMI. There is a work-around: you can create an external method which can import the 'exported' zclass product, something like: def importZClass(self): prdDir = self.unrestrictedTraverse('/Control_Panel/Products') prdDir.manage_importObject('something.zexp') return 'done' Note: ZClasses are officially deprecated as of Zope 2.10. They may work or they may not, but they are no longer officially supported. hth Jonathan
--On 12. Juli 2007 15:23:23 +0200 Jonas Meurer <jonas@freesources.org> wrote:
On 12/07/2007 Andreas Jung wrote:
--On 12. Juli 2007 01:02:49 +0200 Jonas Meurer <jonas@freesources.org> wrote:
after importing a product from zope 2.6.4 to a 2.10.3 instance, trying to open the product produces quite a lot of errors in my event.log, and a traceback in the zope management interface.
Importing as zexp? If yes, this is unsupported.
Hello Andreas,
Yes, I imported the Product as zexp. Why is that unsupported, and how else may I import it? It doesn't exist in the filesystem hierarchy, as it's a custom Product which was developed in the ZMI.
Or is there a save way to export the Product from the 2.6.4 instance to files and then import the files to the 2.10.3 instance
.zexp export/import is only supported between identical versions. It's not a migration tool. -aj
On 12/07/2007 Andreas Jung wrote:
after importing a product from zope 2.6.4 to a 2.10.3 instance, trying to open the product produces quite a lot of errors in my event.log, and a traceback in the zope management interface.
Importing as zexp? If yes, this is unsupported.
Yes, I imported the Product as zexp. Why is that unsupported, and how else may I import it? It doesn't exist in the filesystem hierarchy, as it's a custom Product which was developed in the ZMI.
.zexp export/import is only supported between identical versions. It's not a migration tool.
So is there any supported way to migrate a ZClass Product which only exists in the Zope hierarchy? I know that ZClasses are depreciated in zope 2.10 anyway, but still the problem remains for migrations from zope 2.6.4 to 2.9 for example. ... jonas -- "In post-historical society, the rulers have ceased to rule, but the slaves remain slaves." - Perry Anderson
----- Original Message ----- From: "Jonas Meurer" <jonas@freesources.org> To: "zope-users" <zope@zope.org> Sent: Thursday, July 12, 2007 4:12 PM Subject: Re: [Zope] 2.6 to 2.10 migration: RuntimeError: maximum recursiondepth exceeded
So is there any supported way to migrate a ZClass Product which only exists in the Zope hierarchy?
I know that ZClasses are depreciated in zope 2.10 anyway, but still the problem remains for migrations from zope 2.6.4 to 2.9 for example.
As I mentioned previously, export via the ZMI, import via an external method. Jonathan
Jonas Meurer wrote:
On 12/07/2007 Andreas Jung wrote:
after importing a product from zope 2.6.4 to a 2.10.3 instance, trying to open the product produces quite a lot of errors in my event.log, and a traceback in the zope management interface. Importing as zexp? If yes, this is unsupported. Yes, I imported the Product as zexp. Why is that unsupported, and how else may I import it? It doesn't exist in the filesystem hierarchy, as it's a custom Product which was developed in the ZMI. .zexp export/import is only supported between identical versions. It's not a migration tool.
So is there any supported way to migrate a ZClass Product which only exists in the Zope hierarchy?
I know that ZClasses are depreciated in zope 2.10 anyway, but still the problem remains for migrations from zope 2.6.4 to 2.9 for example.
If by "migration" you mean "upgrade", then you do it the same as you would upgrade any other Zope instance: copy the ZODB to an instance of the new software. --jcc -- Connexions http://cnx.org "Building Websites with Plone" http://plonebook.packtpub.com
participants (5)
-
Andreas Jung -
Bakhtiar A Hamid -
J Cameron Cooper -
Jonas Meurer -
Jonathan