tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 44383] New: - Possible leak: tomcat does not release Jasper compilation contexts
Date Fri, 08 Feb 2008 23:30:41 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=44383>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=44383

           Summary: Possible leak: tomcat does not release Jasper
                    compilation contexts
           Product: Tomcat 5
           Version: 5.5.25
          Platform: All
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Jasper
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: diosnoes@hotmail.com


First of all, my excuses is this happens not to be an actual bug. And excuses
for my language too, as I am not a native english speaker.

I have found that the live heap size of one of my developed web applications
varies a lot after the JSPs have been compiled on Tomcat 5.5.25 compared with
using precompiled pages. I mean, if I restart Tomcat without deleting "work" and
request the same pages, the live heap is a lot smaller.

Using jhat on a dump of live objects after the compilation, I have found a LOT
of live instances of classes contained in the package org.apache.jasper.compiler:

44902 instances of class org.apache.jasper.compiler.Mark
27437 instances of class org.apache.jasper.compiler.Node$TemplateText
27342 instances of class org.apache.jasper.compiler.ELNode$ELText
18206 instances of class org.apache.jasper.compiler.Node$Nodes
16780 instances of class org.apache.jasper.compiler.ELNode$Nodes
13080 instances of class org.apache.jasper.compiler.Node$JspAttribute
11040 instances of class javax.servlet.jsp.tagext.TagData

After inspection of the references, I believe that the majority of those
instances are being indirectly referenced from instances of:

org.apache.jasper.compiler.JspRuntimeContext
org.apache.jasper.JspCompilationContext

The live heap of Tomcat + Application with precompiled pages show no instances
of those classes (the first ones), so those instances must be related to JSP
compilation-time and not to the runtime.

Maybe Tomcat is not releasing some this compilation-time information of Jasper?

I do not know the internals of Tomcat and Jasper integration, and I think this
could be a major source of resource consumption. I cannot believe being the
first to notice such a thing, and maybe it is the expected behaviour after all...

Thanks a lot for your attention.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message