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 <rep...@bugs.python.org>
<http://bugs.python.org/issue16920>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to