users@glassfish.java.net

Re: Glassfish HttpWorkThreads Hang under SSL

From: Jeanfrancois Arcand <Jeanfrancois.Arcand_at_Sun.COM>
Date: Wed, 20 Jun 2007 18:58:32 -0400

Hi,

if you add

<jvm-options>-Dcom.sun.enterprise.server.ss.ASQuickStartup=false</jvm-options>

does it make a difference (I doubt).

You are using GlassFish v1 right? If yes, then this is a known issue:

https://glassfish.dev.java.net/issues/show_bug.cgi?id=1710

Yes, this is extremely embarrassing to see we have shipped 9.0 with such
broken ssl support.

I strongly recommend you update to 9.1. I can send you a patch as well
as unfortunately, 9.0 ur2 hasn't yet been released.

Thanks

-- Jeanfrancois

glassfish_at_javadesktop.org wrote:
> We are having a problem with glassfish build 48 under Solaris 10 java 1.5.0_06-b05.
>
> We have a number of web services running and all is well accessing them via a http URL (non-ssl). We are having problems accessing these same web sevices via https. It appears that the "httpWorkerThread-8585-xx" request processing threads get hung up as shown in the trace below.
>
> Thread "httpWorkerThread-8585-0" thread-id 75 thread-stateRUNNABLERunning in native
> at: sun.nio.ch.DevPollArrayWrapper.poll0(Native Method)
> at: sun.nio.ch.DevPollArrayWrapper.poll(DevPollArrayWrapper.java:158)
> at: sun.nio.ch.DevPollSelectorImpl.doSelect(DevPollSelectorImpl.java:68)
> at: sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
> at: sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
> at: sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
> at: com.sun.enterprise.server.ss.provider.ASSelector.select(ASSelector.java:128)
> at: com.sun.enterprise.server.ss.provider.ASOutputStream.waitForSelect(ASOutputStream.java:96)
> at: com.sun.enterprise.server.ss.provider.ASOutputStream.write(ASOutputStream.java:136)
> at: com.sun.net.ssl.internal.ssl.OutputRecord.writeBuffer(OutputRecord.java:283)
> at: com.sun.net.ssl.internal.ssl.OutputRecord.write(OutputRecord.java:272)
> at: com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:663)
> at: com.sun.net.ssl.internal.ssl.SSLSocketImpl.sendAlert(SSLSocketImpl.java:1580)
> at: com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1472)
> at: com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1443)
> at: com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1407)
> at: com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:86)
> at: org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:852)
> at: org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:446)
> at: com.sun.enterprise.web.connector.grizzly.ProcessorTask.parseRequest(ProcessorTask.java:719)
> at: com.sun.enterprise.web.connector.grizzly.ProcessorTask.processBlocked(ProcessorTask.java:604)
> at: com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:842)
> at: com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask(ProcessorTask.java:436)
> at: com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
> at: com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
>
> We begin by starting glassfish and all is well. In glassfish we have the HTTP request processing "thread count" set to 5 all all of the threads appear to be normal waiting to service requests as shown below.
>
> Thread "httpWorkerThread-8585-0" thread-id 75 thread-stateWAITINGWaiting on lock: com.sun.enterprise.web.connector.grizzly.LinkedListPipeline_at_146b111
> at: java.lang.Object.wait(Native Method)
> at: java.lang.Object.wait(Object.java:474)
> at: com.sun.enterprise.web.connector.grizzly.LinkedListPipeline.getTask(LinkedListPipeline.java:279)
> at: com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:73)
>
> We then access a web service via https and it works but the http worker thread "httpWorkerThread-8585-xx" is no longer waiting but in the running state as shown above. When we access the web service 5 times all the worker theads are running and all further requests just hang. If we access these same web services via http we don't have this problem.
>
> Has anyone every seen this problem before or have suggestions on how to resolve this or possibly point us in the right direction?
>
> Thank you.
> [Message sent by forum member 'tpward' (tpward)]
>
> http://forums.java.net/jive/thread.jspa?messageID=223176
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>