Tim Peters added the comment: This has nothing to do with the _values_ you're passing - it has to do with the length of the pickle string:
def _send_bytes(self, buf): n = len(buf) # For wire compatibility with 3.2 and lower header = struct.pack("!i", n) IT'S BLOWING UP HERE if n > 16384: ... self._send(header) self._send(buf) where the traceback shows it's called here: self._send_bytes(ForkingPickler.dumps(obj)) Of course the less data you're passing, the smaller the pickle, and that's why it doesn't blow up if you pass subsets of the data. I'd suggest rethinking how you're sharing data, as pushing two-gigabyte pickle strings around is bound to be the least efficient way possible even if it didn't blow up ;-) ---------- nosy: +tim.peters _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28506> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com