DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=28532>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=28532 ajp13.service() ajpGetReply recoverable error 3 Summary: ajp13.service() ajpGetReply recoverable error 3 Product: Tomcat 4 Version: 4.1.29 Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Normal Priority: Other Component: Connector:Coyote JK 2 AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I'm using Apache 2.0.49, Tomcat 4.1.29, Sun JVM 1.3.1_06, 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. 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]