Commit 7314b381 authored by Jesse Noller's avatar Jesse Noller

Issue 5009: multiprocessing: failure in manager._debug_info()

parent e741cc60
...@@ -136,7 +136,7 @@ class Server(object): ...@@ -136,7 +136,7 @@ class Server(object):
self.listener = Listener(address=address, backlog=5) self.listener = Listener(address=address, backlog=5)
self.address = self.listener.address self.address = self.listener.address
self.id_to_obj = {0: (None, ())} self.id_to_obj = {'0': (None, ())}
self.id_to_refcount = {} self.id_to_refcount = {}
self.mutex = threading.RLock() self.mutex = threading.RLock()
self.stop = 0 self.stop = 0
...@@ -298,7 +298,7 @@ class Server(object): ...@@ -298,7 +298,7 @@ class Server(object):
keys = self.id_to_obj.keys() keys = self.id_to_obj.keys()
keys.sort() keys.sort()
for ident in keys: for ident in keys:
if ident != 0: if ident != '0':
result.append(' %s: refcount=%s\n %s' % result.append(' %s: refcount=%s\n %s' %
(ident, self.id_to_refcount[ident], (ident, self.id_to_refcount[ident],
str(self.id_to_obj[ident][0])[:75])) str(self.id_to_obj[ident][0])[:75]))
...@@ -310,7 +310,7 @@ class Server(object): ...@@ -310,7 +310,7 @@ class Server(object):
''' '''
Number of shared objects Number of shared objects
''' '''
return len(self.id_to_obj) - 1 # don't count ident=0 return len(self.id_to_obj) - 1 # don't count ident='0'
def shutdown(self, c): def shutdown(self, c):
''' '''
......
...@@ -1057,8 +1057,10 @@ class _TestZZZNumberOfObjects(BaseTestCase): ...@@ -1057,8 +1057,10 @@ class _TestZZZNumberOfObjects(BaseTestCase):
multiprocessing.active_children() # discard dead process objs multiprocessing.active_children() # discard dead process objs
gc.collect() # do garbage collection gc.collect() # do garbage collection
refs = self.manager._number_of_objects() refs = self.manager._number_of_objects()
debug_info = self.manager._debug_info()
if refs != EXPECTED_NUMBER: if refs != EXPECTED_NUMBER:
print self.manager._debug_info() print self.manager._debug_info()
print debug_info
self.assertEqual(refs, EXPECTED_NUMBER) self.assertEqual(refs, EXPECTED_NUMBER)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment