Issue2618

classification
Title: socket.sendall no longer sends all
Type: behaviour Severity: critical
Components: Core Versions: Jython 2.7
Milestone:
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: amak, behackett
Priority: Keywords:

Created on 2017-08-25.02:59:17 by behackett, last changed 2017-08-25.16:37:33 by amak.

Files
File name Uploaded Description Edit Remove
sendallrepro.py behackett, 2017-08-25.02:59:17
Messages
msg11546 (view) Author: Bernie Hackett (behackett) Date: 2017-08-25.02:59:17
This is a regression from Jython 2.7.0. socket.sendall is just an alias for socket.send. In 2.7.0 this doesn't appear to cause any problems as sendall seems to consistently send all the bytes given to it. This is no longer the case in 2.7.1. The regression seems to be caused by the changes for http://bugs.jython.org/issue2508.

This is a serious regression that will break any library using socket.sendall. socket.sendall in CPython only returns None or raises if there is an error. It blocks until all data is sent.

Repro script attached.
History
Date User Action Args
2017-08-25 16:37:33amaksetnosy: + amak
2017-08-25 02:59:39behackettsettype: behaviour
2017-08-25 02:59:18behackettcreate