Richard Oudkerk added the comment:

Thanks for the doc cleanup -- I am rather busy right now.

Note that stuff does still get replaced by None at shutdown, and this can still 
produce errors, even if they are much harder to trigger.  If I run the 
following program

    import _weakref
    import collections

    a = "hello"

    class Foo(object):
        def __del__(self):
            print(a)

    collections.foo = Foo()
    _weakref.foo = Foo()

then depending on the initial hashseed I get a reproducible error:

    $ PYTHONHASHSEED=7 python-release /tmp/bad.py
    Exception ignored in: <bound method Foo.__del__ of <__main__.Foo object at 
0xb733db8c>>
    Traceback (most recent call last):
      File "/tmp/bad.py", line 8, in __del__
    TypeError: 'NoneType' object is not callable

(Personally I would like to see a flag set late during shutdown which blocks 
__del__ methods from running.)

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue19047>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to