[ http://issues.apache.org/jira/browse/TAPESTRY-638?page=all ]
Andreas Andreou updated TAPESTRY-638: ------------------------------------- Fix Version: 4.0.3 (was: 4.0) > Recursive components result in a StackOverflowError > --------------------------------------------------- > > Key: TAPESTRY-638 > URL: http://issues.apache.org/jira/browse/TAPESTRY-638 > Project: Tapestry > Type: Bug > Components: Framework > Environment: 4.0-beta-6 > Reporter: Howard M. Lewis Ship > Priority: Minor > Fix For: 4.0.3 > > If a component includes itself in its template, we get a stack overflow. > Ideally, we should be able to detect this early as an error. > org.apache.hivemind.ApplicationRuntimeException > Could not load class Border from [EMAIL PROTECTED]: > java.lang.StackOverflowError > > java.lang.StackOverflowError > Stack Trace: > * java.lang.Exception.<init>(Exception.java:77) > * > java.security.PrivilegedActionException.<init>(PrivilegedActionException.java:48) > * java.security.AccessController.doPrivileged(Native Method) > * java.net.URLClassLoader.findClass(URLClassLoader.java:188) > * org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:197) > * org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:170) > * java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) > * java.lang.Class.forName0(Native Method) > * java.lang.Class.forName(Class.java:242) > * > org.apache.hivemind.impl.DefaultClassResolver.lookupClass(DefaultClassResolver.java:101) > * > org.apache.hivemind.impl.DefaultClassResolver.checkForClass(DefaultClassResolver.java:108) > * > org.apache.tapestry.services.impl.ClassFinderImpl.findClass(ClassFinderImpl.java:45) > * $ClassFinder_106413065c7.findClass($ClassFinder_106413065c7.java) > * > org.apache.tapestry.pageload.NamespaceClassSearchComponentClassProvider.provideComponentClassName(NamespaceClassSearchComponentClassProvider.java:44) > * > $ComponentClassProvider_106413066a8.provideComponentClassName($ComponentClassProvider_106413066a8.java) > * > $ComponentClassProvider_10641306680.provideComponentClassName($ComponentClassProvider_10641306680.java) > * > $ComponentClassProvider_1064130667a.provideComponentClassName($ComponentClassProvider_1064130667a.java) > * > org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoader.java:543) > * > org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:512) > * > $IPageLoader_10641306666.createImplicitComponent($IPageLoader_10641306666.java) > * > $IPageLoader_10641306667.createImplicitComponent($IPageLoader_10641306667.java) > * > org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.createImplicitComponent(ComponentTemplateLoaderLogic.java:218) > * > org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(ComponentTemplateLoaderLogic.java:172) > * > org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(ComponentTemplateLoaderLogic.java:111) > * > org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.loadTemplate(ComponentTemplateLoaderLogic.java:88) > * > org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate(ComponentTemplateLoaderImpl.java:60) > * > $ComponentTemplateLoader_10641306670.loadTemplate($ComponentTemplateLoader_10641306670.java) > * > org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent(PageLoader.java:668) > * org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:77) > * org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:107) > * > org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:470) > * > org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:525) > * > $IPageLoader_10641306666.createImplicitComponent($IPageLoader_10641306666.java) > * > $IPageLoader_10641306667.createImplicitComponent($IPageLoader_10641306667.java) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]