> If you look further down in the log, you should see that a second
> failure saves the allocation stack trace.
this is the whole stack trace:
[21:18:13.114] [21:18:13.113] {http--8080-12}
java.lang.IllegalStateException: Connection null was not closed. Connections
must have a close() in a finally block.
[21:18:13.114] [21:18:13.113] {http--8080-12} at
com.caucho.jca.UserTransactionImpl.abortTransaction(UserTransactionImpl.java:533)
[21:18:13.114] [21:18:13.113] {http--8080-12} at
com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:206)
[21:18:13.114] [21:18:13.113] {http--8080-12} at
com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:264)
[21:18:13.114] [21:18:13.113] {http--8080-12} at
com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:275)
[21:18:13.114] [21:18:13.113] {http--8080-12} at
com.caucho.server.port.TcpConnection.handleRequests(TcpConnection.java:644)
[21:18:13.114] [21:18:13.113] {http--8080-12} at
com.caucho.server.port.TcpConnection$AcceptTask.doAccept(TcpConnection.java:1311)
[21:18:13.114] [21:18:13.113] {http--8080-12} at
com.caucho.server.port.TcpConnection$AcceptTask.run(TcpConnection.java:1252)
[21:18:13.114] [21:18:13.113] {http--8080-12} at
com.caucho.util.ThreadPool$PoolThread.runTasks(ThreadPool.java:866)
[21:18:13.114] [21:18:13.113] {http--8080-12} at
com.caucho.util.ThreadPool$PoolThread.run(ThreadPool.java:779)
[21:18:13.114] [21:18:13.114] java.lang.IllegalStateException: Connection
null was not closed. Connections must have a close() in a finally block.
[21:18:13.114] at
com.caucho.jca.UserTransactionImpl.abortTransaction(UserTransactionImpl.java:533)
[21:18:13.114] at
com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:206)
[21:18:13.114] at
com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:264)
[21:18:13.114] at
com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:275)
[21:18:13.114] at
com.caucho.server.port.TcpConnection.handleRequests(TcpConnection.java:644)
[21:18:13.114] at
com.caucho.server.port.TcpConnection$AcceptTask.doAccept(TcpConnection.java:1311)
[21:18:13.114] at
com.caucho.server.port.TcpConnection$AcceptTask.run(TcpConnection.java:1252)
[21:18:13.114] at
com.caucho.util.ThreadPool$PoolThread.runTasks(ThreadPool.java:866)
[21:18:13.114] at
com.caucho.util.ThreadPool$PoolThread.run(ThreadPool.java:779)
it's [ and it was before ] duplicated - so i did not wanted to paste
additional redundant info.
i dont get anything more before / after - just my log marker telling that
next invocation of servlet started.
> The null is strange. Is there a chance that the connection could be
> passed from one thread to another?
[..]
> In other words, once Resin has detected a connection-close issue, it
> starts gathering the stack trace when the connection is allocated.
> The next time it sees the failure, it will write the allocation to the
> log (it will be an IllegalStateException.) At very least, that should
> let you know which Connection is causing trouble.
thanks a lot for your explanation, this is in line with what i thought.
your guess is right. my servlet spawns couple of threads and wait till they
finish execution.:
thread gets as paramete sql connection and is started.
thread code [ run ] is enclosed in try-catch-finally
i used to close connection in finally part of that try-catch - and was
getting rarely [ but still ] exceptions as above.
servlet waits for all threads to finish [ by calling join, looping until
thread state is Thread.State.TERMINATED ].
i have worked-around the problem by moving closing of sql connection away
from thread code. now it's after join-loop and after few 100k runs there are
no problems. i will try to isolate the issue in some smaller readable code,
if i manage to reproduce it i'll post the example.
best regards
Pawel Kudzia
--
View this message in context:
http://www.nabble.com/java.lang.IllegalStateException%3A-Connection-null-was-not-closed.-tp24593349p24596220.html
Sent from the Resin mailing list archive at Nabble.com.
_______________________________________________
resin-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/resin-interest