[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-2032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16986286#comment-16986286
 ] 

Oleg Kalnichevski commented on HTTPCLIENT-2032:
-----------------------------------------------

[~michael-o] And what was the point re-opening the issue, which was reported as 
a bug but is essentially unrelated to our project?
Oleg

> Sometimes get a broken pipe error in Java 11 when trying to connect with 
> HttpClient
> -----------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-2032
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2032
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient (classic)
>    Affects Versions: 4.5.10
>            Reporter: Jonathan Smith
>            Priority: Major
>
> Connecting with httpclient expecting to get a handshake and/or certificate 
> error but sometimes get a broken pipe error (and sometimes I get the desired 
> handshake / certificate error).
> It works perfectly fine in Java 8.
> {code:java}
> javax.net.ssl.SSLException: Broken pipe (Write failed)        at 
> java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
>       at 
> java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:320)
>       at 
> java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:263)
>       at 
> java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:258)
>       at 
> java.base/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:988)
>       at 
> org.apache.http.impl.io.SessionOutputBufferImpl.streamWrite(SessionOutputBufferImpl.java:124)
>       at 
> org.apache.http.impl.io.SessionOutputBufferImpl.flushBuffer(SessionOutputBufferImpl.java:136)
>       at 
> org.apache.http.impl.io.SessionOutputBufferImpl.flush(SessionOutputBufferImpl.java:144)
>       at 
> org.apache.http.impl.BHttpConnectionBase.doFlush(BHttpConnectionBase.java:174)
>       at 
> org.apache.http.impl.DefaultBHttpClientConnection.flush(DefaultBHttpClientConnection.java:183)
>       at org.apache.http.impl.conn.CPoolProxy.flush(CPoolProxy.java:167)
>       at 
> org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:241)
>       at 
> org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123)
>       at 
> org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
>       at 
> org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
>       at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
>       at 
> org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
>       at 
> org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
>       at 
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
>       at 
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:221)
>       at 
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:165)
>       at 
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:140)Caused
>  by: java.net.SocketException: Broken pipe (Write failed)
>       at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
>       at 
> java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
>       at 
> java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
>       at 
> java.base/sun.security.ssl.SSLSocketOutputRecord.deliver(SSLSocketOutputRecord.java:319)
>       at 
> java.base/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:983)
>       ... 36 more
> {code}
> As you can see, the SessionOutputBufferImpl tries to flush but hits the 
> broken pipe. Could it be that the socket has already flushed itself sometimes 
> and thus resulting in the connection/socket being closed before the explicit 
> flush is called?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to