You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Andreas Drechsler <an...@reflact.com> on 2003/04/08 12:41:58 UTC

"Buffer overflow" in 4.1.24

Hi,

I'm setting up a test server with new Tomcat 4.1.24 (running Linux 
Mandrake 9 and current packages from jpackage.org, Tomcat is connected 
to Apache 1.3 with mod_jk) and on testing our applications I got the 
following error message on sending large submit requests (method="post") 
to the server (actual case: a larger news article sent to the webapp in 
order to store it in a db)

Buffer overflow 8192 66 11511
java.lang.ArrayIndexOutOfBoundsException
         at java.lang.System.arraycopy(Native Method)
         at org.apache.ajp.Ajp13Packet.appendBytes(Ajp13Packet.java:328)
         at org.apache.ajp.Ajp13Packet.appendString(Ajp13Packet.java:285)
         at 
org.apache.ajp.RequestHandler.sendHeader(RequestHandler.java:781)
         at org.apache.ajp.Ajp13.sendHeader(Ajp13.java:371)
         at 
org.apache.ajp.tomcat4.Ajp13Response.sendHeaders(Ajp13Response.java:178)
         at 
org.apache.catalina.connector.HttpResponseBase.finishResponse(Unknown 
Source)
         at 
org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Response.java:191)
         at 
org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:488)
         at 
org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
         at java.lang.Thread.run(Thread.java:536)

Our older application servers work with Tomcat 4.0.x and a mod_jk 
connector of the same age (or even older) flawlessly.

Anyone an idea what might be wrong? (What config files or other stuff do 
you need to say more about it?)

TIA
Andreas Drechsler






---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Re: "Buffer overflow" in 4.1.24

Posted by Andreas Drechsler <an...@reflact.com>.
Hi,

It's both a JDK 1.4.1. (older JDKs crash sometimes with our webapps and 
some don't like SMP kernels...)

I haven't been lazy in the meantime and looked at the source code:
The error occuring in the native method is simply caused by an array 
being too small for the stuff which should get into and the array is 
defined in Ajp13Packet not in native code.

The AjpPacket13 stores the header in a byte array which is somehow 
initialized too small I suppose. But why? (I did not dig deeper in the 
overall connector code because I don't know the architecture)

I have also checked it with different browsers... IE 6.0 and Mozilla 1.3 
both generate this error so it is not a client side problem.

Any more suggestions?

TIA
Andreas Drechsler

John Turner wrote:

>
> Did you compare JVM versions with the other system that is working?  
> Your error is in a native method, not Tomcat or the connector:
>
> java.lang.ArrayIndexOutOfBoundsException
>         at java.lang.System.arraycopy(Native Method)
>
> John
>
> On Tue, 08 Apr 2003 12:41:58 +0200, Andreas Drechsler 
> <an...@reflact.com> wrote:
>
>> Hi,
>>
>> I'm setting up a test server with new Tomcat 4.1.24 (running Linux 
>> Mandrake 9 and current packages from jpackage.org, Tomcat is 
>> connected to Apache 1.3 with mod_jk) and on testing our applications 
>> I got the following error message on sending large submit requests 
>> (method="post") to the server (actual case: a larger news article 
>> sent to the webapp in order to store it in a db)
>>
>> Buffer overflow 8192 66 11511
>> java.lang.ArrayIndexOutOfBoundsException
>> at java.lang.System.arraycopy(Native Method)
>> at org.apache.ajp.Ajp13Packet.appendBytes(Ajp13Packet.java:328)
>> at org.apache.ajp.Ajp13Packet.appendString(Ajp13Packet.java:285)
>> at org.apache.ajp.RequestHandler.sendHeader(RequestHandler.java:781)
>> at org.apache.ajp.Ajp13.sendHeader(Ajp13.java:371)
>> at 
>> org.apache.ajp.tomcat4.Ajp13Response.sendHeaders(Ajp13Response.java:178)
>> at 
>> org.apache.catalina.connector.HttpResponseBase.finishResponse(Unknown 
>> Source)
>> at 
>> org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Response.java:191) 
>>
>> at 
>> org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:488)
>> at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
>> at java.lang.Thread.run(Thread.java:536)
>>
>> Our older application servers work with Tomcat 4.0.x and a mod_jk 
>> connector of the same age (or even older) flawlessly.
>>
>> Anyone an idea what might be wrong? (What config files or other stuff 
>> do you need to say more about it?)
>>
>> TIA
>> Andreas Drechsler
>>
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>
>>
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Re: "Buffer overflow" in 4.1.24

Posted by Bill Barker <wb...@wilshire.com>.
It looks like a problem in the native side of the connector.  A compliant
Ajp connector would never send a packet size > 8K.  Which native version of
mod_jk are you using?

"Andreas Drechsler" <an...@reflact.com> wrote in message
news:80944A9A3CCCD411861C00E07D85A62F551223@MARGHERITA...
Hi,

at first thankyou for your discussion but I'm afraid the trouble has
just started... ;-)

