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

John D. Heintz jheintz@isogen.com
Tue, 06 Feb 2001 14:00:16 -0600


Jim,

I think that the patch you already included from bug #1884 fixes this 
bug #1783.

Can you be more specific about the problems with __call_method__?

I'm afraid we are pretty dependent on it now, and while we could change 
our implementation to avoid it, I'd rather put the time into fixing it.

What bugs in the Collector document the problems?  My searches for 
ExtensionClass and __call_method__ didn't turn up much.

Thanks,
John

Jim Fulton wrote:

> 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
> 
> _______________________________________________
> Bug reports, feature requests, etc. go in the ZEO Tracker:
> http://www.zope.org/Products/ZEO/Tracker
> 
> Conversations etc. can take place in the Wiki:
> http://www.zope.org/Products/ZEO/Wiki
> 
> Zope-ZEO maillist  -  Zope-ZEO@zope.org
> http://lists.zope.org/mailman/listinfo/zope-zeo



-- 
. . . . . . . . . . . . . . . . . . . . . . . .

John D. Heintz | Senior Engineer

1016 La Posada Dr. | Suite 240 | Austin TX 78752
T 512.633.1198 | jheintz@isogen.com

w w w . d a t a c h a n n e l . c o m