You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by walt <to...@nea-fast.com> on 2007/01/10 17:14:29 UTC
mod_jk - WARNING: processCallbacks status 2
Hi,
I'm having a problem with Apache,Tomcat, and mod_jk.
Apache - 1.3.33
Tomcat - 5.5.12
mod_jk - 1.2.20
We have a jsp web page which calls a servlet to load images. The servlet
gets the image by connecting to a java application running on a seperate
file server. Every now and then we get the error at the end of this email.
Using some stats from the this morning, the jsp page was called 263
times and the servlet 490 times in 38 minutes. Out of the 490 times the
servlet was called, 10 of those generated errors. We have been unable to
reproduce this error on our test & dev systems. On our dev and test
systems, we were able to call the jsp page 184 times and the servlet 500
times in a little over a minute and did not get any errors. Everything
had been working fine on our old production server for 2+ years which
used the same apache version but Tomcat 3.2.3 and JDK1.2.2 . The old
production system also used the AJP12 connection protocol where the new
system uses the AJP 1.3 connection protocol.
Here's some info from the conf files. All load balancing stuff in
workers.properties is commented out.
Thanks !
walt
server.xml
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" />
workers.properties
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
Jan 10, 2007 8:54:33 AM org.apache.jk.core.MsgContext action
WARNING: Error sending end packet
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at
java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at org.apache.jk.common.ChannelSocket.send(ChannelSocket.java:508)
at
org.apache.jk.common.JkInputStream.endMessage(JkInputStream.java:112)
at org.apache.jk.core.MsgContext.action(MsgContext.java:293)
at org.apache.coyote.Response.action(Response.java:182)
at org.apache.coyote.Response.finish(Response.java:304)
at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:204)
at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:744)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:674)
at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:866)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Jan 10, 2007 8:54:33 AM org.apache.jk.common.ChannelSocket processConnection
WARNING: processCallbacks status 2
---------------------------------------------------------------------
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
Re: mod_jk - WARNING: processCallbacks status 2 - fixed
Posted by walt <to...@nea-fast.com>.
walt wrote:
> Hi,
> I'm having a problem with Apache,Tomcat, and mod_jk.
> Apache - 1.3.33
> Tomcat - 5.5.12
> mod_jk - 1.2.20
>
> We have a jsp web page which calls a servlet to load images. The
> servlet gets the image by connecting to a java application running on
> a seperate file server. Every now and then we get the error at the end
> of this email.
>
> Using some stats from the this morning, the jsp page was called 263
> times and the servlet 490 times in 38 minutes. Out of the 490 times
> the servlet was called, 10 of those generated errors. We have been
> unable to reproduce this error on our test & dev systems. On our dev
> and test systems, we were able to call the jsp page 184 times and the
> servlet 500 times in a little over a minute and did not get any
> errors. Everything had been working fine on our old production server
> for 2+ years which used the same apache version but Tomcat 3.2.3 and
> JDK1.2.2 . The old production system also used the AJP12 connection
> protocol where the new system uses the AJP 1.3 connection protocol.
>
> Here's some info from the conf files. All load balancing stuff in
> workers.properties is commented out.
>
> Thanks !
> walt
>
> server.xml
> <Connector port="8009" enableLookups="false" protocol="AJP/1.3" />
>
> workers.properties
> worker.list=ajp13
> worker.ajp13.port=8009
> worker.ajp13.host=localhost
> worker.ajp13.type=ajp13
>
>
> Jan 10, 2007 8:54:33 AM org.apache.jk.core.MsgContext action
> WARNING: Error sending end packet
> java.net.SocketException: Broken pipe
> at java.net.SocketOutputStream.socketWrite0(Native Method)
> at
> java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
> at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
> at org.apache.jk.common.ChannelSocket.send(ChannelSocket.java:508)
> at
> org.apache.jk.common.JkInputStream.endMessage(JkInputStream.java:112)
> at org.apache.jk.core.MsgContext.action(MsgContext.java:293)
> at org.apache.coyote.Response.action(Response.java:182)
> at org.apache.coyote.Response.finish(Response.java:304)
> at
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:204)
> at
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
> at
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:744)
> at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:674)
>
> at
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:866)
>
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>
> at java.lang.Thread.run(Thread.java:595)
> Jan 10, 2007 8:54:33 AM org.apache.jk.common.ChannelSocket
> processConnection
> WARNING: processCallbacks status 2
>
>
> ---------------------------------------------------------------------
> 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
>
I hope this helps somebody -
The code in question also talks to a remote c++ app on another server.
The socket errors were coming from that communication when "readln()"
was called on the socket. We have "readln()" in a wrapper function and
adding "Thread.sleep(10);" before the actual readln() call on the socket
stops the error.
walt
---------------------------------------------------------------------
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