hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HTTPCORE-193) A Connection close could cause an SSLIOSession to be incorrectly considered as closed in some environments
Date Wed, 18 Mar 2009 14:57:50 GMT

    [ https://issues.apache.org/jira/browse/HTTPCORE-193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12683033#action_12683033

Sebb commented on HTTPCORE-193:

Sorry, you're right (*) - I'd tried to apply the patch in my head instead of actually doing
it and checking the references to the variable.

It would be a slight waste to make it volatile.

(*) Actually there are some non-synch public methods - e.g. close(), isClosed(), getStatus(),
but they access a volatile var.
channel() returns a final so that's OK.

> A Connection close could cause an SSLIOSession to be incorrectly considered as closed
in some environments
> ----------------------------------------------------------------------------------------------------------
>                 Key: HTTPCORE-193
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-193
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.0
>         Environment: This has been seen by an Apache Synapse user, as well as by me on
the Hudon build machine
> SunOS hudson.zones.apache.org 5.10 Generic_137112-02 i86pc i386 i86pc
> This is not seen on my Linux box, Linux asankha 2.6.24-19-generic #1 SMP Wed Aug 20 17:53:40
UTC 2008
> x86_64 GNU/Linux
>            Reporter: Asankha C. Perera
>            Assignee: Asankha C. Perera
>             Fix For: 4.1
>         Attachments: HTTPCORE-193.patch, HTTPCORE-193.patch, linux.log, solaris.log
> This could be seen on the SunOS machine Hudson, and also if a breakpoint is placed at
the line receiveEncryptedData() in SSLIOSession:isAppInputReady() to delay its execution slightly
> It seems like the following lines are the cause of the problem:
>         int bytesRead = receiveEncryptedData();
>         if (bytesRead == -1) {
>             this.status = CLOSED;
>         }
> The Channel not having any more bytes does not indicate a close, since there still could
be unencrypted data. Just removing the lines that mark the session as closed seems to fix
the issue - but should be reviewed.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org

View raw message