Richard Oudkerk added the comment:
Why are you connecting to a multiprocessing listener with a raw socket? You
should be using multiprocessing.connection.Client to create a client connection.
Connection.send(obj) writes a 32 bit unsigned int (in network order) to the
socket representing the length of the pickled data for obj, followed by the
pickled data itself.
Since you are doing a raw socket write, the server connection is
misenterpreting the first 4 bytes of your message "abcd" as the length of the
message. So the receiving end needs to allocate space for
struct.unpack("!I", "abcd")[0] == 1633837924 ~ 1.5Gb
causing the MemoryError.
----------
nosy: +sbt
resolution: -> invalid
stage: -> committed/rejected
status: open -> closed
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue16920>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com