https://issues.apache.org/jira/browse/TAPESTRY-2384
Thar she blows! Howard Lewis Ship wrote: > 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] >> >> >> > > > > -- http://thegodcode.net
