[issue5099] subprocess.POpen.__del__() AttributeError (os module == None!)

Gabriel Genellina report at bugs.python.org
Sat Jan 31 04:58:25 CET 2009

Gabriel Genellina <gagsl-py2 at yahoo.com.ar> added the comment:

At interpreter shutdown, the module's global variables are set to None 
before the module itself is released. __del__ methods may be called in 
those precaries circumstances, and should not rely on any global state.

A temporary fix would be to make Popen._internal_poll and 
Popen._handle_exitstatus keep a reference to the os module (just add a 
default argument os=os, like sys=sys in __del__). But this is just a 
hack; the real fix would be to avoid defining __del__ at all.

A patch for subprocess.py is attached.

components: +Library (Lib)
keywords: +patch
nosy: +gagenellina
Added file: http://bugs.python.org/file12901/subprocess.diff

Python tracker <report at bugs.python.org>

More information about the Python-bugs-list mailing list