There is a bug somewhere in the shutdown routines. It looks like the assumption is that info() exists and is callable, and sometimes on 2.6 at least it isnt always a safe bet to make.
https://travis-ci.org/wikimedia/pywikibot-core/jobs/39409037
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/opt/python/2.6.9/lib/python2.6/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)
File "/opt/python/2.6.9/lib/python2.6/multiprocessing/util.py", line 258, in _exit_function
info('process shutting down')
TypeError: 'NoneType' object is not callable
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/opt/python/2.6.9/lib/python2.6/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)
File "/opt/python/2.6.9/lib/python2.6/multiprocessing/util.py", line 258, in _exit_function
info('process shutting down')
TypeError: 'NoneType' object is not callable
Error in sys.exitfunc:
Traceback (most recent call last):
File "/opt/python/2.6.9/lib/python2.6/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)
File "/opt/python/2.6.9/lib/python2.6/multiprocessing/util.py", line 258, in _exit_function
info('process shutting down')
TypeError: 'NoneType' object is not callableVersion: core-(2.0)
Severity: minor
URL: https://www.google.com/search?q=%22_run_exitfuncs%22+%22process%20shutting%20down%22+site%3Atravis-ci.org