"Tim Peters" <tim at zope.com> writes: >> When trying to debug this in Zope 3, I similarly noticed that prints >> in the weakref callback produced no output. > > I'm not sure this one's worth pursuing. Your problem occurred during the > second call to gc in finalization, and the sys module has been gutted by > that point. In particular, sys.stdout has been cleared, so a print > statement can't work then. The only mystery to me wrt this is why it didn't > raise an exception, like the > >>> Exception exceptions.AttributeError: "'NoneType' object has no attribute >>> 'write'" in <function <lambda> at 0x006B6C70> ignored > > raised when calling that little program with "sys" instead of "__builtin__". Perhaps because sys.stderr has also been cleared? Python 2.3.2 (#2, Oct 6 2003, 19:39:48) [GCC 3.3.2 20030908 (Debian prerelease)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> class C(object): ... def __del__(self): ... print "__del__" ... >>> import sys >>> sys.stdout = None >>> c = C() >>> del c Exception exceptions.AttributeError: "'NoneType' object has no attribute 'write'" in <bound method C.__del__ of <__main__.C object at 0x30074fb0>> ignored >>> sys.stderr = None >>> c = C() >>> del c >>> Bernhard -- Intevation GmbH http://intevation.de/ Sketch http://sketch.sourceforge.net/ Thuban http://thuban.intevation.org/
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