]
Srivathsan Agaram Venkatavaradhan commented on WFLY-4591:
---------------------------------------------------------
2015-05-22 16:34:45,667 INFO [org.jboss.weld.Bootstrap] (weld-worker-1) WELD-000119: Not
generating any bean
definitions from com.vasoftware.sf.client.jsp.common.jsp.empty_jsp because of underlying
class loading error: Type org.
apache.jasper.runtime.JspSourceImports from [Module
"deployment.saturn.ear.sf.war:main" from Service Module Loader] not
found. If this is unexpected, enable DEBUG logging to see the full error.
The missing class is " org.apache.jasper.runtime.JspSourceImports" in jastow
jar.
Memory leak inPerThreadTagHandlerPool | Wildfly 8.2.0.Final
(Undertow)
----------------------------------------------------------------------
Key: WFLY-4591
URL:
https://issues.jboss.org/browse/WFLY-4591
Project: WildFly
Issue Type: Bug
Components: Web (Undertow)
Affects Versions: 8.2.0.Final
Environment: CentOS release 6.5 (Final), java version "1.7.0_71" 64 bit
VM, Wildfly 8.2.0.Final, Min heap and Max heap 1536m
Reporter: Srivathsan Agaram Venkatavaradhan
Assignee: Tomaz Cerar
Labels: garbage, jastow, undertow, wildfly
Attachments: jastow-2.0.0-SNAPSHOT.jar
We upgraded from Jboss 7.1.1.Final to Wildfly 8.2.0.Final. After the upgrade we are
seeing full frequent garbage collection (happening every 2 mins) during load test. This
was not the case in Jboss 7.1.1.Final. Our heap dumps suggested that there is huge memory
leak with
org.apache.jasper.runtime.BodyContentImpl. This is part of JSP runtime (jastow). On
analysis we found that undertow uses default as PerThreadTagHanlderPool. By changing this
to TagHanlderPool, this issue seems to vanish.
diff --git a/src/main/java/org/apache/jasper/runtime/TagHandlerPool.java
b/src/main/java/org/apache/jasper/runtime/TagHandlerPool.java
index eaa8560..c6c785f 100644
--- a/src/main/java/org/apache/jasper/runtime/TagHandlerPool.java
+++ b/src/main/java/org/apache/jasper/runtime/TagHandlerPool.java
@@ -53,7 +53,7 @@ public class TagHandlerPool {
result = null;
}
}
- if( result==null ) result=new PerThreadTagHandlerPool();
+ if( result==null ) result=new TagHandlerPool();
result.init(config);
return result;
- See more at:
https://developer.jboss.org/message/927538#927538
I think this issue may be related to
https://issues.jboss.org/browse/WFLY-4617 as there
were huge garbage created and most of the contents were char array (rendered html). May be
TagHanlderPool is creating more char instead of reusing from pool. Please provide
thoughts. I can share, heapdump or MAT screenshots if needed.