seg fault on asscessing undefined attr in __getattr__

Oleg Broytmann phd at phd.fep.ru
Fri May 25 14:27:05 CEST 2001


On Fri, 25 May 2001, Stephen Hansen wrote:
> "Oleg Broytmann" <phd at phd.fep.ru> wrote in message
> news:mailman.990786458.26390.python-list at python.org...
> > On Fri, 25 May 2001, Kong-Jei Kuan wrote:
> > > hi, i am still using python 1.52, and don't know if this happens to
> other
> > > versions, can some verify this?
> > >
> > > Python 1.5.2 (#0, Dec 27 2000, 13:59:38)  [GCC 2.95.2 20000220 (Debian
> GNU/Linux)] on linux2
> > > Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
> > > >>> class A:
> > > ...   def __getattr__(self, name):
> > > ...     self.x
> > > ...
> > > >>> a=A()
> > > >>> a
> > > Segmentation fault
> >
> >    Do you understand you've put your Python into infinite recursion?
>
>     Uh. How is this an infinate recursion? Going strictly by the code above,
> it isn't. 'a' and 'A' are entirely different objects; the former being an

   I think there was a mistyping in the original post, it should be a.x.
Yes, I got "Segmentation fault" with 1.5.2, and "Maximum recursion depth
reached" in 2.0 and 2.1.

Oleg.
----
     Oleg Broytmann            http://phd.pp.ru/            phd at phd.pp.ru
           Programmers don't die, they just GOSUB without RETURN.





More information about the Python-list mailing list