Have you added an issue yet? On Wed, Apr 23, 2008 at 6:51 AM, Chris Lewis <[EMAIL PROTECTED]> wrote: > Tapestry team, > > Sven stumbled over situation in which Tapestry falls over when loading > component classes, throwing an OOM exception. He and I have been looking > into the problem which was first believed to be caused by a package > structure being to deep. However after some closer examination, it's not > that. The issue has to do with a temporary queue used to hold package > names to be scanned for class files, in > org.apache.tapestry.ioc.internal.services.ClassNameLocatorImpl. For more > detail see the original bug report with our findings here: > > http://code.google.com/p/tapestry5-components/issues/detail?id=55 > > What it comes down to is this: if you have a file in the components > package without a file extension (such as MIT-LICENSE), Tapestry will > fail to start because it will have exhausted it's available memory and > have thrown a java.lang.OutOfMemoryError exception. It assumes such > files are directory names, and then tacks on a '/' and pushes it on to > the queue to be searched. This results in a loop that fills the queue > with bogus package names until the memory is gone. > > Clearly this is an issue and I wanted to provide a patch, but having > looked a bit at the code, I'm not sure how one can determine if the > simple strings represent actual directories (as opposed to files with no > extensions). A new file object could be created, but doing that for each > iteration seems like it might be slow, as does querying the queue each > time to see if that package is already contained. > > -- > http://thegodcode.net > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
-- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
