]
Tomaz Cerar commented on WFLY-4591:
-----------------------------------
1) i will take a look into precompiling (jspc) with jastow, but no promises. One of the
things I do want do is to drop ECJ compiler in favor of Java compiler api (JSR199)
2) what classes are missing for you? There are some we cannot add but some we for sure
can.
I will be fully tested when it passes full java EE 7 TCK, for now it passes the JSP one.
But as focus is on delivering WildFly 9 final, it will take more time to get full TCK run
for jastow alone.
Target is to have jastow tested and properly released and integrated into WildFly in few
weeks.
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.