Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0005647 [Resin] crash sometimes 02-03-14 07:15 05-05-14 10:26
Reporter mate View Status public  
Assigned To ferg
Priority normal Resolution fixed  
Status closed   Product Version 4.0.37
Summary 0005647: ConnectionPool can cause memory leaks
Description com.caucho.env.dbpool.ConnectionPool + suspended transactions can cause classloader leaks and eventually OutOfMemoryError: PermGen space.
Reference chain is as follows: Thread -> ThreadLocalMap -[Entry for key com.caucho.transaction.TransactionManagerImpl._threadTransaction]-> TransactionImpl -> UserTransactionSuspendState -> ManagedPoolItem -> ConnectionPool -> ClassLoader

Suggested ways to fix this is to set _suspendState to null in TransactionImpl.resume()
Alternative solutions would include unset ConnectionPool._classLoader on all pools of an application when undeploying and calling remove on TransactionManagerImpl._threadTransaction before returning Thread to thread pool (will only cover pooled threads).
Additional Information
Attached Files

- Relationships

There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
02-03-14 07:15 mate New Issue
03-07-14 01:54 mate Issue Monitored: mate
05-05-14 10:26 ferg Assigned To  => ferg
05-05-14 10:26 ferg Status new => closed
05-05-14 10:26 ferg Resolution open => fixed
05-05-14 10:26 ferg Fixed in Version  => 4.0.40

Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
28 total queries executed.
25 unique queries executed.
Powered by Mantis Bugtracker