tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham King <>
Subject Re: HttpProcessor not recycling connections / bug 5181 ?
Date Fri, 25 Oct 2002 12:06:13 GMT

Remy Maucherat wrote:
> Graham King wrote:
>>     Dear all,
>>  I'm running Tomcat 4.0.3 with Java 1.4 on Linux, and we are getting
>> lots of 'IOException: Connection reset by peer' (see stack trace at
>> bottom of mail), which I understand is the user hitting 'stop' or
>> closing the window before the load completes.
>> After several hours of running our server will run out of request
>> processors (well actually we put maxProcessors at 1024 so the site falls
>> over with 'OutOfMemoryError: unable to create native thread' but that's
>> just whilst we try and fix this).
>> I believe this is because StandardWrapperValve is catching the
>> IOException, so it never gets back up to HttpProcessor, so the processor
>> never gets recycled.
>> I saw in a comment right at the bottom of here
>> that this is
>> fixed in 4.0.4b1, but I could not find any other information about that
>> in the release notes, bugzilla or mail list archives.
>>  We can't use the 4.1.X branch because we symlink to content outside the
>> webapp directory and the allowLinking doesn't work for us (in 4.1.12 at
>> least).
>>  So what I am asking is:
>>  - Does anyone know of a recorded problem with recycling processors in
>> 4.0.3 and if so is this definately fixed in later versions of 4.0.X ?
>>  And:
>>  - Has anyone else experienced something like this and is my analysis
>> way off mark ?
> Mmmm, yes, it's kinda bogus. A case where a processor wouldn't be 
> recycled is if an exception is *not* caught (the thread would get 
> killed). There's still a hypothetical bug with recycling of the 
> processors that has been reported once in a while, but that no committer 
> has ever been able to reproduce, except in conjunction with garbage 
> collection peaks.

  Ah yes I wasn't thinking it through clearly. What then did you mean in your comment on bug
5181 ?

  Russell Edens says:
After walking through the code, it appears (to someone not familiar with the
source) that this exception prevents the recycle of the HttpProcessor.  The net
effect is that once maxProcessors is exceeded the server can never accept
requests again.

  and you respond:

------- Additional Comments From Remy Maucherat 2002-03-21 16:13 -------

This is a bug with JDK 1.4.
The processor not being recycled in that particular case has been fixed in

  What did you mean ?


To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message