upgrading from Zope2.5 to Zope2.6 - ZClasses broken?
I'm upgrading from Zope2.5ish to Zope2.6.2 at the moment. Attempting to start up, I'm getting a bunch of errors like: 2003-07-24T09:30:31 ERROR(200) ZODB Couldn't load state for '\x00\x00\x00\x00\x00\x00\x00\x97' Traceback (innermost last): File /export/01/zope/beta_ekit_code/lib/python/ZODB/Connection.py, line 551, in setstate File /export/01/zope/beta_ekit_code/lib/python/ZODB/Connection.py, line 587, in _set_ghost_state File /export/01/zope/beta_ekit_code/lib/python/ZODB/Connection.py, line 209, in _persistent_load (Info: ) File /export/01/zope/beta_ekit_code/lib/python/ZODB/Connection.py, line 148, in __getitem__ (Info: ('\x00\x00\x00\x00\x00\x00\x04\x92', '(cExtensionClass\nExtensionClass\nq\x01(U\x12ekitClassOfServiceq\x02(cZClasses.ZClass\nPersistentClass\nq\x03cZClasses.ObjectManager\nObjectManager\nq\x04cProducts.ZCatalog.ZCatalog\nZCatalog\nq\x05cOFS.SimpleItem\nSimpleItem\nq\x06tq\x07}q\x08(U\x07cosNameq\tU\x00U\n_p_changedq\nK\x01U\x07__doc__q\x0bU\x15ekit Class Of Serviceq\x0cU\x0efeatureClassesq\r]q\x0eU\x10findFeatureClassq\x0f(U\x08\x00\x00\x00\x00\x00\x0b\xc8\xdcq\x10(U\x0fZClasses.Methodq\x11U\x03MWpq\x12ttQU\x14_v_manage_path_rolesq\x13U\x00U\x06_p_oidq\x14U\x08\x00\x00\x00\x00\x00\x00\x04\x92q\x15U\x0cCOS_find_allq\x16cZClasses.Method\nMW\nq\x17NRq\x18}q\x19U$_ZClassMethodPermissionMapperMethod_q\x1a(U\x08\x00\x00\x00\x00\x00\x00\x057q\x1b(U\x0eOFS.DTMLMethodq\x1cU\nDTMLMethodq\x1dttQsbU\tmeta_typeq\x1eU\x15ekit Class Of Serviceq\x1fU\x0epropertysheetsq U\x08\x00\x00\x00\x00\x00\x00\x04\x93q!QU\x14isPrincipiaFolderishq"U\x01YU\x12__ac_permissions__q#)U\x04iconq$UGC ontrol_Panel/Products/ekitClassOfService/ekitClassOfService/ziconImageq%U\t_p_serialq&U\x08\x03F\xad\x83\r)\xa0Uq\'U\x0clistFeaturesq((U\x08\x00\x00\x00\x00\x00\n\xcf\x15q)(h\x11U\x03MWpq*ttQU\x12listFeatureClassesq+(U\x08\x00\x00\x00\x00\x00\n\xce\x98q,(h\x11U\x03MWpq-ttQU\nmeta_typesq.(}q/(U\npermissionq0U\x11Edit ekit Partnerq1U\x04nameq2U\x15ekitPartnerHTMLFolderq3U\x07productq4U\x0bekitPartnerq5U\x06actionq6U;manage_addProduct/ekitPartner/ekitPartnerHTMLFolder_factoryq7u}q8(h0U\x11Edit ekit Partnerq9h2U\x17ekitPartnerImagesFolderq:h4h5h6U=manage_addProduct/ekitPartner/ekitPartnerImagesFolder_factoryq;u}q<(U\npermissionq=U\x16Add ekitCOSMenuFoldersq>U\x04nameq?U\x11ekitCOSMenuFolderq@U\x07productqAU\x12ekitClassOfServiceqBU\x06actionqCU>manage_addProduct/ekitClassOfService/ekitCOSMenuFolder_factoryqDu}qE(U\npermissionqFU\x10Add ekitPartnersqGU\x04nameqHU\x17ekitPartnerScriptFolderqIU\x07productqJU\x0bekitPartnerqKU\x06actionqLU=manage_addProduct/ekitPartner/ekitPartnerSc riptFolder_factoryqMu}qN(U\npermissionqOU\x0bAdd FoldersqPU\x04nameqQU\x10MLDTML ContainerqRU\x07productqSU\rMLDTML_ZClassqTU\x06actionqUU7manage_addProduct/MLDTML_ZClass/MLDTMLContainer_factoryqVu}qW(hOU\x15Add MLDTML ContainersqXhQU\x1dUpgrade Folder to MLContainerqYhShThUU>manage_addProduct/MLDTML_ZClass/MLDTMLContainer_upgradeFactoryqZu}q[(U\nvisibilityq\\U\x06Globalq]U\ninterfacesq^]q_(cInterface.iclass\nInterface\nq`oqa}qb(U\x11_Interface__attrsqc}qd(U\nhttp__etagqe(cInterface.Method\nMethod\nqfo}qg(U\x07__doc__qhT:\x03\x00\x00 Entity tags are used for comparing two or more entities from\n the same requested resource. Predominantly used for Caching,\n Etags can also be used to deal with the \'Lost Updates Problem\'.\n An HTTP Client such as Amaya that supports PUT for editing can\n use the Etag value returned in the head of a GET response in the\n \'if-match\' header submitted with a PUT request. If the Etag\n for the requested resource in the PUT request\'s \'if-match\' header\n is different from the current Etag value returned by this method,\n the PUT will fail (it means that the state of the resource has\n changed since the last copy the Client recieved) because the\n precondition (the \'if-match\') fails (the submitted Etag does not\n match the current Etag).\n qiU\x08optionalqj}qkU\x08requiredql)U\x08__name__qmU\nhttp__etagqnU\tinterfaceqoU\x11EtagBaseInterfaceqpU\x07varargsqqNU\x06kwargsqrNU\npositionalqs)ubU\x11http__refreshEtagqt(hfo}qu(hhT\x17\x02\x00\x00 While it may make sense to use the ZODB Object Id or\n bobobase_modification_time to generate an Etag, this could\n fail on certain REQUESTS because:\n\n o The object is not stored in the ZODB, or\n\n o A Request such as PUT changes the oid or bobobase_modification_time\n *AFTER* the Response has been written out, but the Etag needs\n to be updated and returned with the Response of the PUT request.\n\n Thus, Etags need to be refreshed manually when an object changes.\n qvhj}qwhl)hmU\x11http__refreshEtagqxhohphqNhrNhs)ubuhhU\x8f Basic Etag support interface, meaning the object supports generating\n an Etag that can be used by certain HTTP and WebDAV Requests.\n qyU\t__bases__qz((h`oq{}q|(hc}q}hhU\x00hz)hmU\tInterfaceq~ubthmhpubaU\x06actionq\x7fU/manage_addProduct/ColourDefinitions/add_coloursq\x80U\npermissionq\x81U\x16Add ColourDefinitionssq\x82U\x04nameq\x83U\x11ColourDefinitionsq\x84U\x07productq\x85U\x11ColourDefinitionsq\x86U\x08instanceq\x87cProducts.ColourDefinitions.ColourDefinitions\nColourDefinitions\nq\x88utq\x89U\nsidebar_idq\x8aU\x00U\x0emanage_optionsq\x8b(}q\x8c(U\x05labelq\x8dU\x08Contentsq\x8eU\x06actionq\x8fU\x0bmanage_mainq\x90u}q\x91(h\x8dU\tcatStatusq\x92h\x8fU\x14manage_catalogStatusq\x93u}q\x94(h\x8dU\x07catFindq\x95h\x8fU\x12manage_catalogFindq\x96u}q\x97 (h\x8dU\ncatIndexesq\x98h\x8fU\x15manage_catalogIndexesq\x99u}q\x9a(h\x8dU\tcatSchemaq\x9bh\x8fU\x14manage_catalogSchemaq\x9cu}q\x9d(h\x8dU\x07catViewq\x9eh\x8fU\x12manage_catalogViewq\x9fu}q\xa0(U\x05labelq\xa1U\x05propsq\xa2U\x06actionq\xa3U\x1bpropertysheets/Basic/manageq\xa4u}q\xa5(U\x05labelq\xa6U\x04Undoq\xa7U\x06actionq\xa8U\x0fmanage_UndoFormq\xa9utq\xaaU\nziconImageq\xab(U\x08\x00\x00\x00\x00\x00\x00\x08\xd5q\xac(U\tOFS.Imageq\xadU\x05Imageq\xaettQU\n__module__q\xafU\x19*DcZsd16v0GINW4Q0bKwS+Q==q\xb0utq\xb1t.N.')) Could not load oid , pickled data in traceback info may contain clues ------ 2003-07-24T09:30:31 PROBLEM(100) ZODB Could not import class 'ekitFeatureClassManager' from module '*WOt2TN01Xz9xcOmSiE3GXg==' The "may contain clues" line is a nice touch. It _may_ indeed contain clues, but I'm stuffed if I can see what they might be... Anyone? Anthony
Anthony Baxter wrote at 2003-7-24 09:33 +0000:
I'm upgrading from Zope2.5ish to Zope2.6.2 at the moment. Attempting to start up, I'm getting a bunch of errors like: ... ------ 2003-07-24T09:30:31 PROBLEM(100) ZODB Could not import class 'ekitFeatureClassManager' from module '*WOt2TN01Xz9xcOmSiE3GXg==' ... No error message. Error type: ImportError Error value: No module named iclass ...
This is an incompatiblity between ZClasses deriving from "ObjectManager" and the new Zope 2.6.1. Please search the mailing list archives. There is a thread detailing this problem and how to work around it. Dieter
Dieter Maurer wrote This is an incompatiblity between ZClasses deriving from "ObjectManager" and the new Zope 2.6.1.
Please search the mailing list archives. There is a thread detailing this problem and how to work around it.
I've made a change to both the 2.6 and HEAD of the Zope CVS to implement a workaround for this that doesn't involve editing all my zclasses twice ;) This fix should be in the next(?) 2.6.2 beta. Anthony -- Anthony Baxter <anthony@interlink.com.au> It's never too late to have a happy childhood.
participants (2)
-
Anthony Baxter -
Dieter Maurer