Return-Path: Delivered-To: apmail-tomcat-users-archive@www.apache.org Received: (qmail 71625 invoked from network); 26 Jul 2007 18:54:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 26 Jul 2007 18:54:47 -0000 Received: (qmail 14253 invoked by uid 500); 26 Jul 2007 18:54:35 -0000 Delivered-To: apmail-tomcat-users-archive@tomcat.apache.org Received: (qmail 14225 invoked by uid 500); 26 Jul 2007 18:54:35 -0000 Mailing-List: contact users-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Users List" Delivered-To: mailing list users@tomcat.apache.org Received: (qmail 14214 invoked by uid 99); 26 Jul 2007 18:54:35 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 Jul 2007 11:54:35 -0700 X-ASF-Spam-Status: No, hits=1.4 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (herse.apache.org: 66.111.4.26 is neither permitted nor denied by domain of alr@9mmedia.com) Received: from [66.111.4.26] (HELO out2.smtp.messagingengine.com) (66.111.4.26) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 Jul 2007 11:54:33 -0700 Received: from compute1.internal (compute1.internal [10.202.2.41]) by out1.messagingengine.com (Postfix) with ESMTP id 5364BAD71 for ; Thu, 26 Jul 2007 14:54:13 -0400 (EDT) Received: from heartbeat2.messagingengine.com ([10.202.2.161]) by compute1.internal (MEProxy); Thu, 26 Jul 2007 14:54:13 -0400 X-Sasl-enc: V2aOVX9KCyRK09Db32D6lEFQ4v2fzaQ2+86KPiRWghvO 1185476053 Received: from alr.9mmedia.com (firewall.9mmedia.com [216.12.164.18]) by mail.messagingengine.com (Postfix) with ESMTP id 2FD5E1C21B for ; Thu, 26 Jul 2007 14:54:13 -0400 (EDT) Message-ID: <46A8EDD5.6060002@9mmedia.com> Date: Thu, 26 Jul 2007 14:54:13 -0400 From: Andrew Lee Rubinger Reply-To: alr@9mmedia.com User-Agent: Thunderbird 2.0.0.0 (X11/20070326) MIME-Version: 1.0 To: users@tomcat.apache.org Subject: Tomcat/AJP Client Abort Socket Errors - Leads to File Descriptor Leak Content-Type: multipart/mixed; boundary="------------060509090808000200040208" X-Virus-Checked: Checked by ClamAV on apache.org --------------060509090808000200040208 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi. I am running Apache HTTPD 2.2.4 with ModJK 1.2.21, both compiled from source on CentOS 4.4. I have a workers.properties file configured to send requests to Tomcat 5.5 on a separate machine within the internal network. When receiving a ClientAbortException from Tomcat (shown in "tomcat_broken_pipe_error.txt"), it seems that the socket connection between ModJK and Tomcat is not closed out, and on the Application Server running Tomcat I'm observing a Life Descriptor leak (as shown in "lsof.txt"). I've tried setting "recovery_options" to 4 as suggested by http://tomcat.apache.org/connectors-doc/reference/workers.html, but this has not corrected the problem. Have attached all relevant log excerpts and configurations in hopes that someone has come across this and might have some insight. Thanks in advance for your help. Will be happy to provide any other information I may have excluded. S, ALR --------------060509090808000200040208 Content-Type: text/x-log; name="mod_jk-excerpt.log" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="mod_jk-excerpt.log" [Thu Jul 26 10:40:30 2007] [9723:33888] [info] ajp_process_callback::jk_ajp_common.c (1447): Writing to client aborted or client network problems [Thu Jul 26 10:40:30 2007] [9723:33888] [info] ajp_service::jk_ajp_common.c (1846): (worker1) request failed, because of client write error without recovery in send loop attempt=0 [Thu Jul 26 10:40:30 2007] [9723:33888] [info] jk_handler::mod_jk.c (2190): Aborting connection for worker=worker1 --------------060509090808000200040208 Content-Type: text/plain; name="lsof.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="lsof.txt" shell> lsof | grep java |grep protocol |cat -n 1 java 29220 root 268u sock 0,4 1320191 can't identify protocol ... 206 java 29220 root 268u sock 0,4 1320191 can't identify protocol 207 java 29220 root 271u sock 0,4 1311912 can't identify protocol 208 java 29220 root 272u sock 0,4 1314866 can't identify protocol 209 java 29220 root 274u sock 0,4 1318451 can't identify protocol 210 java 29220 root 275u sock 0,4 1316105 can't identify protocol 211 java 29220 root 282u sock 0,4 1317445 can't identify protocol 212 java 29220 root 283u sock 0,4 1320665 can't identify protocol 213 java 29220 root 286u sock 0,4 1320672 can't identify protocol 214 java 29220 root 357u sock 0,4 1312810 can't identify protocol --------------060509090808000200040208 Content-Type: text/plain; name="tomcat_broken_pipe_error.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="tomcat_broken_pipe_error.txt" 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:531) 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:767) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) --------------060509090808000200040208 Content-Type: text/plain; name="workers.properties" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="workers.properties" # Create 1 Worker worker.list=worker1 # Worker 1 Properties worker.worker1.type=ajp13 worker.worker1.host=192.168.10.10 worker.worker1.port=8009 worker.worker1.recovery_options=4 --------------060509090808000200040208 Content-Type: text/plain; charset=us-ascii --------------------------------------------------------------------- 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 --------------060509090808000200040208--