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 <[email protected]>
<http://bugs.python.org/issue28506>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com