At first I started connecting Tomcat 4.1.24 with the new CoyoteConnector
(since it is default
in package; see server.xml excerpt below) but using Coyote, on
submitting it generates
this error in catalina.out: [IMO similar to other error but without
stack trace]

<<< Excerpt from catalina.out >>>
472045 [Thread-11] ERROR common.MsgAjp  - Buffer overflow:
buffer.len=8192 pos=25 data=11745
41 42 00 02 04 01 2e 00                          | AB......
                                                 |
<<< ------------------------ >>>

AND redirects to this URL in browser:
"http://192.168.1.250/sphere/news/ERROR"
with "192.168.1.250" being the host and "/sphere/news" being the webapp
path.
The "ERROR" is obviously appended either by tomcat or by the connector.

Even more interesting (now coming to think of it), uploading documents
(>> 8K) in multipart mode
works flawlessly with both connectors!

This is the connector config I used at first and got the error above:
<<< Excerpt from the 4.1.24 server.xml >>>
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8009" minProcessors="5" maxProcessors="75"
               enableLookups="yes" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="0"
               useURIValidationHack="false"

protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
<<< ------------------------ >>>

This is the connector config I used afterwards and reported the error
yesterday (= I tried
fallback to older connector). Now it is commented out as it has been
before:
<<< Excerpt from the 4.1.24 server.xml >>>
    <Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
               port="8009" minProcessors="5" maxProcessors="75"
               acceptCount="10" debug="0"/>
<<< ------------------------ >>>


For reference, the "old", production Tomcat version with everything
working is 4.0.3 with the old
Ajp13Connector.

TIA for your help again
Andreas Drechsler

-----Urspr�ngliche Nachricht-----
Von: Tim Funk [mailto:funkman@joedog.org]
Gesendet: Dienstag, 8. April 2003 15:09
An: Tomcat Users List
Betreff: Re: "Buffer overflow" in 4.1.24


I hope the original poster (Andreas) will clarify but here's what I
assumed
from the message below:

Andreas used:
  - Tomcat 4.0.? - ALL OK (Probably using older AJP connector)
  - Tomcat 4.1.24 - Gets buffer overflow. But the stack trace shows use
of
the older AJP connector, not Coyote. (I am guessing)


-Tim

John Turner wrote:
>
> Why would it work on one system but not the other?  That indicates to
me
> an external variable.
>
> John
>
> On Tue, 08 Apr 2003 08:48:12 -0400, Tim Funk <fu...@joedog.org>
wrote:
>
>> Actually Ajp13Packet.appendBytes() calls System.arraycopy() so it
>> could be a tomcat problem with respect to incorrect bounds checking.
>> But really ...
>>
>> It looks like you are trying to use the older(deprecated) AJP
>> connectors with 4.1.24 instead of Coyote. Try using the Coyote
>> connectors and check if the error still appears.
>>
>> -Tim
>>
>> John Turner wrote:
>>
>>>
>>> Did you compare JVM versions with the other system that is working?

>>> Your error is in a native method, not Tomcat or the connector:
>>>
>>> java.lang.ArrayIndexOutOfBoundsException
>>> at java.lang.System.arraycopy(Native Method)
>>>
>>> John
>>>
>>> On Tue, 08 Apr 2003 12:41:58 +0200, Andreas Drechsler
>>> <an...@reflact.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm setting up a test server with new Tomcat 4.1.24 (running Linux
>>>> Mandrake 9 and current packages from jpackage.org, Tomcat is
>>>> connected to Apache 1.3 with mod_jk) and on testing our
applications
>>>> I got the following error message on sending large submit requests
>>>> (method="post") to the server (actual case: a larger news article
>>>> sent to the webapp in order to store it in a db)
>>>>
>>>> Buffer overflow 8192 66 11511
>>>> java.lang.ArrayIndexOutOfBoundsException
>>>> at java.lang.System.arraycopy(Native Method)
>>>> at org.apache.ajp.Ajp13Packet.appendBytes(Ajp13Packet.java:328)
>>>> at org.apache.ajp.Ajp13Packet.appendString(Ajp13Packet.java:285)
>>>> at
org.apache.ajp.RequestHandler.sendHeader(RequestHandler.java:781)
>>>> at org.apache.ajp.Ajp13.sendHeader(Ajp13.java:371)
>>>> at
>>>>
org.apache.ajp.tomcat4.Ajp13Response.sendHeaders(Ajp13Response.java:178)

>>>>
>>>> at
>>>>
org.apache.catalina.connector.HttpResponseBase.finishResponse(Unknown
>>>> Source)
>>>> at
>>>>
org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Response.java:1
91)
>>>>
>>>>
>>>>
>>>>
>>>> at
>>>>
org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:488)
>>>> at
org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
>>>> at java.lang.Thread.run(Thread.java:536)
>>>>
>>>> Our older application servers work with Tomcat 4.0.x and a mod_jk
>>>> connector of the same age (or even older) flawlessly.
>>>>
>>>> Anyone an idea what might be wrong? (What config files or other
>>>> stuff do you need to say more about it?)
>>>>
>>>> TIA
>>>> Andreas Drechsler
>>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>
>>
>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Re: "Buffer overflow" in 4.1.24

