tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Barker" <wbar...@wilshire.com>
Subject Re: occasional ArrayIndexOutOfBoundsException in MsgAjp on linux
Date Sat, 28 Feb 2004 21:23:28 GMT
Could I see the rest of the request dump (the part after the '<snip>')?

"Jim Hopp" <jimtc@netyourwork.com> wrote in message
news:403E276D.1000702@netyourwork.com...
> Greetings-
>
> We're running Apache 2.0.48, JK 1.2.5, and Tomcat 4.1.29, java
> java version "1.4.2"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
> Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)
> on Linux 2.4.20 with glibc 2.3.2 in a production environment.  We're
> not using the LD_ASSUME_KERNEL export since we're not running glibc 2.2.
>
> Two or three times a day, I'll see this exception in the Tomcat log:
>
> Feb 13, 2004 12:43:00 PM org.apache.jk.common.HandlerRequest invoke
> SEVERE: Error decoding request
> java.lang.ArrayIndexOutOfBoundsException: 11968
>      at org.apache.jk.common.MsgAjp.getInt(MsgAjp.java:233)
>      at org.apache.jk.common.MsgAjp.getBytes(MsgAjp.java:257)
>      at
> org.apache.jk.common.HandlerRequest.decodeHeaders(HandlerRequest.java:676)
>      at
> org.apache.jk.common.HandlerRequest.decodeRequest(HandlerRequest.java:512)
>      at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:365)
>      at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673)
>      at
>
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:615)
>      at
org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786)
>      at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:666)
>      at java.lang.Thread.run(Thread.java:534)
> 12 34 05 17 02 02 00 08 48 54 54 50 2f 31 2e 31  | .4......HTTP/1.1
> 00 00 15 2f 69 6d 61 67 65 73 2f 72 65 6c 5f 74  | .../images/rel_t
> 61 73 6b 73 2e 67 69 66 00 00 0b 36 37 2e 31 36  | asks.gif...67.16
> <snip>
>
> In the jk log I'll see
>
> [Fri Feb 13 12:43:00 2004]  [jk_ajp_common.c (738)]: ERROR: can't
> receive the response message from tomcat, network problems or tomcat is
> down. err=-104
> [Fri Feb 13 12:43:00 2004]  [jk_ajp_common.c (738)]: ERROR: can't
> receive the response message from tomcat, network problems or tomcat is
> down. err=-1
> [Fri Feb 13 12:43:00 2004]  [jk_ajp_common.c (1290)]: ERROR: Receiving
> from tomcat failed, recoverable operation. err=0
> [Fri Feb 13 12:43:00 2004]  [jk_ajp_common.c (1290)]: ERROR: Receiving
> from tomcat failed, recoverable operation. err=0
>
> The Apache child process then becomes unresponsive, and Apache starts
> another child process to service requests.  The first child process
> immediately sucks up all of a CPU (we're running on a four-CPU box), and
> doesn't die until we restart Apache.  Tomcat keeps going.
>
> The user simply hits refreshs their page, and this time the request goes
> through.
>
> Other than this, everything works great.
>
> I cannot find any mention of this error in Bugzilla or thru Google.
>
> Here's my workers.properties, and jk conf files:
>
> workers.properties:
> worker.list=ui, mrkt
>
> worker.ui.type=ajp13
> worker.ui.host=127.0.0.1
> worker.ui.port=8019
> worker.ui.cachesize=10
> worker.ui.cache_timeout=600
> worker.ui.connect_timeout=500
> worker.ui.prepost_timeout=500
>
> worker.mrkt.type=ajp13
> worker.mrkt.host=127.0.0.1
> worker.mrkt.port=8029
> worker.mrkt.cachesize=10
> worker.mrkt.cache_timeout=600
> worker.mrkt.connect_timeout=500
> worker.mrkt.prepost_timeout=500
>
> jk1.conf: (gets included in a vhost section):
> JkOptions -ForwardKeySize -ForwardDirectories -ForwardURICompat
> +ForwardURICompatUnparsed
>
> # note that the last JkLogFile set applies to all vhosts, not just this
one.
> JkLogFile /var/log/httpd/jk-ui.log
> JkLogLevel info
>
> JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
> # JkRequestLogFormat set the request format
> #JkRequestLogFormat "%w %V %T"
> JkRequestLogFormat "%V %U %w %s %b %T"
>
> JkMount /* ui
>
> jk2.conf (included in another vhost):
> JkOptions -ForwardKeySize -ForwardDirectories -ForwardURICompat
> +ForwardURICompatUnparsed
> # note that the last JkLogFile set applies to all vhosts, not just this
one.
> JkLogFile /var/log/httpd/jk.log
> JkLogLevel info
>
> JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
> # JkRequestLogFormat set the request format
> #JkRequestLogFormat "%w %V %T"
> JkRequestLogFormat "%V %U %w %s %b %T"
>
> JkMount /demoRegistration/mail.servlet mrkt
> JkMount /demoRegistration/ping.servlet mrkt
> JkMount /freeQBTrial/mail.servlet mrkt
> JkMount /freeQBTrial/ping.servlet mrkt
> JkMount /talkToUs/mail.servlet mrkt
> JkMount /talkToUs/ping.servlet mrkt
> JkMount /buyIt/mail.servlet mrkt
> JkMount /buyIt/ping.servlet mrkt
> JkMount /qbupload/qbupload.servlet mrkt
> JkMount /qbupload/ping.servlet mrkt
>
> I'd be grateful for any ideas/comments/things to try.
>
> -Jim Hopp




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


Mime
View raw message