[issue15881] multiprocessing 'NoneType' object is not callable
Chris McDonough
report at bugs.python.org
Fri Sep 7 20:56:40 CEST 2012
New submission from Chris McDonough:
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.
----------
components: Library (Lib)
messages: 170003
nosy: mcdonc
priority: normal
severity: normal
status: open
title: multiprocessing 'NoneType' object is not callable
type: behavior
versions: Python 2.6, Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.4
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue15881>
_______________________________________
More information about the Python-bugs-list
mailing list