Posted by John Turner <to...@johnturner.com>.
Sounds good to me.

John

On Tue, 08 Apr 2003 09:26:48 -0400, Tim Funk <fu...@joedog.org> wrote:

> In my lurking on the developer list, it seems the opinion of the 
> committers that the AJPConnectors are deprecated and should not be used 
> and its replacement is Coyote. Because of that, I don't think the 
> AJPConnectors are being regression tested with respect to 4.1.X. So I am 
> guessing a subtle fix was made to the connectors which could have broke 
> the deprecated AJPConnectors.
>
> But I am just guessing too.
>
> -Tim
>
> John Turner wrote:
>>
>> Exactly...not a big deal, I guess.  The connector is the same on both, 
>> but is only throwing the error on one.  Has the interface between a 
>> connector and the rest of Tomcat changed between 4.0 and 4.1?  If so, 
>> how is it that the Ajp13Connector works at all on 4.1, especially 
>> 4.1.24?  I'm not arguing, just trying to understand for my own 
>> reference.
>>
>> John
>>
>> On Tue, 08 Apr 2003 09:09:03 -0400, Tim Funk <fu...@joedog.org> wrote:
>>
>>> I hope the original poster (Andreas) will clarify but here's what I 
>>> assumed from the message below:
>>>
>>> Andreas used:
>>> - Tomcat 4.0.? - ALL OK (Probably using older AJP connector)
>>> - Tomcat 4.1.24 - Gets buffer overflow. But the stack trace shows use 
>>> of the older AJP connector, not Coyote. (I am guessing)
>>>
>>>
>>> -Tim
>>>
>>> John Turner wrote:
>>>
>>>>
>>>> Why would it work on one system but not the other?  That indicates to 
>>>> me an external variable.
>>>>
>>>> John
>>>>
>>>> On Tue, 08 Apr 2003 08:48:12 -0400, Tim Funk <fu...@joedog.org> 
>>>> wrote:
>>>>
>>>>> Actually Ajp13Packet.appendBytes() calls System.arraycopy() so it 
>>>>> could be a tomcat problem with respect to incorrect bounds checking. 
>>>>> But really ...
>>>>>
>>>>> It looks like you are trying to use the older(deprecated) AJP 
>>>>> connectors with 4.1.24 instead of Coyote. Try using the Coyote 
>>>>> connectors and check if the error still appears.
>>>>>
>>>>> -Tim
>>>>>
>>>>> John Turner wrote:
>>>>>
>>>>>>
>>>>>> Did you compare JVM versions with the other system that is working?  
>>>>>> Your error is in a native method, not Tomcat or the connector:
>>>>>>
>>>>>> java.lang.ArrayIndexOutOfBoundsException
>>>>>> at java.lang.System.arraycopy(Native Method)
>>>>>>
>>>>>> John
>>>>>>
>>>>>> On Tue, 08 Apr 2003 12:41:58 +0200, Andreas Drechsler 
>>>>>> <an...@reflact.com> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I'm setting up a test server with new Tomcat 4.1.24 (running Linux 
>>>>>>> Mandrake 9 and current packages from jpackage.org, Tomcat is 
>>>>>>> connected to Apache 1.3 with mod_jk) and on testing our 
>>>>>>> applications I got the following error message on sending large 
>>>>>>> submit requests (method="post") to the server (actual case: a 
>>>>>>> larger news article sent to the webapp in order to store it in a 
>>>>>>> db)
>>>>>>>
>>>>>>> Buffer overflow 8192 66 11511
>>>>>>> java.lang.ArrayIndexOutOfBoundsException
>>>>>>> at java.lang.System.arraycopy(Native Method)
>>>>>>> at org.apache.ajp.Ajp13Packet.appendBytes(Ajp13Packet.java:328)
>>>>>>> at org.apache.ajp.Ajp13Packet.appendString(Ajp13Packet.java:285)
>>>>>>> at 
>>>>>>> org.apache.ajp.RequestHandler.sendHeader(RequestHandler.java:781)
>>>>>>> at org.apache.ajp.Ajp13.sendHeader(Ajp13.java:371)
>>>>>>> at 
>>>>>>> org.apache.ajp.tomcat4.Ajp13Response.sendHeaders(Ajp13Response.java:178) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.catalina.connector.HttpResponseBase.finishResponse(Unknown 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Source)
>>>>>>> at 
>>>>>>> org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Response.java:191) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:488) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
>>>>>>> at java.lang.Thread.run(Thread.java:536)
>>>>>>>
>>>>>>> Our older application servers work with Tomcat 4.0.x and a mod_jk 
>>>>>>> connector of the same age (or even older) flawlessly.
>>>>>>>
>>>>>>> Anyone an idea what might be wrong? (What config files or other 
>>>>>>> stuff do you need to say more about it?)
>>>>>>>
>>>>>>> TIA
>>>>>>> Andreas Drechsler
>>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>>>>> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>>
>>>
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>



