Mantis - Resin
Viewing Issue Advanced Details
914 minor sometimes 02-03-06 02:55 02-27-06 07:10
mate  
ferg  
normal  
closed 3.0.17  
fixed  
none    
none 3.0.18  
0000914: ignore-client-disconnect does not affect JNI connections
If JNI connections are in use (such as OpenSSL connections or Resin Pro "performance enhanced" HTTP connections) exceptions will be throws if client disconnects even if ignore-client-disconnect is set to true.

I have personally been unable to reproduce the problem by hitting Stop in the browser, but I can see our server reporting it for our customers.
Here are two example stacktraces.

For OpenSSL:
com.caucho.vfs.ClientDisconnectException: connection reset by peer
        at com.caucho.vfs.JniStream.exception(JniStream.java:168)
        at com.caucho.vfs.JniStream.write(JniStream.java:132)
        at com.caucho.vfs.WriteStream.flushBuffer(WriteStream.java:372)
        at com.caucho.server.connection.AbstractHttpResponse.finish(AbstractHttpResponse.java:1968)
        at com.caucho.server.connection.AbstractHttpResponse.close(AbstractHttpResponse.java:266)
        at com.caucho.server.connection.AbstractHttpResponse.sendRedirect(AbstractHttpResponse.java:590)


For "performance enhanced" HTTP:
com.caucho.vfs.JniStream.exception(JniStream.java:162)
com.caucho.vfs.JniStream.write(JniStream.java:132)
com.caucho.vfs.WriteStream.nextBuffer(WriteStream.java:311)
com.caucho.server.connection.ResponseStream.writeNext(ResponseStream.java:475)
com.caucho.server.connection.ToByteResponseStream.flushByteBuffer(ToByteResponseStream.java:518)
com.caucho.server.connection.ToByteResponseStream.flushBuffer(ToByteResponseStream.java:424)
com.caucho.server.connection.ResponseStream.flushBuffer(ResponseStream.java:624)
com.caucho.server.connection.ResponseStream.getBuffer(ResponseStream.java:228)
com.caucho.vfs.i18n.ISO8859_1Writer.write(ISO8859_1Writer.java:106)
com.caucho.server.connection.ToByteResponseStream.flushCharBuffer(ToByteResponseStream.java:469)
com.caucho.server.connection.ToByteResponseStream.write(ToByteResponseStream.java:321)
com.caucho.server.connection.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:68)
com.caucho.server.connection.IncludeResponseStream.writeNext(IncludeResponseStream.java:248)
com.caucho.server.connection.ToByteResponseStream.flushByteBuffer(ToByteResponseStream.java:518)
com.caucho.server.connection.ToByteResponseStream.flushBuffer(ToByteResponseStream.java:424)
com.caucho.server.connection.ToByteResponseStream.close(ToByteResponseStream.java:442)
com.caucho.server.connection.IncludeResponseStream.close(IncludeResponseStream.java:318)
com.caucho.server.connection.AbstractHttpResponse.finish(AbstractHttpResponse.java:1949)
com.caucho.server.connection.AbstractHttpResponse.close(AbstractHttpResponse.java:266)
com.caucho.server.webapp.RequestDispatcherImpl.include(RequestDispatcherImpl.java:516)
com.caucho.server.webapp.RequestDispatcherImpl.include(RequestDispatcherImpl.java:341)
com.caucho.jsp.PageContextImpl.include(PageContextImpl.java:897)

Notes
(0000867)
anonymous   
02-07-06 05:03   
I get this error:

java.io.InterruptedIOException: interrupted i/o
        at com.caucho.vfs.JniStream.exception(JniStream.java:162)
        at com.caucho.vfs.JniStream.write(JniStream.java:132)
        at com.caucho.vfs.WriteStream.flush(WriteStream.java:335)
        at com.caucho.server.hmux.HmuxRequest$ServletFilter.flush(HmuxRequest.java:1486)
        at com.caucho.vfs.WriteStream.flush(WriteStream.java:339)
        at com.caucho.server.connection.ResponseStream.flush(ResponseStream.java:590)
        at com.caucho.server.connection.ResponseStream.flushChar(ResponseStream.java:616)
        at com.caucho.jsp.JspWriterAdapter.flush(JspWriterAdapter.java:230)
        at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:887)
        at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:460)
 
when users tries to load "large" pages. These are the settings in my resin.conf:

<cluster>
      <client-live-time>120s</client-live-time>
      <srun server-id="" host="127.0.0.1" port="6802" index="1" read-timeout="120s"/>
    </cluster>

    <ignore-client-disconnect>true</ignore-client-disconnect>

I did not get these errors with my previous setup where i used resin 3.0.11. Seems like i'm not the only one with this problem:

http://www.caucho.com/support/resin-interest/0602/0004.html [^]

(0000868)
cms   
02-07-06 05:41   
I also get the same error as anonymous using resin-pro-3.0.17 on 64-bit fedora core 4. Never saw it on my previous server running resin-pro-3.0.11 on 32-bit fedora core 3.

I tried downloading the problem pages with lynx and they ran without problem. It appears as if the problem occurs when a page is slow to render.

(0000871)
cms   
02-09-06 13:27   
Reminder sent to: ferg

Please take a look at this.
(0000872)
ferg   
02-09-06 13:50   
Please do not abuse the bug tracking system.