Nadeem Vawda <nadeem.va...@gmail.com> added the comment: I was playing around with pickling large Unicode strings in an interactive interpreter, and it seems that you have to have at least 4G chars (not bytes) to trigger the OverflowError. Consider the following snippet of code:
out = dumps(data) del data result = loads(out) assert isinstance(result, str) assert len(result) == _1G With data as (b"a" * _4G) the result is as expected: Traceback (most recent call last): File "pickle-bigmem-test.py", line 5, in <module> out = dumps(data) OverflowError: cannot serialize a string larger than 4GB But with (b"a" * _2G), I get this: Traceback (most recent call last): File "pickle-bigmem-test.py", line 7, in <module> result = loads(out) _pickle.UnpicklingError: BINUNICODE pickle has negative byte count ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue11564> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com