potential memory leak?

User 870ab5b546

08-03-2011 18:40:32

I got this message when recompiling code (to show some debugging output; none of the other code had changed from the last time I compiled).  I saw this output in the debugging output:



SEVERE: A web application created a ThreadLocal with key of type [null] (value [chemaxon.struc.StaticMolecule$1@301ea4]) and a value of type [chemaxon.util.BondClassifier] (value [chemaxon.util.BondClassifier@12bad63]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.


Is this something I need to worry about?  I'm concerned that it may be associated with our new code that uses a JChem table.

ChemAxon 9c0afc9aaf

09-03-2011 18:19:12

Hi Bob,


It may take some time for my colleages to investigate this issue in detail - we a re very busy getting close to the 5.5 release.


However at first glance I would not be too worried about this, especially as the Tomcat (??) output says it has been "forcibly removed" anyway.


The ThreadLocal instance is also static, so would not expect more copies than the number of threads - my best guess is that if there is any leak it's probably negligible / very-very slow.


 


Best,


 


Szilard

User c1ce6b3d19

16-03-2011 09:19:11

I found this insightful link to a tomcat wikipedia page describing the phenomena.  


http://wiki.apache.org/tomcat/MemoryLeakProtection


Perhaps this can identify possible code segments (Custom ThreadLocal class  or  Webapp class instance as ThreadLocal value ) that can be causing the issue.  


If it is not found in your code, can you please provide more information about the Tomcat version you are using. Can you tell us more about when this occurs (upon restarting a web app or compiling code before putting into the webserver)?  Which web applications features seem to cause the issue on restart?