[Distutils] distribute traceback

Tarek Ziadé ziade.tarek at gmail.com
Thu Nov 19 13:05:29 CET 2009


On Thu, Nov 19, 2009 at 12:51 PM, Jesse Noller <jnoller at gmail.com> wrote:
[..]
>
> 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.

It's more related to the way Distribute shutdowns the process, and the
fact that multiprocess
adds an entry to the atexit registry.

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

Yes it does, thus multiprocessing adds an entry to atexit when its
util.get_logger() function
gets called.

IOW when atexit is triggered multiprocess.util.info is already
dereferenced by the GC.

My guess is that  the _exit_function should be careful about the
variables it uses because they are not garanteed to still be present
when things shutdown. (But I am not an atexit expert)

Tarek


More information about the Distutils-SIG mailing list