Salut,
Mark Webb wrote:
> JeanFrancois,
>
> So the Grizzly thread pool is waiting for work? If I connect to
> glassfish's admin web page, shouldn't that cause work for the threads
> in the thread pool?
Yes, for the duration of the request. So getting a Thread Dump showing
that is difficult unless your request takes a long time to execute.
Usually GlassFish run out of thread when there is a lock somewhere in
the app server (like the connector db connection pool). Thread gets
blocked and Grizzly starts pooling the request, waiting to threads to be
free. But if there is a lock outside Grizzly, Grizzly has no way to
unlock the threads and we ends up oin very strange situations.....
Before I updated the settings using your blog
> posting (http://weblogs.java.net/blog/jfarcand/archive/2007/03/configuring_gri_2.html),
> I could not connect to the admin web page, JMS or Web Services.
Have You added:
<jvm-options>-Dcom.sun.enterprise.server.ss.ASQuickStartup=false</jvm-options>
in domain.xml (sorry If I already asked the question, but this things
save my life most of the time :-))
Thanks
-- Jeanfrancois
>
> Thanks
> Mark
>
>
> On Tue, May 20, 2008 at 12:39 PM, Jeanfrancois Arcand
> <Jeanfrancois.Arcand_at_sun.com> wrote:
>> Salut,
>>
>> Chris Fleischmann wrote:
>>> Thanks for sending the file through, it seems all of your http and https
>>> threads are waiting on locks
>>> com.sun.enterprise.web.connector.grizzly.LinkedListPipeline for HTTP and
>>> com.sun.enterprise.web.connector.grizzly.ssl.SSLPipeline for HTTPS which
>>> looks like there waiting on other threads to finish.
>> Yes, this is expected. That's the Grizzly thread pool waiting for works.
>>
>> Thanks
>>
>> -- Jeanfrancois
>>
>>
>>
>>> I wonder if after time you are running out of file descriptors. I see from
>>> the source code
>>> (http://fisheye5.cenqua.com/browse/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/connector/grizzly/LinkedListPipeline.java?r=1.25)
>>> for GlassFish the following in relation to the "waiting" threads, in
>>> particular line 291:
>>>
>>> 288 if (size() - waitingThreads <= 0) { 289 try {
>>> 290 waitingThreads++;
>>> 291 wait();
>>>
>>> Showing that there are more waiting threads than there are available
>>> threads.
>>>
>>> When hanging are you able to also run the following commands for me;
>>>
>>> lsof -p <PID>
>>>
>>> as root : ulimit -a
>>>
>>> and
>>>
>>> strace -Ff -tt -p <PID> 2>&1 | tee <PID>.log
>>>
>>> Cheers,
>>>
>>> Chris
>>>
>>>
>>>
>>>
>>> glassfish_at_javadesktop.org wrote:
>>>> attached is the file.
>>>>
>>>> Thanks so much for sticking with me on this...
>>>> [Message sent by forum member 'elihusmails' (elihusmails)]
>>>>
>>>> http://forums.java.net/jive/thread.jspa?messageID=275387
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
>>>> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
>>> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
>> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>