-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Re: "Buffer overflow" in 4.1.24

Posted by Tim Funk <fu...@joedog.org>.
In my lurking on the developer list, it seems the opinion of the committers 
that the AJPConnectors are deprecated and should not be used and its 
replacement is Coyote. Because of that, I don't think the AJPConnectors are 
being regression tested with respect to 4.1.X. So I am guessing a subtle fix 
was made to the connectors which could have broke the deprecated AJPConnectors.

But I am just guessing too.

-Tim

John Turner wrote:
> 
> Exactly...not a big deal, I guess.  The connector is the same on both, 
> but is only throwing the error on one.  Has the interface between a 
> connector and the rest of Tomcat changed between 4.0 and 4.1?  If so, 
> how is it that the Ajp13Connector works at all on 4.1, especially 
> 4.1.24?  I'm not arguing, just trying to understand for my own reference.
> 
> John
> 
> On Tue, 08 Apr 2003 09:09:03 -0400, Tim Funk <fu...@joedog.org> wrote:
> 
>> I hope the original poster (Andreas) will clarify but here's what I 
>> assumed from the message below:
>>
>> Andreas used:
>> - Tomcat 4.0.? - ALL OK (Probably using older AJP connector)
>> - Tomcat 4.1.24 - Gets buffer overflow. But the stack trace shows use 
>> of the older AJP connector, not Coyote. (I am guessing)
>>
>>
>> -Tim
>>
>> John Turner wrote:
>>
>>>
>>> Why would it work on one system but not the other?  That indicates to 
>>> me an external variable.
>>>
>>> John
>>>
>>> On Tue, 08 Apr 2003 08:48:12 -0400, Tim Funk <fu...@joedog.org> wrote:
>>>
>>>> Actually Ajp13Packet.appendBytes() calls System.arraycopy() so it 
>>>> could be a tomcat problem with respect to incorrect bounds checking. 
>>>> But really ...
>>>>
>>>> It looks like you are trying to use the older(deprecated) AJP 
>>>> connectors with 4.1.24 instead of Coyote. Try using the Coyote 
>>>> connectors and check if the error still appears.
>>>>
>>>> -Tim
>>>>
>>>> John Turner wrote:
>>>>
>>>>>
>>>>> Did you compare JVM versions with the other system that is 
>>>>> working?  Your error is in a native method, not Tomcat or the 
>>>>> connector:
>>>>>
>>>>> java.lang.ArrayIndexOutOfBoundsException
>>>>> at java.lang.System.arraycopy(Native Method)
>>>>>
>>>>> John
>>>>>
>>>>> On Tue, 08 Apr 2003 12:41:58 +0200, Andreas Drechsler 
>>>>> <an...@reflact.com> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I'm setting up a test server with new Tomcat 4.1.24 (running Linux 
>>>>>> Mandrake 9 and current packages from jpackage.org, Tomcat is 
>>>>>> connected to Apache 1.3 with mod_jk) and on testing our 
>>>>>> applications I got the following error message on sending large 
>>>>>> submit requests (method="post") to the server (actual case: a 
>>>>>> larger news article sent to the webapp in order to store it in a db)
>>>>>>
>>>>>> Buffer overflow 8192 66 11511
>>>>>> java.lang.ArrayIndexOutOfBoundsException
>>>>>> at java.lang.System.arraycopy(Native Method)
>>>>>> at org.apache.ajp.Ajp13Packet.appendBytes(Ajp13Packet.java:328)
>>>>>> at org.apache.ajp.Ajp13Packet.appendString(Ajp13Packet.java:285)
>>>>>> at org.apache.ajp.RequestHandler.sendHeader(RequestHandler.java:781)
>>>>>> at org.apache.ajp.Ajp13.sendHeader(Ajp13.java:371)
>>>>>> at 
>>>>>> org.apache.ajp.tomcat4.Ajp13Response.sendHeaders(Ajp13Response.java:178) 
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.catalina.connector.HttpResponseBase.finishResponse(Unknown 
>>>>>> Source)
>>>>>> at 
>>>>>> org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Response.java:191) 
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:488) 
>>>>>>
>>>>>> at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
>>>>>> at java.lang.Thread.run(Thread.java:536)
>>>>>>
>>>>>> Our older application servers work with Tomcat 4.0.x and a mod_jk 
>>>>>> connector of the same age (or even older) flawlessly.
>>>>>>
>>>>>> Anyone an idea what might be wrong? (What config files or other 
>>>>>> stuff do you need to say more about it?)
>>>>>>
>>>>>> TIA
>>>>>> Andreas Drechsler
>>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>>>> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>
>>
> 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Re: "Buffer overflow" in 4.1.24

