--- Lib/SimpleXMLRPCServer.py.orig 2011-06-11 19:46:23.000000000 +0400 +++ Lib/SimpleXMLRPCServer.py 2012-02-15 12:50:23.000000000 +0400 @@ -486,7 +486,10 @@ L = [] while size_remaining: chunk_size = min(size_remaining, max_chunk_size) - L.append(self.rfile.read(chunk_size)) + chunk = self.rfile.read(chunk_size) + if not chunk: + break + L.append(chunk) size_remaining -= len(L[-1]) data = ''.join(L)