[
https://issues.jboss.org/browse/WFLY-4617?page=com.atlassian.jira.plugin....
]
Srivathsan Agaram Venkatavaradhan commented on WFLY-4617:
---------------------------------------------------------
This used to work fine in JBoss 7.1.1.Fnal using JbossWeb. Not sure why this behavior is
changed in undertow. Please explain.
I suspect issue is with
http://grepcode.com/file/repository.springsource.com/org.apache.struts/co...
(ComponentContext) pageContext.getAttribute(
ComponentConstants.COMPONENT_CONTEXT,
PageContext.REQUEST_SCOPE);
is used between request. I tried clearing this in releaseInternal but did not work, got
null pointers as other tags are trying to find the attribute across request.
releaseInternal() in InsertTag.java is clearing cachedCurrentContext , but it expects
value to be in getCurrentContext() in InsertTag. Tried clearing in release() but still
seeing huge garbage. Any pointers please.
Huge garbage created at regular intervals in Wildfly 8.2.0.Final
----------------------------------------------------------------
Key: WFLY-4617
URL:
https://issues.jboss.org/browse/WFLY-4617
Project: WildFly
Issue Type: Bug
Affects Versions: 8.2.0.Final
Environment: Centos 7, JDK 7
Reporter: Srivathsan Agaram Venkatavaradhan
Assignee: Stuart Douglas
Labels: 8.2.0.Final, gc, undertow, wildfly
Attachments: Char Array Incoming reference, Char Array Retained Objects, Heap
Histogram View, merge paths - ArtifactDetailList, newheap1_Leak_Suspects.zip, Overall
Heap, Overall Memory Usages
Huge garbage is created in wildfly every couple of minutes. Though Full GC is able to
reclaim memory, this causes frequent full gcs, as heap is getting occupied due to the
increase in number of objects created . We can reproduce this issue in 60 users Jmeter
loadtest. This was not the case in Jboss 7.1.1Final.
After analyzing heapdumps, Huge char arrays are created and they are not garbage
collected by Minor GC. Incoming reference for the char array suggest that they have valid
reference to io.undertow.servlet.spec.HttpServletRequestImpl. However full gc is able to
recover the memory. Not sure why attributes in
io.undertow.servlet.spec.HttpServletRequestImpl are not getting gced by minor gc's.
"org.apache.struts.tiles.ComponentContext" is kept in attributes Map by
io.undertow.servlet.spec.HttpServletRequestImpl. org.apache.struts.tiles.ComponentContext
contains a big char array.
We suspect issue with undertow.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)