Posted by John Turner <to...@johnturner.com>.
Exactly...not a big deal, I guess.  The connector is the same on both, but 
is only throwing the error on one.  Has the interface between a connector 
and the rest of Tomcat changed between 4.0 and 4.1?  If so, how is it that 
the Ajp13Connector works at all on 4.1, especially 4.1.24?  I'm not 
arguing, just trying to understand for my own reference.

John

On Tue, 08 Apr 2003 09:09:03 -0400, Tim Funk <fu...@joedog.org> wrote:

> I hope the original poster (Andreas) will clarify but here's what I 
> assumed from the message below:
>
> Andreas used:
> - Tomcat 4.0.? - ALL OK (Probably using older AJP connector)
> - Tomcat 4.1.24 - Gets buffer overflow. But the stack trace shows use of 
> the older AJP connector, not Coyote. (I am guessing)
>
>
> -Tim
>
> John Turner wrote:
>>
>> Why would it work on one system but not the other?  That indicates to me 
>> an external variable.
>>
>> John
>>
>> On Tue, 08 Apr 2003 08:48:12 -0400, Tim Funk <fu...@joedog.org> wrote:
>>
>>> Actually Ajp13Packet.appendBytes() calls System.arraycopy() so it could 
>>> be a tomcat problem with respect to incorrect bounds checking. But 
>>> really ...
>>>
>>> It looks like you are trying to use the older(deprecated) AJP 
>>> connectors with 4.1.24 instead of Coyote. Try using the Coyote 
>>> connectors and check if the error still appears.
>>>
>>> -Tim
>>>
>>> John Turner wrote:
>>>
>>>>
>>>> Did you compare JVM versions with the other system that is working?  
>>>> Your error is in a native method, not Tomcat or the connector:
>>>>
>>>> java.lang.ArrayIndexOutOfBoundsException
>>>> at java.lang.System.arraycopy(Native Method)
>>>>
>>>> John
>>>>
>>>> On Tue, 08 Apr 2003 12:41:58 +0200, Andreas Drechsler 
>>>> <an...@reflact.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I'm setting up a test server with new Tomcat 4.1.24 (running Linux 
>>>>> Mandrake 9 and current packages from jpackage.org, Tomcat is 
>>>>> connected to Apache 1.3 with mod_jk) and on testing our applications 
>>>>> I got the following error message on sending large submit requests 
>>>>> (method="post") to the server (actual case: a larger news article 
>>>>> sent to the webapp in order to store it in a db)
>>>>>
>>>>> Buffer overflow 8192 66 11511
>>>>> java.lang.ArrayIndexOutOfBoundsException
>>>>> at java.lang.System.arraycopy(Native Method)
>>>>> at org.apache.ajp.Ajp13Packet.appendBytes(Ajp13Packet.java:328)
>>>>> at org.apache.ajp.Ajp13Packet.appendString(Ajp13Packet.java:285)
>>>>> at org.apache.ajp.RequestHandler.sendHeader(RequestHandler.java:781)
>>>>> at org.apache.ajp.Ajp13.sendHeader(Ajp13.java:371)
>>>>> at 
>>>>> org.apache.ajp.tomcat4.Ajp13Response.sendHeaders(Ajp13Response.java:178) 
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.apache.catalina.connector.HttpResponseBase.finishResponse(Unknown 
>>>>> Source)
>>>>> at 
>>>>> org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Response.java:191) 
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:488)
>>>>> at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
>>>>> at java.lang.Thread.run(Thread.java:536)
>>>>>
>>>>> Our older application servers work with Tomcat 4.0.x and a mod_jk 
>>>>> connector of the same age (or even older) flawlessly.
>>>>>
>>>>> Anyone an idea what might be wrong? (What config files or other stuff 
>>>>> do you need to say more about it?)
>>>>>
>>>>> TIA
>>>>> Andreas Drechsler
>>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>>
>>>
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>



-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


AW: "Buffer overflow" in 4.1.24

Posted by Andreas Drechsler <an...@reflact.com>.
Hi,

at first thankyou for your discussion but I'm afraid the trouble has
just started... ;-)

At first I started connecting Tomcat 4.1.24 with the new CoyoteConnector
(since it is default 
in package; see server.xml excerpt below) but using Coyote, on
submitting it generates 
this error in catalina.out: [IMO similar to other error but without
stack trace]

<<< Excerpt from catalina.out >>>
472045 [Thread-11] ERROR common.MsgAjp  - Buffer overflow:
buffer.len=8192 pos=25 data=11745
41 42 00 02 04 01 2e 00                          | AB......
                                                 |
<<< ------------------------ >>>

AND redirects to this URL in browser:
"http://192.168.1.250/sphere/news/ERROR"
with "192.168.1.250" being the host and "/sphere/news" being the webapp
path.
The "ERROR" is obviously appended either by tomcat or by the connector.

Even more interesting (now coming to think of it), uploading documents
(>> 8K) in multipart mode
works flawlessly with both connectors!

This is the connector config I used at first and got the error above:
<<< Excerpt from the 4.1.24 server.xml >>>
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8009" minProcessors="5" maxProcessors="75"
               enableLookups="yes" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="0"
               useURIValidationHack="false"
 
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
<<< ------------------------ >>>

