This is one example of counting down twice. There are a lot of places
calling destroySocket, the best would have been to pass a SocketWrapper
instead of long and keep a AtomicBoolean to track if destroy has been called
on it.
if (running && !paused) {
// Hand this socket off to an appropriate processor
if (!processSocketWithOptions(socket)) {
countDownConnection();
// Close socket and pool right away
destroySocket(socket);
}
} else {
countDownConnection();
// Close socket and pool right away
destroySocket(socket);
}
Then the actual implementation of destroySocket(long) does the same thing,
it counts it down again.
private void destroySocket(long socket) {
// If not running the socket will be destroyed by
// parent pool or acceptor socket.
// In any case disable double free which would cause JVM core.
destroySocket(socket, running);
}
private void destroySocket(long socket, boolean doIt) {
// Be VERY careful if you call this method directly. If it is called
// twice for the same socket the JVM will core. Currently this is
only
// called from Poller.closePollset() to ensure kept alive
connections
// are closed when calling stop() followed by start().
if (doIt && socket != 0) {
Socket.destroy(socket);
countDownConnection();
}
}
> -----Original Message-----
> From: Konstantin Kolinko [mailto:[email protected]]
> Sent: Tuesday, June 12, 2012 9:21 PM
> To: Tomcat Developers List
> Subject: "WARNING: Incorrect connection count" when running testsuite
> for APR/native 1.1.24
>
> Hi!
>
> I run the testsuite for Tomcat trunk with APR connector with release
> candidate for Tomcat Native 1.1.24, on WinXP 32-bit.
>
> The testsuite passes successfully, but looking closer into log files I
> see many occurrences of the following warning:
>
> 12.06.2012 21:13:43 org.apache.tomcat.util.net.AbstractEndpoint
> countDownConnection
> WARNING: Incorrect connection count, multiple socket.close called on
> the same socket.
>
> There are ~50 tests when it fails, the first one being
> org.apache.catalina.authenticator.TestFormAuthenticator
>
> It sounds like there are cases when BZ 53173 (connection counting and
> maxConnections) is not fixed yet for APR connector.
>
> Best regards,
> Konstantin Kolinko
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]