Request for backport of JDK12 fix to JDK8u

Schober, Sven (PPAL EN SM) sven.schober at siemens-logistics.com
Thu Jan 24 13:50:42 UTC 2019


Dear List Members,

we recently observed connection failures during high-load situations using TCP Sockets in JDK8 on Windows Server 2016.

After a lot of investigation, we came to the conclusion, that theses connection failures were in fact not because of any network related problems,  but stemming from a race condition in the JDK8s use of the WINSOCK API. We use timeouts, which are then incorrectly reported by the JDK to our application code, because the error code is fetched too late. Under heavy load the call to WSAGetLastError() does not yield the correct error code anymore, see [1] line 142.

This issue was addressed in JDK12 in [2]. The third segment, where the call to WSAGetLastError() is done earlier in SocketInputStream.c resolves our issue.

Are there any plans to backport this fix to JDK8u?

[1]: https://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/f0b93fbd8cf8/src/windows/native/java/net/SocketInputStream.c
[2]: https://hg.openjdk.java.net/jdk/jdk12/rev/9aa7ac61e68c

With best regards,
Sven Schober

Siemens Postal, Parcel & Airport Logistics GmbH
PPAL EN SM
Colmberger Str. 2
90451 Nuernberg, Germany 
mailto:sven.schober at siemens-logistics.com
http://www.siemens.com/logistics

Siemens Postal, Parcel & Airport Logistics GmbH: Chairman of the Supervisory Board: Karl-Heinz Seibert; Management: Michael Reichle, Thomas Knobloch, Ralf Garlichs; Registered office: Lilienthalstr. 16/18, 78467 Constance, Germany; Register Court: Amtsgericht Freiburg im Breisgau, HRB 711189


More information about the jdk8u-dev mailing list