[Zope-ZEO] Has any progress been made on Bug 1783?

Jim Fulton jim@digicool.com
Mon, 22 Jan 2001 11:17:50 -0500


Hi,

I haven't seen this bug. Unfortunately, __call_method__ handling is
broken in other ways (it leaks. :() . The implementation of it is pretty
hairy.  I recommend avoiding it for now.  I won't have time to look at this
any time soon. Sorry. Patches accepted. ;)

Jim


"John D. Heintz" wrote:
> 
> Hello all,
> 
> We are having increasing problems with __call_method__ hook interfering
> with other methods from Persistent.
> 
> The class below is an example of what causes the problem.  Any call to
> __getstate__() on a T2 object will be hooked through the __call_method__().
> 
> class T2(Persistent):
> def __getstate__(self):
> return Persistent.__getstate__(self)
> 
> def __call_method__(self, method, methArgs, kwArgs = {}):
> return apply(method, methArgs, kwArgs)
> 
> Pickling this class results in the following problem:
> <fragment of traceback>
> return apply(method, methArgs, kwArgs)
> TypeError: function requires exactly 0 arguments; 1 given
> 
> I don't have a fix for it, but it seems to be a problem related to
> newCMethod() from ExtensionClass.c building something that doesn't play
> nicely with the python apply machinery for CMethods.


--
Jim Fulton           mailto:jim@digicool.com   Python Powered!        
Technical Director   (888) 344-4332            http://www.python.org  
Digital Creations    http://www.digicool.com   http://www.zope.org