Isn't the major source of the OP's memory use though the 600+ new
instances of javassist.CtNewClass in the classes hashmap per page load? Are
you thinking that a simple page with two property selects on it ought to
require 600+ support classes to back it, because that sounds about two
orders of magnitude too high to me.

        Are you sure there's not some sort of underlying bug in javassist
and/or Howards implementation thereof?

        --- Pat

> -----Original Message-----
> From: Hensley, Richard [mailto:[EMAIL PROTECTED]
> Sent: Thursday, October 06, 2005 10:24 AM
> To: Tapestry users
> Subject: RE: OutOfMemoryError Tapestry 4.0
> 
> Generated Classes are loaded into a class loader so they can be
> instantiated
> by Tapestry and Hivemind. The only way to release the generated classes is
> to release the class loader.
> 
> I tried once to evict classes from a ClassLoader while I was doing some
> Groovy stuff, according to the ClassLoader specification, it's not
> possible
> to evict a class. After you think about it for a while, you come to the
> conclusion that this is a good thing.
> 
> I think that Hivemind and Tapestry load the generated classes into the
> same
> class loader that owns the parent class of the generated class. This class
> loader can not be released because it is owned by the application
> container.
> So, the real question is why are some many classes being generated. The
> flag
> noted by Howard below causes a class to be generated each time a page with
> abstract properties is visited. When running in production, my experience
> is
> that the classes only get generated the first time they are needed.
> 
> So, the next avenue of investigation is to figure out what the actual
> generated classes are that were being reported as part of CtClass by the
> memory leak tool.
> 
> Richard
> 
> -----Original Message-----
> From: Leonardo Quijano Vincenzi [mailto:[EMAIL PROTECTED]
> Sent: Thursday, October 06, 2005 10:10 AM
> To: Tapestry users
> Subject: Re: OutOfMemoryError Tapestry 4.0
> 
> Howard Lewis Ship escribió:
> 
> >That might be reasonable if you are running with
> >-Dorg.apache.tapestry.disable-caching=true
> >
> >With caching disabled, Tapestry has to constantly create new enhanced
> >subclasses for every page and every component.
> >
> >
> Shouldn't it delete old classes?
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to