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