This is the connector config I used afterwards and reported the error
yesterday (= I tried 
fallback to older connector). Now it is commented out as it has been
before:
<<< Excerpt from the 4.1.24 server.xml >>>
    <Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
               port="8009" minProcessors="5" maxProcessors="75"
               acceptCount="10" debug="0"/>
<<< ------------------------ >>>


For reference, the "old", production Tomcat version with everything
working is 4.0.3 with the old 
Ajp13Connector.

TIA for your help again
Andreas Drechsler

-----Ursprüngliche Nachricht-----
Von: Tim Funk [mailto:funkman@joedog.org] 
Gesendet: Dienstag, 8. April 2003 15:09
An: Tomcat Users List
Betreff: Re: "Buffer overflow" in 4.1.24


I hope the original poster (Andreas) will clarify but here's what I
assumed 
from the message below:

Andreas used:
  - Tomcat 4.0.? - ALL OK (Probably using older AJP connector)
  - Tomcat 4.1.24 - Gets buffer overflow. But the stack trace shows use
of 
the older AJP connector, not Coyote. (I am guessing)


-Tim

John Turner wrote:
> 
> Why would it work on one system but not the other?  That indicates to
me 
> an external variable.
> 
> John
> 
> On Tue, 08 Apr 2003 08:48:12 -0400, Tim Funk <fu...@joedog.org>
wrote:
> 
>> Actually Ajp13Packet.appendBytes() calls System.arraycopy() so it 
>> could be a tomcat problem with respect to incorrect bounds checking. 
>> But really ...
>>
>> It looks like you are trying to use the older(deprecated) AJP 
>> connectors with 4.1.24 instead of Coyote. Try using the Coyote 
>> connectors and check if the error still appears.
>>
>> -Tim
>>
>> John Turner wrote:
>>
>>>
>>> Did you compare JVM versions with the other system that is working?

>>> Your error is in a native method, not Tomcat or the connector:
>>>
>>> java.lang.ArrayIndexOutOfBoundsException
>>> at java.lang.System.arraycopy(Native Method)
>>>
>>> John
>>>
>>> On Tue, 08 Apr 2003 12:41:58 +0200, Andreas Drechsler 
>>> <an...@reflact.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm setting up a test server with new Tomcat 4.1.24 (running Linux 
>>>> Mandrake 9 and current packages from jpackage.org, Tomcat is 
>>>> connected to Apache 1.3 with mod_jk) and on testing our
applications 
>>>> I got the following error message on sending large submit requests 
>>>> (method="post") to the server (actual case: a larger news article 
>>>> sent to the webapp in order to store it in a db)
>>>>
>>>> Buffer overflow 8192 66 11511
>>>> java.lang.ArrayIndexOutOfBoundsException
>>>> at java.lang.System.arraycopy(Native Method)
>>>> at org.apache.ajp.Ajp13Packet.appendBytes(Ajp13Packet.java:328)
>>>> at org.apache.ajp.Ajp13Packet.appendString(Ajp13Packet.java:285)
>>>> at
org.apache.ajp.RequestHandler.sendHeader(RequestHandler.java:781)
>>>> at org.apache.ajp.Ajp13.sendHeader(Ajp13.java:371)
>>>> at 
>>>>
org.apache.ajp.tomcat4.Ajp13Response.sendHeaders(Ajp13Response.java:178)

>>>>
>>>> at 
>>>>
org.apache.catalina.connector.HttpResponseBase.finishResponse(Unknown 
>>>> Source)
>>>> at 
>>>>
org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Response.java:1
91) 
>>>>
>>>>
>>>>
>>>>
>>>> at 
>>>>
org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:488)
>>>> at
org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
>>>> at java.lang.Thread.run(Thread.java:536)
>>>>
>>>> Our older application servers work with Tomcat 4.0.x and a mod_jk 
>>>> connector of the same age (or even older) flawlessly.
>>>>
>>>> Anyone an idea what might be wrong? (What config files or other 
>>>> stuff do you need to say more about it?)
>>>>
>>>> TIA
>>>> Andreas Drechsler
>>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>
>>
> 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Re: "Buffer overflow" in 4.1.24

Posted by Tim Funk <fu...@joedog.org>.
I hope the original poster (Andreas) will clarify but here's what I assumed 
from the message below:

Andreas used:
  - Tomcat 4.0.? - ALL OK (Probably using older AJP connector)
  - Tomcat 4.1.24 - Gets buffer overflow. But the stack trace shows use of 
the older AJP connector, not Coyote. (I am guessing)


-Tim

