tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ofer Israeli <of...@checkpoint.com>
Subject Bug in Tomcat AJP Connector?
Date Wed, 04 Apr 2012 16:02:17 GMT
Hi all,

We have recently witnessed a strange situation.  Our Tomcat (6.0.35) listens on 2 ports: 8080
and 8009, handling HTTP and AJP respectively.  At some point in time we found that Apache
is replying HTTP 503s to all clients and a look at netstat showed that indeed Apache could
not communicate with Tomcat - there were many connections in state SYN_SENT, that were never
replied.  A test of attempting to connect to Tomcat's 8009 port turned out to give the same
result, so the issue was obviously in Tomcat and not Apache.  But netstat also showed that
Tomcat was listening on port 8009.  After digging into the logs, we found that there was an
Out of Memory exception in the JK's accept() sequence and once this exception was caught there
was a message of "terminating thread".

So although the exception is caught and handled by killing the thread (isn't that a little
drastic?), the socket isn't closed beforehand and thus the OS thinks that the port is still
fine (in LISTENING state), as although the thread is dead, the process is alive.  Has anyone
encountered this or knows if this bug is known?


Thanks,
Ofer

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message