[issue18100] socket.sendall() cannot send buffers of 2GB or more

2021-10-20 Thread Christian Heimes
Christian Heimes added the comment: The issue is fixed in Python 3 by commit f72006f4429975a9d221e046e43dabd4f41eda23 -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2016-05-21 Thread Martin Panter
Martin Panter added the comment: Looks like this was fixed in 3.1 and 3.2 by r84150. -- nosy: +martin.panter stage: needs patch -> patch review ___ Python tracker ___ ___

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-08-31 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http:

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-07-12 Thread Anton Tyurin
Anton Tyurin added the comment: According to man send: only sendmsg() if input length argument overflows a ssize_t on OS X. But truncating extradata in sendall() without exception is bad idea, because sendall() never returns count of successfully sent bytes. So we'll never know about incompl

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-07-09 Thread STINNER Victor
STINNER Victor added the comment: > ssize_t send(int socket, const void *buffer, size_t length, int flags); Oh, I didn't notice that. I hope that the result always fit in a ssize_t. If it is not the case, it is probably a bug in the kernel. An example of such bug: http://xorl.wordpress.com/2009

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-07-09 Thread Anton Tyurin
Anton Tyurin added the comment: I could be wrong, but: ssize_t send(int socket, const void *buffer, size_t length, int flags); so length is size_t, but Py_ssize_t is ssize_t (signed to unsigned). PS. sorry for my bad English -- ___ Python tracker

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-07-09 Thread STINNER Victor
STINNER Victor added the comment: > But the use of Py_ssize_t (len and n) hides the potential type conversion. Which type conversion? -- ___ Python tracker ___ _

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-07-09 Thread Anton Tyurin
Anton Tyurin added the comment: There seems to be no, because there's this bug is already fixed in Python 3, according to http://hg.python.org/cpython/file/c1a400501db6/Modules/socketmodule.c#l3290. But the use of Py_ssize_t (len and n) hides the potential type conversion. -- __

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-07-08 Thread Christian Heimes
Christian Heimes added the comment: Does it affect Python 3, too? -- nosy: +christian.heimes ___ Python tracker ___ ___ Python-bugs-li

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-07-08 Thread Anton Tyurin
Anton Tyurin added the comment: This issue is similar like http://bugs.python.org/issue9566. It seems reasonable to apply a similar fix. But why not use the types described in the signature functions in . In particular use for len size_t, and for n - ssize_t? -- _

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-07-07 Thread STINNER Victor
Changes by STINNER Victor : -- nosy: +haypo ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-07-07 Thread Anton Tyurin
Anton Tyurin added the comment: typo fix 8bite -> 8 bytes -- ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: h

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-07-07 Thread Anton Tyurin
Anton Tyurin added the comment: The same error in the use of socket.send(). Is it possible to use size_t for len instead of int? According to http://www.python.org/dev/peps/pep-0353/ Py_ssize_t on x86 is typedef for int, and size_t has the same size. On x64 sizeof size_t is 8bit, that covers t

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-05-30 Thread Amaury Forgeot d'Arc
Amaury Forgeot d'Arc added the comment: "int len = pbuf.len;" Why doesn't gcc emit a warning here? -- nosy: +amaury.forgeotdarc ___ Python tracker ___ ___

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-05-30 Thread Serhiy Storchaka
Changes by Serhiy Storchaka : -- components: +Extension Modules -Build nosy: +pitrou stage: -> needs patch versions: +Python 2.7 -Python 2.6 ___ Python tracker ___ _

[issue18100] socket.sendall() cannot send buffers of 2GB or more

2013-05-30 Thread Tom van Leeuwen
New submission from Tom van Leeuwen: When using socket.sendall() to send a buffer of 2GB or more (for example, numpy.zeros(2*GB, dtype=numpy.uint8) ), it doesn't send anything at all. In socketmodule.c, socket.sendall() sock_sendall uses an int for len, while this should be a Py_ssize_t.