tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Johnny Kewl" <j...@kewlstuff.co.za>
Subject Re: Tomcat 5.5.25 freezes
Date Fri, 04 Jul 2008 02:59:29 GMT

----- Original Message ----- 
From: "Clovis Wichoski" <clovis.wichoski@gmail.com>
To: "Tomcat Users List" <users@tomcat.apache.org>
Sent: Friday, July 04, 2008 3:37 AM
Subject: Re: Tomcat 5.5.25 freezes


hi Christophe,

i'm fighting with this problem for months, but i will reply on your thread
for us to make a track of each problem, ok

On Thu, Jul 3, 2008 at 5:49 AM, Christophe Fondacci <
christophefondacci@nextep-softwares.com> wrote:

> Hello,
>
> Might it be related to the problem I described in the thread "Tomcat
> bottleneck on InternalInputBuffer.parseRequestLine" ?
>
> Christophe.
>
> ----- Original Message ----- From: "Clovis Wichoski" <
> clovis.wichoski@gmail.com>
> To: "Tomcat Users List" <users@tomcat.apache.org>
> Sent: Thursday, July 03, 2008 3:26 AM
> Subject: Re: Tomcat 5.5.25 freezes
>
>
>
> Hi Anthony,
>
> i have same problem sometimes in version 6.0.16, when the thread stuck
> occurs again, execute the follow shell script, please adjust for your
> scenario.
>
> #!/bin/bash
> today=`date +%Y%m%d%H%M%S`
> psId=`/opt/java/jdk1.6.0_06/bin/jps | grep Bootstrap |  cut -d' ' -f1`
> /opt/java/jdk1.6.0_06/bin/jstack -l $psId >
> /mnt/logs/stack/stack${today}.txt
>
> execute some times, then post results here, for us to take a look,
>
> regards
>
> Clóvis
>
> On Mon, Jun 30, 2008 at 5:00 AM, Anthony Chamas <chamaster@gmail.com>
> wrote:
>
> Hello everyone,
>>
>> I am having quite a weird situation on a production server : tomcat
>> seems to be stuck somewhere when handling http requests.
>> The activity being slow (10 users), some requests take exactly 30
>> minutes to be processed.
>>
>> I have put aside the following :
>> -it happens on any page (not linked to a particular path)
>> -client issue : sniffing the network did not show anything special :
>> POST is ok, ACK is received by the client which waits for the server's
>> reply
>> -database lock : when that happens, I do not see any lock in the 
>> database.
>> -filters : we tried to deactivate all of them : same result
>> -I see no errors, warning or something significant in the log files.
>>
>> I am wondering why I am having the 30 minutes delay... maybe someone
>> has encountered the same situation... Thanks in advance for helping me
>> on this one !

Tony, I've never experienced this problem... but heres a guess, and 
hopefully a guru can confirm the theory.
When you say 30 minutes, if I'm not mistaken, that is the default time it 
takes for a cookie/session to time out... I think. So its somehow related to 
that.

I think this is what happens... TC sends up the page and there is a keep 
alive header in there... the browser then sends a request.... and keeps the 
connection open.... TC sends a content size header of say 500 bytes, but 
only reads 499... and then its buffer is empty... the browser waits and 
waits for that last byte.... TC never sends it... eventually the cookie 
times out, and this prompts TC to drop the connection on the waiting 
browser... the browser now displays the data that it got... it looks fine 
because the last char was probably a line feed. How can it happen? Thats the 
million dollar question... but it maybe something like the content size is 
set on the physical file size and a string is sent, that does have the cr.

If the theory is right then you can test it... send some data but set the 
content lenght much higher... if it waits... we guessing good ;)

Another test... set the headers to http/1.0... the old standard drops 
connections... if it never gets stuck... its related to the http/1.1 spec 
which used content size.

It maybe because something else is locking up the file that TC is trying to 
read...ie it just cant get the data to send it... or it maybe a bug... or 
maybe I should stop guessing ;)
It maybe something tricky... like you updating a file from the EJB... a file 
that TC depends on... its locked, or the record is locked... TC cant send... 
the EJB is waiting on something that TC must tell it... stuck... and the 
browser waits... I think its something like this...

Good Luck...

---------------------------------------------------------------------------
HARBOR : http://www.kewlstuff.co.za/index.htm
The most powerful application server on earth.
The only real POJO Application Server.
See it in Action : http://www.kewlstuff.co.za/cd_tut_swf/whatisejb1.htm
---------------------------------------------------------------------------




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message