[Distutils] distribute traceback

Jesse Noller jnoller at gmail.com
Thu Nov 19 12:51:38 CET 2009



On Nov 19, 2009, at 12:57 AM, Tarek Ziadé <ziade.tarek at gmail.com>  
wrote:

> On Thu, Nov 19, 2009 at 3:13 AM, Neal Becker <ndbecker2 at gmail.com>  
> wrote:
>> sudo easy_install -U openopt
>> Processing openopt
>> Running OOPy/setup.py -q bdist_egg --dist-dir
>> /home/nbecker/openopt/OOPy/egg-dist-tmp-fTMbRS
>> Adding openopt 0.24.dev to easy-install.pth file
>>
>> Installed /usr/lib/python2.6/site-packages/openopt-0.24.dev-py2.6.egg
>> Processing dependencies for openopt==0.24.dev
>> Finished processing dependencies for openopt==0.24.dev
>> Error in atexit._run_exitfuncs:
>> Traceback (most recent call last):
>>  File "/usr/lib64/python2.6/atexit.py", line 24, in _run_exitfuncs
>>    func(*targs, **kargs)
>>  File "/usr/lib64/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 "/usr/lib64/python2.6/atexit.py", line 24, in _run_exitfuncs
>>    func(*targs, **kargs)
>>  File "/usr/lib64/python2.6/multiprocessing/util.py", line 258, in
>> _exit_function
>>    info('process shutting down')
>> TypeError: 'NoneType' object is not callable
>>
>> At least, I think it's distribute (I just did update fedora 11->12,  
>> so maybe
>> something got screwed up).  I did
>> easy_install -U distribute after the update.
>> sudo easy_install -U distribute
>> Searching for distribute
>> Reading http://pypi.python.org/simple/distribute/
>> Reading http://packages.python.org/distribute
>> Best match: distribute 0.6.8
>> Processing distribute-0.6.8-py2.6.egg
>> distribute 0.6.8 is already the active version in easy-install.pth
>> Installing easy_install script to /usr/bin
>> Installing easy_install-2.6 script to /usr/bin
>>
>> Using /usr/lib/python2.6/site-packages/distribute-0.6.8-py2.6.egg
>> Processing dependencies for distribute
>> Finished processing dependencies for distribute
>>
>
>
> That's a known bug in multiprocessing apparently,
>
> http://bugs.python.org/issue4106
>
> I am not sure why it's triggered in Distribute, but it happens when
> the garbage collector has staretd to remove some refs. Notice that the
> work is over, and everything is installed.
>
> I am not sure we can do something clean on Distribute side until it's
> fixed in Python,
>
> Can you reproduce this problem *everytime* ?
>
> Regards,
> Tarek
>
> ps: I am putting Jesse in the loop, he might have an idea

No - I don't. And while the error may look similiar to that bug, I  
think that's a red herring.

I have no idea why installing distribute - or any other third party  
module would trigger a bug in a different module in the stdlib, unless  
the module being installed was actively using multiprocessing.

So, can anyone tell me if something in this chain is actually  
importing and running multiprocessing?


More information about the Distutils-SIG mailing list