[Zope] big problem when upgrading from2.5.1 to 2.6.1

Jerome Alet alet@librelogiciel.com
Tue, 8 Apr 2003 18:35:13 +0200


--lrZ03NoBR/3+SXJZ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi,

After having upgraded from Debian's Zope 2.5.1 to 2.6.1
we encounter a very big problem with some ZClasses of us.

As soon as we try to go to the control panel and see
our TTW product's content, we've got a traceback like the
one attached to this message. It seems that some module's
docstrings appear on the stack...

I've googled a bit, and found that other people encountered
a similar problem when upgrading, but I didn't find any answer.

Is this problem known ?

Any hint ? (Except doing away completely with ZClasses, which
I'm already convinced of)

Do you think I can downgrade to 2.5.1 without loosing anything ?
(I haven't touched anything yet, doing a backup excepted)

Thanks in advance.

Jerome Alet

--lrZ03NoBR/3+SXJZ
Content-Type: text/html; charset=us-ascii
Content-Disposition: attachment; filename="tb.html"
Content-Transfer-Encoding: quoted-printable

Traceback (innermost last):
  Module ZPublisher.Publish, line 98, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 39, in call_object
  Module Shared.DC.Scripts.Bindings, line 252, in __call__
  Module Shared.DC.Scripts.Bindings, line 283, in _bindAndExec
  Module App.special_dtml, line 174, in _exec
  Module DocumentTemplate.DT_In, line 645, in renderwob
  Module DocumentTemplate.DT_In, line 773, in sort_sequence
  Module ZODB.Connection, line 534, in setstate
  Module ZODB.Connection, line 192, in _persistent_load
   - __traceback_info__: =00=00=00=00=00=00J=08
  Module ZODB.Connection, line 131, in __getitem__
   - __traceback_info__: ('\x00\x00\x00\x00\x00\x00J\x08', '(cExtensionClas=
s\nExtensionClass\nq\x01(U\x0bZDLSequenceq\x02(cZClasses.ZClass\nPersistent=
Class\nq\x03cProducts.ZCatalog.CatalogAwareness\nCatalogAware\nq\x04cZClass=
es.ObjectManager\nObjectManager\nq\x05cOFS.SimpleItem\nSimpleItem\nq\x06tq\=
x07}q\x08(U\x04iconq\tU\x00U\n_p_changedq\nK\x01U\x14isPrincipiaFolderishq\=
x0bU\x01YU\x12__ac_permissions__q\x0c((U\x10Add ZDLSequencesq\r)(U\x07Manag=
erq\x0etttq\x0fU\x14_v_manage_path_rolesq\x10U\x17ZDLProducts/ZDLSequenceq\=
x11U\x11Sequence_suivanteq\x12(U\x08\x00\x00\x00\x00\x00\x00Q\x07q\x13(U\x0=
fZClasses.Methodq\x14U\x03MWpq\x15ttQU\rSequence_prevq\x16(U\x08\x00\x00\x0=
0\x00\x00\x00x\x84q\x17(h\x14U\x03MWpq\x18ttQU\tmeta_typeq\x19U\x0bZDLSeque=
nceq\x1aU\nmeta_typesq\x1b(}q\x1c(U\npermissionq\x1dU\x0cAdd ZDLItemsq\x1eU=
\x04nameq\x1fU\x07ZDLItemq U\x07productq!U\x0bZDLProductsq"U\x06actionq#U-m=
anage_addProduct/ZDLProducts/ZDLItem_factoryq$u}q%(U\npermissionq&U\x0cAdd =
ZDLFilesq\'U\x04nameq(U\x07ZDLFileq)U\x07productq*U\x0bZDLProductsq+U\x06ac=
tionq,U-manage_addProduct/ZDLProducts/ZDLFile_factoryq-u}q.(U\npermissionq/=
U\rAdd ZDLSmilesq0U\x04nameq1U\x08ZDLSmileq2U\x07productq3U\x0bZDLProductsq=
4U\x06actionq5U.manage_addProduct/ZDLProducts/ZDLSmile_factoryq6u}q7(U\nvis=
ibilityq8U\x06Globalq9U\ninterfacesq:]q;(cInterface.iclass\nInterface\nq<oq=
=3D}q>(U\x11_Interface__attrsq?}q@(U\nwl_getLockqA(cInterface.Method\nMetho=
d\nqBo}qC(U\x07__doc__qDU6 Returns the locktoken identified by the locktoke=
nuri qEU\x08optionalqF}qGU\x08requiredqH(U\tlocktokenqItqJU\x08__name__qKU\=
nwl_getLockqLU\tinterfaceqMU\x12WriteLockInterfaceqNU\x07varargsqONU\x06kwa=
rgsqPNU\npositionalqQhJubU\rwl_lockValuesqR(hBo}qS(hDU_ Returns a sequence =
of locks.  if \'killinvalids\' is true,\n        invalid locks will be dele=
tedqThF}qUU\x0ckillinvalidsqVK\x00shH)hKU\rwl_lockValuesqWhMhNhONhPNhQ(hVtu=
bU\rwl_lockTokensqX(hBo}qY(hDUe Returns a sequence of lock tokens.  if \'ki=
llinvalids\' is true,\n        invalid locks will be deletedqZhF}q[hVK\x00s=
hH)hKU\rwl_lockTokensq\\hMhNhONhPNhQ(hVtubU\nwl_hasLockq](hBo}q^(hDUU Retur=
ns true if the lock identified by the token is attached\n        to the obj=
ect. q_hF}q`hVK\x00shH(U\x05tokenqathKU\nwl_hasLockqbhMhNhONhPNhQ(hahVtubU\=
x0bwl_isLockedqc(hBo}qd(hDUh Returns true if \'self\' is locked at all.  If=
 invalid locks\n        still exist, they should be deleted.qehF}qfhH)hKU\x=
0bwl_isLockedqghMhNhONhPNhQ)ubU\nwl_setLockqh(hBo}qi(hDU\xef Store the Lock=
Item, \'lock\'.  The locktoken will be used to fetch\n        and delete th=
e lock.  If the lock exists, this MUST\n        overwrite it if all of the =
values except for the \'timeout\' on the\n        old and new lock are the =
same. qjhF}qkhH(hIU\x04lockqltqmhKU\nwl_setLockqnhMhNhONhPNhQhmubU\rwl_clea=
rLocksqo(hBo}qp(hDUc Deletes ALL DAV locks on the object - should only be c=
alled\n        by lock management machinery. qqhF}qrhH)hKU\rwl_clearLocksqs=
hMhNhONhPNhQ)ubU\x0cwl_lockItemsqt(hBo}qu(hDU\xa1 Returns (key, value) pair=
s of locktoken, lock.\n\n        if \'killinvalids\' is true, invalid locks=
 (locks whose timeout\n        has been exceeded) will be deletedqvhF}qwhVK=
\x00shH)hKU\x0cwl_lockItemsqxhMhNhONhPNhQ(hVtubU\nwl_delLockqy(hBo}qz(hDU6 =
Deletes the locktoken identified by the locktokenuri q{hF}q|hH(hItq}hKU\nwl=
_delLockq~hMhNhONhPNhQh}ubuhDT\xd6\x03\x00\x00    This represents the basic=
 protocol needed to support the write lock\n    machinery.\n\n    It must b=
e able to answer the questions:\n\n     o Is the object locked?\n\n     o I=
s the lock owned by the current user?\n\n     o What lock tokens are associ=
ated with the current object?\n\n     o What is their state (how long until=
 they\'re supposed to time out?,\n       what is their depth?  what type ar=
e they?\n\n    And it must be able to do the following:\n\n     o Grant a w=
rite lock on the object to a specified user.\n\n       - *If lock depth is =
infinite, this must also grant locks on **all**\n         subobjects, or fa=
il altogether*\n\n     o Revoke a lock on the object.\n\n       - *If lock =
depth is infinite, this must also revoke locks on all\n         subobjects*=
\n\n    **All methods in the WriteLock interface that deal with checking va=
lid\n    locks MUST check the timeout values on the lockitem (ie, by callin=
g\n    \'lockitem.isValid()\'), and DELETE the lock if it is no longer vali=
d**\n\n    q\x7fU\t__bases__q\x80((h<oq\x81}q\x82(h?}q\x83hDU\x00h\x80)hKU\=
tInterfaceq\x84ubthKhNubaU\x06actionq\x85U manage_addProduct/OFSP/methodAdd=
q\x86U\npermissionq\x87U Add Documents, Images, and Filesq\x88U\x04nameq\x8=
9U\x0bDTML Methodq\x8aU\x07productq\x8bU\x04OFSPq\x8cU\x08instanceq\x8dcOFS=
=2EDTMLMethod\nDTMLMethod\nq\x8eu}q\x8f(h8h9h:]q\x90h=3Dah\x85U\x1fmanage_a=
ddProduct/OFSP/imageAddq\x91h\x87h\x88h\x89U\x05Imageq\x92h\x8bh\x8ch\x8dcO=
FS.Image\nImage\nq\x93u}q\x94(h8h9h:]q\x95(h=3D(h<oq\x96}q\x97(h?}q\x98hDT\=
xdb\x01\x00\x00Objects implementing this Interface support the HTTP Range h=
eader.\n\n    Objects implementing support for the HTTP Range header will r=
eturn partial\n    content as specified in RFC 2616. Note that the\'If-Rang=
e\' header must\n    either be implemented correctly or result in a normal =
\'200 OK\' response at\n    all times.\n\n    This interface specifies no m=
ethods, as this functionality can either be\n    implemented in the index_h=
tml or __call__ methods of a published object.\n\n    q\x99h\x80(h\x81thKU\=
x12HTTPRangeInterfaceq\x9aubeh\x85U\x1emanage_addProduct/OFSP/fileAddq\x9bh=
\x87h\x88h\x89U\x04Fileq\x9ch\x8bh\x8ch\x8dcOFS.Image\nFile\nq\x9du}q\x9e(h=
8h9h:]q\x9fh=3Dah\x85U manage_addProduct/OFSP/folderAddq\xa0h\x87U\x0bAdd F=
oldersq\xa1h\x89U\x06Folderq\xa2h\x8bh\x8ch\x8dcOFS.Folder\nFolder\nq\xa3ut=
q\xa4U\x0epropertysheetsq\xa5U\x08\x00\x00\x00\x00\x00\x00J\rq\xa6QU\nindex=
_htmlq\xa7(U\x08\x00\x00\x00\x00\x00\x00O\xabq\xa8(h\x14U\x03MWpq\xa9ttQU\x=
0cSequence_endq\xaa(U\x08\x00\x00\x00\x00\x00\x00O\x89q\xab(h\x14U\x03MWpq\=
xacttQU\x0emanage_optionsq\xad(}q\xae(U\x05labelq\xafU\x08Contentsq\xb0U\x0=
6actionq\xb1U\x0bmanage_mainq\xb2u}q\xb3(U\x05labelq\xb4U\nPropertiesq\xb5U=
\x06actionq\xb6U)propertysheets/ZDLSequenceIdentity/manageq\xb7u}q\xb8(h\xb=
4U\townershipq\xb9h\xb6U\x0cmanage_ownerq\xbau}q\xbb(h\xb4U\x08Securityq\xb=
ch\xb6U\rmanage_accessq\xbdu}q\xbe(h\xb4U\x04Undoq\xbfh\xb6U\x0fmanage_Undo=
Formq\xc0utq\xc1U\x05countq\xc2K\x00U\x05Titleq\xc3U\x00U\x06_p_oidq\xc4U\x=
08\x00\x00\x00\x00\x00\x00J\x08q\xc5U\t_p_serialq\xc6U\x08\x03F\xf2\t\x86\x=
dah\x08q\xc7U\x07__doc__q\xc8U\x13sequence d\'un coursq\xc9U\n__module__q\x=
caU\x19*zN2cUO5E0IsAiNXZj+bFSQ=3D=3Dq\xcbU\rSequence_nextq\xcc(U\x08\x00\x0=
0\x00\x00\x00\x00Owq\xcd(h\x14U\x03MWpq\xcettQutq\xcft.N.')
Could not load oid =00=00=00=00=00=00J=08, pickled data in traceback info m=
ay            contain clues

--lrZ03NoBR/3+SXJZ--