Web Servers on Windows - ajp13.service() ajpGetReply recoverable error 3

This is Interesting: Free IT Magazines  
Home > Archive > Web Servers on Windows > April 2004 > ajp13.service() ajpGetReply recoverable error 3





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author ajp13.service() ajpGetReply recoverable error 3
Michael Sanders

2004-04-20, 7:36 am

I'm using Apache 2.0.49, Tomcat 4.1.29, and mod_jk2 2.04 on Windows
2000 Server. I'm getting errors in my Apache & Tomcat logs (shown
below), BUT I do not get any errors shown in the browser and my
servlet appears to be functioning correctly. I guess the fact that it
says "recoverable error" means that it recovers which is why users do
not see any errors. However I suspect it does mean that the system is
working sub-optimally. I'd be grateful if someone could give me a clue
as to the meaning of the errors & any pointers on fixing the problem.

Many thanks,
Michael Sanders

Apache 2.0.49 error log
=======================
[Mon Apr 19 15:48:53 2004] [error] ajp13.service() ajpGetReply
recoverable error 3
[Mon Apr 19 15:48:53 2004] [error] ajp13.service() ajpGetReply
recoverable error 3
[Mon Apr 19 15:48:53 2004] [error] ajp13.service() Error forwarding
ajp13:localhost:8009 1 0
[Mon Apr 19 15:48:53 2004] [error] mod_jk2.handler() Error connecting
to tomcat 3, status 200


Tomcat 4.1.29 stderr
====================
[ERROR] JkCoyoteHandler - -Error in action code
<java.net.SocketException: Connection aborted by peer: socket write
error>java.net.SocketException: Connection aborted by peer: socket
write error
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.write(SocketOutputStream.java:91)
at org.apache.jk.common.ChannelSocket.send(ChannelSocket.java:457)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:654)
at org.apache.jk.server.JkCoyoteHandler.action(JkCoyoteHandler.java:435)
at org.apache.coyote.Response.action(Response.java:222)
at org.apache.coyote.Response.finish(Response.java:343)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:314)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:387)
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.java:666)
at java.lang.Thread.run(Thread.java:479)

workers2.properties
===================
#define the shared memory file
[shm]
file=C:/Program Files/Apache Group/Apache2/jk2.shm

# Define the communication channel
[channel.socket:localhost:8009]
tomcatId=localhost:8009

[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

[uri:/servlet/*]
worker=ajp13:localhost:8009

server.xml
==========
<Server port="8005" shutdown="SHUTDOWN" debug="0">


<!-- Uncomment these entries to enable JMX MBeans support -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
debug="0"/>

<!-- Global JNDI resources -->
<GlobalNamingResources>

<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer"
value="30"/>

<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved">
</Resource>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>

</GlobalNamingResources>


<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Tomcat-Standalone">

<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
useURIValidationHack="false"
disableUploadTimeout="true" />

<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" minProcessors="5" maxProcessors="100"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="300000"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

<!-- Define the top level container in our container hierarchy -->
<Engine name="Standalone" defaultHost="localhost" debug="0">

<Logger className="org.apache.catalina.logger.FileLogger"
directory="D:/logfiles/Tomcat" prefix="tomcat_."
suffix=".log"
timestamp="true"/>

<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
debug="0" resourceName="UserDatabase"/>


<!-- Define the default virtual host -->
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">

directory.-->
<Logger className="org.apache.catalina.logger.FileLogger"
directory="D:/logfiles/Tomcat" prefix="tomcat_"
suffix=".log"
timestamp="true"/>

<!-- Tomcat Root Context -->
<Context path="" docBase="ROOT" debug="0"
swallowOutput="true"/>

</Host>

</Engine>

</Service>

</Server>


jk2.properties
==============
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
## WHEN YOU EDIT THE FILE.

## COMMENTS WILL BE _LOST_

## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.

# Set the desired handler list
# handler.list=apr,request,channelJni
#
# Override the default port for the socketChannel
# channelSocket.port=8019
# Default:
# channelUnix.file=${jkHome}/work/jk2.socket
# Just to check if the the config is working
# shm.file=${jkHome}/work/jk2.shm

# In order to enable jni use any channelJni directive
# channelJni.disabled = 0
# And one of the following directives:

# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so

# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
# apr.jniModeSo=inprocess
Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com