Guido van Rossum writes: > > > Please try this again on various platforms with this version: > > > > > > i = 0 > > > class C: > > > def __getattr__(self, name): > > > global i > > > print i > > > i += 1 > > > return self.name # common beginners' mistake > > > > > > C() # This tries to get __init__, triggering the recursion > > > > > > I get 5788 iterations on Red Hat Linux 6.2 (ulimit -c says 8192; I > > > have no idea what units). I get a core dump after 4824 iterations on a not-quite-Red-Hat box, with an 8MB stack limit. What about the idea that was suggested to use a sigsegv catcher? Or reading info from /proc (yes, there is a lot of overhead here, but if we do in infrequently enough we might just get away with it. It could be a configure-time option disable by default). I still think there are even more tricks possible here, and we should pursue this after 2.0b1. I volunteer to help work on it ;-)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4