[ZODB-Dev] Persistance class problem

Tres Seaver tseaver at palladion.com
Fri Mar 19 04:01:11 EDT 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

rohit wrote:
> I keep getting an error :
> "TypeError: issubclass() arg 1 must be a class"
> 
> On debugging i  found that its due  to the issubclass method being passed a
> nontype object instead of a class.
> During the debugging process i find that the above mentioned error is due to
> the persistance class.The exact message i get is :
> "Unable to get repr for <class 'persistent.mapping.PersistentMapping'>"
> 
> I posted this error last time and was told to provide more info.
> Hope this helps someone crack this.

Your previous traceback was:

> "D:\python\lib\site-packages\zodb3-3.10.0a1-py2.6-win32.egg\ZODB\Connection.py",
> line 245, in get
>     obj = self._reader.getGhost(p)
>   File
> "D:\python\lib\site-packages\zodb3-3.10.0a1-py2.6-win32.egg\ZODB\serialize.py",
> line 576, in getGhost
>     if issubclass(klass, Broken):
> TypeError: issubclass() arg 1 must be a class

which indicates that you have an invalid pickle:  the connection is
trying to create the "ghost" for an object (an empty instance) before
loading its state, but the part of the pickle for the object's class is
not actually a class.

What type of object was the "nontype object" you mentioned above?

Another of things to look at:  Are you loading the data using the exact
same versions of code used to store the data?  If not, then look for
places in the code where a class might have been replaced in the code
with a factory function (or other callable) of the same name.


Tres.
- --
===================================================================
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkujLzoACgkQ+gerLs4ltQ4/RgCdFtJ0YHFP1xT2h3L099L49x3M
HVUAoMyWY6+duWcr13SdwYoHbj1rmfGT
=j/2+
-----END PGP SIGNATURE-----



More information about the ZODB-Dev mailing list