The issue arise only with loaded pickled object. Otherwise IronPython
behave normally.
In fact I believe it is the zlib library that at decompression does
not return something that match exactly the correct model.

(ipy=IronPython)
If I do a server in py2.7 and a client py2.7, it works fine.
If I do a server in py2.7 and a client ipy2.6, it works fine.
If I do a server in ipy2.6 and a client py2.7, it goes through
__getattribute__.
If I do a server in ipy2.6 and a client ipy2.6, it goes through
__getattribute__.

It would need more investigation to isolate the issue. But it's not
like jdhardy's library ( the zlib library for IronPython -
https://bitbucket.org/jdhardy/ironpythonzlib ) as no known issue.

On Mar 12, 5:08 am, Alex Grönholm <[email protected]> wrote:
> 12.03.2011 10:37, Tomer Filiba kirjoitti:> not on special (slot) methods, 
> alex. slot methods are contained inside
> > the type for efficiency, their invocation does not go through
> > __getattr__/__getattribute__.
>
> Which is exactly what the docs I linked to say. I was being too broad
> when I said that "all" attribute access goes through it. If IronPython
> does things differently, it is deviating from the spec.
>
>
>
>
>
>
>
> > consider this code:
>
> > >>> class C(object):
> > ...     def __getattribute__(self, x):
> > ...             return 17
> > ...     def __str__(self):
> > ...             return "hello"
> > ...
> > >>> x=C()
> > >>> str(x)
> > 'hello'
> > >>> x.__str__
> > 17
>
> > it seems ironpython has a different object model.
>
> > jerome -- thank you very much for the fix :)
>
> > -tomer
>
> > An NCO and a Gentleman
>
> > 2011/3/12 Alex Grönholm <[email protected]
> > <mailto:[email protected]>>
>
> >     12.03.2011 08:04, delattj kirjoitti:
>
> >         I got it working with this fix:
> >        
> > https://github.com/delattj/rpyc/commit/5d2fd956e550eb177e708aa0646382...
>
> >         But I don't get it... :/
> >         Seems __call__ goes through the __getattribute__ method in
> >         IronPython.
>
> >     What's strange about that? __getattribute__ is called on all
> >     attribute access -- that is how it's documented here:
> >    http://docs.python.org/reference/datamodel.html#object.__getattribute__

Reply via email to