John Turner wrote:
> 
> Why would it work on one system but not the other?  That indicates to me 
> an external variable.
> 
> John
> 
> On Tue, 08 Apr 2003 08:48:12 -0400, Tim Funk <fu...@joedog.org> wrote:
> 
>> Actually Ajp13Packet.appendBytes() calls System.arraycopy() so it 
>> could be a tomcat problem with respect to incorrect bounds checking. 
>> But really ...
>>
>> It looks like you are trying to use the older(deprecated) AJP 
>> connectors with 4.1.24 instead of Coyote. Try using the Coyote 
>> connectors and check if the error still appears.
>>
>> -Tim
>>
>> John Turner wrote:
>>
>>>
>>> Did you compare JVM versions with the other system that is working?  
>>> Your error is in a native method, not Tomcat or the connector:
>>>
>>> java.lang.ArrayIndexOutOfBoundsException
>>> at java.lang.System.arraycopy(Native Method)
>>>
>>> John
>>>
>>> On Tue, 08 Apr 2003 12:41:58 +0200, Andreas Drechsler 
>>> <an...@reflact.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm setting up a test server with new Tomcat 4.1.24 (running Linux 
>>>> Mandrake 9 and current packages from jpackage.org, Tomcat is 
>>>> connected to Apache 1.3 with mod_jk) and on testing our applications 
>>>> I got the following error message on sending large submit requests 
>>>> (method="post") to the server (actual case: a larger news article 
>>>> sent to the webapp in order to store it in a db)
>>>>
>>>> Buffer overflow 8192 66 11511
>>>> java.lang.ArrayIndexOutOfBoundsException
>>>> at java.lang.System.arraycopy(Native Method)
>>>> at org.apache.ajp.Ajp13Packet.appendBytes(Ajp13Packet.java:328)
>>>> at org.apache.ajp.Ajp13Packet.appendString(Ajp13Packet.java:285)
>>>> at org.apache.ajp.RequestHandler.sendHeader(RequestHandler.java:781)
>>>> at org.apache.ajp.Ajp13.sendHeader(Ajp13.java:371)
>>>> at 
>>>> org.apache.ajp.tomcat4.Ajp13Response.sendHeaders(Ajp13Response.java:178) 
>>>>
>>>> at 
>>>> org.apache.catalina.connector.HttpResponseBase.finishResponse(Unknown 
>>>> Source)
>>>> at 
>>>> org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Response.java:191) 
>>>>
>>>>
>>>>
>>>>
>>>> at 
>>>> org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:488)
>>>> at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
>>>> at java.lang.Thread.run(Thread.java:536)
>>>>
>>>> Our older application servers work with Tomcat 4.0.x and a mod_jk 
>>>> connector of the same age (or even older) flawlessly.
>>>>
>>>> Anyone an idea what might be wrong? (What config files or other 
>>>> stuff do you need to say more about it?)
>>>>
>>>> TIA
>>>> Andreas Drechsler
>>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>
>>
> 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Re: "Buffer overflow" in 4.1.24

Posted by John Turner <to...@johnturner.com>.
Why would it work on one system but not the other?  That indicates to me an 
external variable.

John

On Tue, 08 Apr 2003 08:48:12 -0400, Tim Funk <fu...@joedog.org> wrote:

> Actually Ajp13Packet.appendBytes() calls System.arraycopy() so it could 
> be a tomcat problem with respect to incorrect bounds checking. But really 
> ...
>
> It looks like you are trying to use the older(deprecated) AJP connectors 
> with 4.1.24 instead of Coyote. Try using the Coyote connectors and check 
> if the error still appears.
>
> -Tim
>
> John Turner wrote:
>>
>> Did you compare JVM versions with the other system that is working?  
>> Your error is in a native method, not Tomcat or the connector:
>>
>> java.lang.ArrayIndexOutOfBoundsException
>> at java.lang.System.arraycopy(Native Method)
>>
>> John
>>
>> On Tue, 08 Apr 2003 12:41:58 +0200, Andreas Drechsler 
>> <an...@reflact.com> wrote:
>>
>>> Hi,
>>>
>>> I'm setting up a test server with new Tomcat 4.1.24 (running Linux 
>>> Mandrake 9 and current packages from jpackage.org, Tomcat is connected 
>>> to Apache 1.3 with mod_jk) and on testing our applications I got the 
>>> following error message on sending large submit requests 
>>> (method="post") to the server (actual case: a larger news article sent 
>>> to the webapp in order to store it in a db)
>>>
>>> Buffer overflow 8192 66 11511
>>> java.lang.ArrayIndexOutOfBoundsException
>>> at java.lang.System.arraycopy(Native Method)
>>> at org.apache.ajp.Ajp13Packet.appendBytes(Ajp13Packet.java:328)
>>> at org.apache.ajp.Ajp13Packet.appendString(Ajp13Packet.java:285)
>>> at org.apache.ajp.RequestHandler.sendHeader(RequestHandler.java:781)
>>> at org.apache.ajp.Ajp13.sendHeader(Ajp13.java:371)
>>> at 
>>> org.apache.ajp.tomcat4.Ajp13Response.sendHeaders(Ajp13Response.java:178)
>>> at 
>>> org.apache.catalina.connector.HttpResponseBase.finishResponse(Unknown 
>>> Source)
>>> at 
>>> org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Response.java:191) 
>>>
>>>
>>>
>>>
>>> at 
>>> org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:488)
>>> at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
>>> at java.lang.Thread.run(Thread.java:536)
>>>
>>> Our older application servers work with Tomcat 4.0.x and a mod_jk 
>>> connector of the same age (or even older) flawlessly.
>>>
>>> Anyone an idea what might be wrong? (What config files or other stuff 
>>> do you need to say more about it?)
>>>
>>> TIA
>>> Andreas Drechsler
>>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>



