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/12 22:51:41 UTC
Re: mod_jk - WARNING: processCallbacks status 2 - fixed
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