Mantis - Resin
Viewing Issue Advanced Details
4925 minor always 01-18-12 08:38 06-21-12 10:21
cowan  
ferg  
high  
closed 4.0.19  
duplicate  
none    
none 4.0.29  
0004925: Timeout reading large data on Solaris with SSL
This problem is only on Solaris setup when SSL is enabled with the application. It works fine with http requests on Solaris.
 
Also there is no problem on Linux platform both with SSL enabled and disabled.
 
We are using BufferedInputStream(Java) to read the input contents and ByteArrayOutputStream to write the output. When SSL is enabled, application goes to read the attachment and does not return. Hence causing a client timeout (com.caucho.vfs.SocketTimeoutException). Please find attached error log file.
 
This exception is thrown after we upgraded resin from 3.0.21 (the issue is not reproducible on this version) to resin 4.0.19. The issue is reproducible for attachments of type image (.png, .jpg ) and PDF files and NOT for attachments of type text (.txt / .doc )
 
Additional observation: when the image size is smaller than the buffer size of the input stream, then it gets attached successfully.

20120110 003658652-0800 xxx WebappName - - 20 com.caucho.vfs.SocketTimeoutException: client timeout
                                at com.caucho.vfs.JniStream.exception(JniStream.java:178)
                                at com.caucho.vfs.JniStream.read(JniStream.java:81)
                                at com.caucho.vfs.ReadStream.read(ReadStream.java:463)
                                at com.caucho.server.http.ContentLengthStream.read(ContentLengthStream.java:75)
                                at com.caucho.vfs.ReadStream.read(ReadStream.java:463)
                                at com.caucho.server.http.ServletInputStreamImpl.read(ServletInputStreamImpl.java:74)
                                at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
                                at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
                                at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
                                at java.io.FilterInputStream.read(FilterInputStream.java:90)
                                ...



Rep by A. Krishnan - openwave

Notes
(0005675)
cowan   
01-18-12 08:45   
with IPV6
(0005677)
cowan   
01-25-12 09:04   
<http address='xxx.xxx.xxx.xxx' port='40443' >
     <openssl>
       <certificate-file>/xx/httpd/resin-xx/keys/xx.crt</certificate-file>
       <certificate-key-file>/xx/httpd/resin-xx/keys/xx.key</certificate-key-file>
       <password>password</password>
    </openssl>
    </http>

    <http address='[2001:xxx:x:x:xxx:xxxx:xxxx:1681]' port='40443' >
     <openssl>
       <certificate-file>/xx/httpd/resin-xx/keys/xx.crt</certificate-file>
       <certificate-key-file>/xx/httpd/resin-xx/keys/xx.key</certificate-key-file>
       <password>password</password>
    </openssl>
    </http>
(0005678)
cowan   
01-25-12 09:04   
SSL is OpenSSL 1.0.0c
(0005921)
ferg   
06-21-12 10:21   
0005120