Index: Lib/multiprocessing/managers.py =================================================================== --- Lib/multiprocessing/managers.py (revision 68800) +++ Lib/multiprocessing/managers.py (working copy) @@ -136,7 +136,7 @@ self.listener = Listener(address=address, backlog=5) self.address = self.listener.address - self.id_to_obj = {0: (None, ())} + self.id_to_obj = {'0': (None, ())} self.id_to_refcount = {} self.mutex = threading.RLock() self.stop = 0 @@ -298,7 +298,7 @@ keys = self.id_to_obj.keys() keys.sort() for ident in keys: - if ident != 0: + if ident != '0': result.append(' %s: refcount=%s\n %s' % (ident, self.id_to_refcount[ident], str(self.id_to_obj[ident][0])[:75])) @@ -310,7 +310,7 @@ ''' 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): ''' Index: Lib/test/test_multiprocessing.py =================================================================== --- Lib/test/test_multiprocessing.py (revision 68800) +++ Lib/test/test_multiprocessing.py (working copy) @@ -1057,8 +1057,9 @@ multiprocessing.active_children() # discard dead process objs gc.collect() # do garbage collection refs = self.manager._number_of_objects() + debug_info = self.manager._debug_info() if refs != EXPECTED_NUMBER: - print self.manager._debug_info() + print debug_info self.assertEqual(refs, EXPECTED_NUMBER)