users@glassfish.java.net

Re: doRead - ClosedChannelException

From: Jeanfrancois Arcand <Jeanfrancois.Arcand_at_Sun.COM>
Date: Wed, 12 Sep 2007 17:03:31 -0400

Hi,

those exception means the clients closed the connection before the
server has a chance to read the entire http message. I'm confident this
is not the root cause of your problem.

Are you seeing this problem only when SSL is used or you get the high
CPU with http as well?

Thanks

-- Jeanfrancois

glassfish_at_javadesktop.org wrote:
> Hi there!
>
> We are using glassfish v2b58 as a server for our service (ejb's + google web toolkit). It great combination - works ok but... we discovered after some period of time our server makes 100% load on one core of our cpu server. After some investigation we received this message:
>
>
> [#|2007-09-12T21:41:45.521+0200|FINEST|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8443-0;ClassName=com.sun.enterprise.web.connector.grizzly.ssl.SSLUtils;MethodName=doRead;_RequestID=cc0b3c88-ec21-4526-bb2a-0c86350e6cf4;|doRead
> java.nio.channels.ClosedChannelException
> at sun.nio.ch.SocketChannelImpl.ensureReadOpen(SocketChannelImpl.java:113)
> at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:156)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLUtils.doRead(SSLUtils.java:106)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLByteBufferInputStream.doRead(SSLByteBufferInputStream.java:70)
> at com.sun.enterprise.web.connector.grizzly.ByteBufferInputStream.read(ByteBufferInputStream.java:167)
> at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:727)
> at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:401)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.parseRequest(DefaultProcessorTask.java:684)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:566)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
> at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.process(SSLReadTask.java:440)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.doTask(SSLReadTask.java:228)
> at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
> |#]
>
> [#|2007-09-12T21:41:45.521+0200|FINEST|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8443-0;ClassName=com.sun.enterprise.web.connector.grizzly.ssl.SSLUtils;MethodName=doRead;_RequestID=cc0b3c88-ec21-4526-bb2a-0c86350e6cf4;|doRead
> java.nio.channels.ClosedChannelException
> at sun.nio.ch.SocketChannelImpl.ensureReadOpen(SocketChannelImpl.java:113)
> at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:156)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLUtils.doRead(SSLUtils.java:106)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLByteBufferInputStream.doRead(SSLByteBufferInputStream.java:70)
> at com.sun.enterprise.web.connector.grizzly.ByteBufferInputStream.read(ByteBufferInputStream.java:167)
> at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:727)
> at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:401)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.parseRequest(DefaultProcessorTask.java:684)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:566)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
> at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.process(SSLReadTask.java:440)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.doTask(SSLReadTask.java:228)
> at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
> |#]
>
> [#|2007-09-12T21:41:45.522+0200|FINEST|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8443-0;ClassName=com.sun.enterprise.web.connector.grizzly.ssl.SSLUtils;MethodName=doRead;_RequestID=cc0b3c88-ec21-4526-bb2a-0c86350e6cf4;|doRead
> java.nio.channels.ClosedChannelException
> at sun.nio.ch.SocketChannelImpl.ensureReadOpen(SocketChannelImpl.java:113)
> at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:156)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLUtils.doRead(SSLUtils.java:106)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLByteBufferInputStream.doRead(SSLByteBufferInputStream.java:70)
> at com.sun.enterprise.web.connector.grizzly.ByteBufferInputStream.read(ByteBufferInputStream.java:167)
> at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:727)
> at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:401)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.parseRequest(DefaultProcessorTask.java:684)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:566)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
> at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.process(SSLReadTask.java:440)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.doTask(SSLReadTask.java:228)
> at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
>
>
>
> and it is repeating constantly (it's logged only when we set logging finest for web module).
>
> I know - it's not easy to say what is wrong... but maybe you could give us any suggestion where to start?
>
> Best regards
> Lukjel
> [Message sent by forum member 'lukjel' (lukjel)]
>
> http://forums.java.net/jive/thread.jspa?messageID=235120
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>