homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author mcdonc
Recipients mcdonc
Date 2012年09月07日.18:56:38
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1347044200.13.0.235512745295.issue15881@psf.upfronthosting.co.za>
In-reply-to
Content
The symptom is an exact duplicate of the symptom reported in the following (closed) issue:
http://bugs.python.org/issue9775
The issue is also related to the following other issues:
http://bugs.python.org/issue4106
http://bugs.python.org/issue9205
http://bugs.python.org/issue9207
To reproduce the symptom driving the patches that will be attached to this issue:
 git clone git://github.com/pypa/pip.git
 cd pip
 /any/python setup.py dev
 /any/python setup.py test
You can either wait for the entire test suite to finish or you can press ctrl-C at any time (the tests take a long time). In either case, a traceback like the following will be printed to the console.
 Error in atexit._run_exitfuncs:
 Traceback (most recent call last):
 File "/home/chrism/opt/Python-2.7.3/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
 func(*targs, **kargs)
 File "/home/chrism/opt/Python-2.7.3/lib/python2.7/multiprocessing/util.py", line 284, in _exit_function
 info('process shutting down')
 TypeError: 'NoneType' object is not callable
 Error in sys.exitfunc:
 Traceback (most recent call last):
 File "/home/chrism/opt/Python-2.7.3/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
 func(*targs, **kargs)
 File "/home/chrism/opt/Python-2.7.3/lib/python2.7/multiprocessing/util.py", line 284, in _exit_function
 info('process shutting down')
 TypeError: 'NoneType' object is not callable
From what I understand in other issues, multiprocessing.util._exit_function shouldn't actually be called *after* the containing module's globals are destroyed (it should be called before), but this does indeed happen.
Patches will be attached that anticipate the symptom and prevent a shutdown error. One will be attached for Python 2.7 branch, the other for the Python tip. Each causes functions that are called at shutdown time to keep a reference around to other functions and globals used within the function, and each does some checks for the insane state and prevents an error from happening in this insane state.
History
Date User Action Args
2012年09月07日 18:56:40mcdoncsetrecipients: + mcdonc
2012年09月07日 18:56:40mcdoncsetmessageid: <1347044200.13.0.235512745295.issue15881@psf.upfronthosting.co.za>
2012年09月07日 18:56:39mcdonclinkissue15881 messages
2012年09月07日 18:56:38mcdonccreate

AltStyle によって変換されたページ (->オリジナル) /