[
https://issues.apache.org/jira/browse/TIKA-1784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14982572#comment-14982572
]
Tim Allison commented on TIKA-1784:
-----------------------------------
Thank you for opening this. This is caused by POI. Not sure if it is easily
fixable. Would you be able to open an issue on POI's
[bugzilla|https://bz.apache.org/bugzilla/describecomponents.cgi?product=POI]
and add a link to here and from here so that we can track this on Tika?
> Use of ThreadLocal in Tika causes memory leaks and warnings in Tomcat
> ---------------------------------------------------------------------
>
> Key: TIKA-1784
> URL: https://issues.apache.org/jira/browse/TIKA-1784
> Project: Tika
> Issue Type: Bug
> Components: parser
> Affects Versions: 1.11
> Reporter: Aleksandr Dubinsky
> Priority: Minor
>
> Please see this SO discussion:
> https://stackoverflow.com/questions/13852632/is-it-really-my-job-to-clean-up-threadlocal-resources-when-classes-have-been-exp
> The problem with ThreadLocals is not only do they leak memory in themselves,
> they actually cause the ClassLoader to stay around and consume permgen.
> Some of the warnings I get are:
> - The web application [ROOT] created a ThreadLocal with key of type
> [org.apache.poi.extractor.ExtractorFactory$1] (value
> [org.apache.poi.extractor.ExtractorFactory$1@180f70ad]) and a value of type
> [java.lang.Boolean] (value [true]) but failed to remove it when the web
> application was stopped. Threads are going to be renewed over time to try and
> avoid a probable memory leak.
> - The web application [ROOT] created a ThreadLocal with key of type
> [org.apache.xmlbeans.impl.store.CharUtil$1] (value
> [org.apache.xmlbeans.impl.store.CharUtil$1@4d017bd6]) and a value of type
> [java.lang.ref.SoftReference] (value [java.lang.ref.SoftReference@41099238])
> but failed to remove it when the web application was stopped. Threads are
> going to be renewed over time to try and avoid a probable memory leak.
> - The web application [ROOT] created a ThreadLocal with key of type
> [org.apache.xmlbeans.impl.store.Locale$1] (value
> [org.apache.xmlbeans.impl.store.Locale$1@44b3ad91]) and a value of type
> [java.lang.ref.SoftReference] (value [java.lang.ref.SoftReference@3e2af6cd])
> but failed to remove it when the web application was stopped. Threads are
> going to be renewed over time to try and avoid a probable memory leak.
> - The web application [ROOT] created a ThreadLocal with key of type
> [org.apache.xmlbeans.impl.schema.SchemaTypeLoaderImpl$SchemaTypeLoaderCache$1]
> (value
> [org.apache.xmlbeans.impl.schema.SchemaTypeLoaderImpl$SchemaTypeLoaderCache$1@36c8b20c])
> and a value of type [java.util.ArrayList] (value
> [[java.lang.ref.SoftReference@2525342a]]) but failed to remove it when the
> web application was stopped. Threads are going to be renewed over time to try
> and avoid a probable memory leak.
> - The web application [ROOT] created a ThreadLocal with key of type
> [org.apache.xmlbeans.XmlBeans$1] (value
> [org.apache.xmlbeans.XmlBeans$1@67e0d2e5]) and a value of type
> [java.lang.ref.SoftReference] (value [java.lang.ref.SoftReference@79e0607a])
> but failed to remove it when the web application was stopped. Threads are
> going to be renewed over time to try and avoid a probable memory leak.
> I see that most of the warnings are actually emitted by xmlbeans, but since
> I'm not knowledgeable about how Tika uses that library or what can be done
> about it, I'll start the blame chain here and let it trickle down.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)