[
https://issues.apache.org/jira/browse/TAP5-2411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14194451#comment-14194451
]
Jochen Kemnade edited comment on TAP5-2411 at 11/3/14 11:22 AM:
----------------------------------------------------------------
I think it's caused by the Registry's startup rather that by its shutdown. I
assume the {{ThreadLocal}} is created from the {{RegistryImpl}} contructor in
line 192. That creates a {{PerThreadValue}} per perthread-scoped service. That
in turn creates the {{ThreadLocal}} which will never be removed because
{{PerthreadManager.cleanup()}} is not called later.
was (Author: jkemnade):
I think it's caused by the Registry's startup rather that by its shutdown. I
assume the {{ThreadLocal}} is created from the {{RegistryImpl}} contructor in
line 192. That creates {{PerThreadValue}}s which creates the {{ThreadLocal}}
which will never be removed because {{PerthreadManager.cleanup()}} is not
called later.
> Tapestry webapp leaks a ThreadLocal
> -----------------------------------
>
> Key: TAP5-2411
> URL: https://issues.apache.org/jira/browse/TAP5-2411
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-ioc
> Affects Versions: 5.4
> Reporter: Jochen Kemnade
>
> When re-deploying a Tapestry webapp in a Tomcat container, I often see a
> warning like this:
> {noformat}
> 21-Oct-2014 12:03:37.349 SEVERE [http-nio-9280-exec-14]
> org.apache.catalina.loader.WebappClassLoader.checkThreadLocalMapForLeaks The
> web application [/webapp] created a ThreadLocal with key of type
> [org.apache.tapestry5.ioc.internal.services.PerthreadManagerImpl.
> MapHolder] (value
> [org.apache.tapestry5.ioc.internal.services.PerthreadManagerImpl$MapHolder@55d6dc57])
> and a value of type [java.util.HashMap] (value [{1=DEFINED, 2=DEFINED,
> 3=DEFINED, 4=DEFINED, 5=DEFINED, 6=DEFINED, 7=DEFINED, 8=DEFINED, 9=DEFINED,
> 10=DEFINED,
> 11=DEFINED, 12=DEFINED, 13=DEFINED}]) 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.
> {noformat}
> I'm not yet sure where this comes from. It looks like a {{Map<Number,
> org.apache.tapestry5.ioc.services.Status>}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)