Mantis Bugtracker

Viewing Issue Advanced Details Jump to Notes ] View Simple ] 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 Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 4.0.40 Product Version 4.0.37
  Product Build
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).
Steps To Reproduce
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