On bug #754449 I suspected something was being set to None by a person's app and ended up writing a trace function to catch when that happened. Time then stepped in and pointed out that the OP said when Python was shutting down and that globals are set to None during tear down which would explain the behavior. He suggested I move this over to python-dev. So, what exactly does Python do during shutdown? I assume all objects get cleaned up and have their __del__ methods called if they have them. Tim mentioned in the patch that Python "systematically sets module-global bindings to None". So I assume this means that referencing *any* globals during shutdown just doesn't work since it might be None (which makes sense in the case of this bug report). Is there any specific order to this teardown? I remember Tim saying that in __del__ methods you had to have locally bound anything you needed to call since otherwise it could be gone when you need it. Any words of wisdom here would be greatly appreciated. -Brett
participants (3)
-
Aahz
-
Brett C.
-
martin@v.loewis.de