-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Re: "Buffer overflow" in 4.1.24

Posted by Tim Funk <fu...@joedog.org>.
Actually Ajp13Packet.appendBytes() calls System.arraycopy() so it could be a 
tomcat problem with respect to incorrect bounds checking. But really ...

It looks like you are trying to use the older(deprecated) AJP connectors with 
4.1.24 instead of Coyote. Try using the Coyote connectors and check if the 
error still appears.

-Tim

John Turner wrote:
> 
> Did you compare JVM versions with the other system that is working?  
> Your error is in a native method, not Tomcat or the connector:
> 
> java.lang.ArrayIndexOutOfBoundsException
>         at java.lang.System.arraycopy(Native Method)
> 
> John
> 
> On Tue, 08 Apr 2003 12:41:58 +0200, Andreas Drechsler 
> <an...@reflact.com> wrote:
> 
>> Hi,
>>
>> I'm setting up a test server with new Tomcat 4.1.24 (running Linux 
>> Mandrake 9 and current packages from jpackage.org, Tomcat is connected 
>> to Apache 1.3 with mod_jk) and on testing our applications I got the 
>> following error message on sending large submit requests 
>> (method="post") to the server (actual case: a larger news article sent 
>> to the webapp in order to store it in a db)
>>
>> Buffer overflow 8192 66 11511
>> java.lang.ArrayIndexOutOfBoundsException
>> at java.lang.System.arraycopy(Native Method)
>> at org.apache.ajp.Ajp13Packet.appendBytes(Ajp13Packet.java:328)
>> at org.apache.ajp.Ajp13Packet.appendString(Ajp13Packet.java:285)
>> at org.apache.ajp.RequestHandler.sendHeader(RequestHandler.java:781)
>> at org.apache.ajp.Ajp13.sendHeader(Ajp13.java:371)
>> at 
>> org.apache.ajp.tomcat4.Ajp13Response.sendHeaders(Ajp13Response.java:178)
>> at 
>> org.apache.catalina.connector.HttpResponseBase.finishResponse(Unknown 
>> Source)
>> at 
>> org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Response.java:191) 
>>
>> at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:488)
>> at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
>> at java.lang.Thread.run(Thread.java:536)
>>
>> Our older application servers work with Tomcat 4.0.x and a mod_jk 
>> connector of the same age (or even older) flawlessly.
>>
>> Anyone an idea what might be wrong? (What config files or other stuff 
>> do you need to say more about it?)
>>
>> TIA
>> Andreas Drechsler
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Re: "Buffer overflow" in 4.1.24

Posted by John Turner <to...@johnturner.com>.
Did you compare JVM versions with the other system that is working?  Your 
error is in a native method, not Tomcat or the connector:

java.lang.ArrayIndexOutOfBoundsException
         at java.lang.System.arraycopy(Native Method)

John

On Tue, 08 Apr 2003 12:41:58 +0200, Andreas Drechsler 
<an...@reflact.com> wrote:

> Hi,
>
> I'm setting up a test server with new Tomcat 4.1.24 (running Linux 
> Mandrake 9 and current packages from jpackage.org, Tomcat is connected to 
> Apache 1.3 with mod_jk) and on testing our applications I got the 
> following error message on sending large submit requests (method="post") 
> to the server (actual case: a larger news article sent to the webapp in 
> order to store it in a db)
>
> Buffer overflow 8192 66 11511
> java.lang.ArrayIndexOutOfBoundsException
> at java.lang.System.arraycopy(Native Method)
> at org.apache.ajp.Ajp13Packet.appendBytes(Ajp13Packet.java:328)
> at org.apache.ajp.Ajp13Packet.appendString(Ajp13Packet.java:285)
> at org.apache.ajp.RequestHandler.sendHeader(RequestHandler.java:781)
> at org.apache.ajp.Ajp13.sendHeader(Ajp13.java:371)
> at 
> org.apache.ajp.tomcat4.Ajp13Response.sendHeaders(Ajp13Response.java:178)
> at org.apache.catalina.connector.HttpResponseBase.finishResponse(Unknown 
> Source)
> at 
> org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Response.java:191)
> at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:488)
> at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)
> at java.lang.Thread.run(Thread.java:536)
>
> Our older application servers work with Tomcat 4.0.x and a mod_jk 
> connector of the same age (or even older) flawlessly.
>
> Anyone an idea what might be wrong? (What config files or other stuff do 
> you need to say more about it?)
>
> TIA
> Andreas Drechsler
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>



-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org