You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by bu...@apache.org on 2006/02/02 11:36:54 UTC

DO NOT REPLY [Bug 38487] New: - [Tiger] Heap memory error when a lot of jars in WEB-INF/lib

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=38487>.
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=38487

           Summary: [Tiger] Heap memory error when a lot of jars in WEB-
                    INF/lib
           Product: Struts
           Version: Nightly Build
          Platform: All
        OS/Version: Windows XP
            Status: NEW
          Severity: major
          Priority: P2
         Component: Shale
        AssignedTo: dev@struts.apache.org
        ReportedBy: giampiero.lizzi@tiscali.it


when LifecycleListener scans a lot of jar files in WEB-INF/lib Heap Mempory
overflow occurs because it allocatate to much Classes.

I propose two patches
1) directly scan & register on classes in alternative to behind collect them in
lists.

2) Add a init parameter containing jars to scan (to make faster the startup phase)

-- 
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@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


DO NOT REPLY [Bug 38487] - [Tiger] Heap memory error when a lot of jars in WEB-INF/lib

Posted by bu...@apache.org.
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=38487>.
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=38487





------- Additional Comments From craig.mcclanahan@sun.com  2006-02-02 19:59 -------
I can see where this kind of thing could cause problems on a big app (even if
you don't overflow memory, it can be a large startup hit to scan all the
classes).  One of the frustrations is that Tiger (JDK 1.5) does not let you
examine the bytecodes of a class to see if it has an annotation or not -- you
actually have to load it (or use a pre-deployment scan of some sort that really
complicates the build process).  You can't really wait until the class is loaded
for the first time, because it might not be you doing that load.

However, I find myself disliking the notion of requiring the user to tell Shale
where to look ... from the user perspective, it should be able to figure that
out by itself.  What would you think of the following approach?

(1) Scan all classes under WEB-INF/classes.  This is likely
    to be a relatively small total number of classes, they
    are likely to get all or mostly loaded anyway, and there
    is a high likelihood of finding annotated managed beans
    and annotated view controllers here.

(2) Scan JAR files in WEB-INF/lib that have a "META-INF/faces-config.xml"
    file in them, even if it is empty.  That will cut the scan
    down to jars that are clearly JSF-specific, so you'd skip
    things like Hibernate or most of Spring.

This approach should substantially reduce the number of classes scanned, without
requiring the app developer to do anything complicated about configuration.

What do you think?


-- 
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@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


DO NOT REPLY [Bug 38487] - [Tiger] Heap memory error when a lot of jars in WEB-INF/lib

Posted by bu...@apache.org.
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=38487>.
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=38487





------- Additional Comments From grig77@gmail.com  2006-03-29 12:42 -------


About WEB-INF/lib, and file to find faces-config.xml , maybe you can configure
this some way. Some regular expression is a good ideea.

In case of a big aplication server like jboss, the class path is not always so
simple. 


Cristi


-- 
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@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


DO NOT REPLY [Bug 38487] - [Tiger] Heap memory error when a lot of jars in WEB-INF/lib

Posted by bu...@apache.org.
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=38487>.
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=38487


craig.mcclanahan@sun.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Additional Comments From craig.mcclanahan@sun.com  2006-02-05 04:51 -------
As of nightly build 20060205, Shale Tiger Extensions will only examine classes
in the following locations for "interesting" annotations:
* Classes under /WEB-INF/classes
* Classes in JAR files under /WEB-INF/lib, but only
  if those JAR files include a META-INF/faces-config.xml
  resource.  The contents of the resource is not examined;
  it is simply used as an indicator that this JAR file
  contains JavaServer Faces related artifacts.


-- 
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@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org