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 jnoller
Recipients benjamin.peterson, donmez, jnoller
Date 2008-08-01.01:22:31
SpamBayes Score 1.64677e-05
Marked as misclassified No
Message-id <>
Ben's incref error != the connection refused error. Here's some information 
from Scott Leerssen who is using the original .52 code:

Hi Jesse,

I am having some trouble with the processing module (0.52) and thought you 
might be of some help since you were so involved with it in the PEP process.

I have a queue of Process objects from which a runner thread pulls and starts 
processes.  The producers for the queue are many, many threads.  I'm seeing 
some very odd behavior when lots of processes try to start while others are 
being reaped at the same time.  I see tracebacks that look like the one below, 
and also occasionally get "hangs" where the process module "seems" to take over 
the GIL and never give it back.  I did find a race condition bug in 
where a _cleaner function is run in start(), potentially joining on processes 
that other threads may also be joining at the same time, which leads to 
KeyError exceptions coming from _cleaner.  I mutexed all my starts and joins to 
get around that for now, but am stumped on the issue below.  Does it look 
familiar to you?

Thanks, and feel free to shrug and reply "beats me".

[dmbd:32451:-1236096096] 2008-07-31 16:52:10,609 SYSMESG  Process Process-24:
[dmbd:32451:-1236096096] 2008-07-31 16:52:10,612 SYSMESG

[dmbd:32451:-1236096096] 2008-07-31 16:52:10,613 SYSMESG  Traceback (most 
recent call last):

[dmbd:32451:-1236096096] 2008-07-31 16:52:10,613 SYSMESG    File 
packages/processing/", line 224, in _bootstrap

[dmbd:32451:-1236096096] 2008-07-31 16:52:10,615 SYSMESG      

[dmbd:32451:-1236096096] 2008-07-31 16:52:10,616 SYSMESG    File 
packages/processing/", line 300, in _runAfterForkers

[dmbd:32451:-1236096096] 2008-07-31 16:52:10,617 SYSMESG      func(obj)

[dmbd:32451:-1236096096] 2008-07-31 16:52:10,617 SYSMESG    File 
packages/processing/", line 806, in _afterFork

[dmbd:32451:-1236096096] 2008-07-31 16:52:10,620 SYSMESG      self._incref()

[dmbd:32451:-1236096096] 2008-07-31 16:52:10,621 SYSMESG    File 
packages/processing/", line 760, in _incref

[dmbd:32451:-1236096096] 2008-07-31 16:52:10,621 SYSMESG      
dispatch(connection, None, 'incref', (self._id,))

[dmbd:32451:-1236096096] 2008-07-31 16:52:10,622 SYSMESG    File 
packages/processing/", line 92, in dispatch

[dmbd:32451:-1236096096] 2008-07-31 16:52:10,623 SYSMESG      raise result

[dmbd:32451:-1236096096] 2008-07-31 16:52:10,624 SYSMESG  RemoteError:
Remote Traceback (most recent call last):
 File "/opt/race/share/sw/os/Linux_2.6_i686/python/lib/python2.5/site-
packages/processing/", line 190, in handleRequest
   result = func(c, *args, **kwds)
 File "/opt/race/share/sw/os/Linux_2.6_i686/python/lib/python2.5/site-
packages/processing/", line 404, in incref
   self.id_to_refcount[ident] += 1
KeyError: 2880341100L
Date User Action Args
2008-08-01 01:22:34jnollersetrecipients: + jnoller, donmez, benjamin.peterson
2008-08-01 01:22:33jnollersetmessageid: <>
2008-08-01 01:22:33jnollerlinkissue3419 messages
2008-08-01 01:22:31jnollercreate