[JBoss JIRA] Created: (JBCOMMON-50) TimedCachePolicy leaks classloader to timer thread
by Brian Stansberry (JIRA)
TimedCachePolicy leaks classloader to timer thread
--------------------------------------------------
Key: JBCOMMON-50
URL: http://jira.jboss.com/jira/browse/JBCOMMON-50
Project: JBoss Common
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: common-core
Affects Versions: 2.2.5.beta1, 2.2.4.GA
Reporter: Brian Stansberry
TimedCachePolicy has a static reference to a Timer, restartTimer. A timer creates a new thread when it is initialized; the thread inherits its TCCL from the TCCL of the thread that initializes it. Effect is that TCCL leaks to the restartTimer's thread.
Not sure the best solution here, since common-core is a general use library. In general I think the right solution is to set the TCCL to a "safe" classloader before creating the Timer, and restore the TCCL afterwards. But what is a "safe" classloader? If you use TimedCachePolicy.class.getClassLoader(), then that classloader is leaked. That's fine in JBoss AS, but may be bad in other use cases. Perhaps null or system classloader is the right choice; I don't know enough about how this class is used to have a good idea if the TimerTasks being used (seems to only be RestartTimer) need to load classes.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 6 months