[ https://issues.apache.org/jira/browse/MYFACES-2561?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jakob Korherr resolved MYFACES-2561. ------------------------------------ Resolution: Fixed Fix Version/s: 2.0.0-beta-3 This one was hard. > StackOverflowError if a composite component implementation uses another > composite component > ------------------------------------------------------------------------------------------- > > Key: MYFACES-2561 > URL: https://issues.apache.org/jira/browse/MYFACES-2561 > Project: MyFaces Core > Issue Type: Bug > Components: JSR-314 > Affects Versions: 2.0.0-beta-3 > Reporter: Jakob Korherr > Assignee: Jakob Korherr > Fix For: 2.0.0-beta-3 > > Attachments: MYFACES-2561-2.patch, MYFACES-2561.patch, test.xhtml, > test1.xhtml, test2.xhtml > > > If you use another composite component in your composite component's > implementation you will get a StackOverflowError. > javax.faces.FacesException: java.lang.StackOverflowError > at > org.apache.myfaces.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241) > at > org.apache.myfaces.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156) > at > org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:216) > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:191) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) > at java.lang.Thread.run(Thread.java:637) > Caused by: java.lang.StackOverflowError > at java.util.ArrayList.toArray(ArrayList.java:306) > at java.util.logging.Logger.getHandlers(Logger.java:1200) > at > java.util.logging.LogManager$RootLogger.getHandlers(LogManager.java:1019) > at java.util.logging.Logger.log(Logger.java:454) > at java.util.logging.Logger.doLog(Logger.java:480) > at java.util.logging.Logger.logp(Logger.java:680) > at org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:167) > at org.apache.juli.logging.DirectJDKLog.error(DirectJDKLog.java:135) > at org.apache.catalina.connector.Request.setAttribute(Request.java:1448) > at > org.apache.catalina.connector.RequestFacade.setAttribute(RequestFacade.java:503) > at > org.apache.myfaces.context.servlet.RequestMap.setAttribute(RequestMap.java:53) > at > org.apache.myfaces.util.AbstractAttributeMap.put(AbstractAttributeMap.java:113) > at > org.apache.myfaces.util.AbstractAttributeMap.put(AbstractAttributeMap.java:1) > at > org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.setScope(FacesCompositeELResolver.java:191) > at > org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:139) > at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:61) > at org.apache.el.parser.AstValue.getValue(AstValue.java:107) > at > org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) > at > org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:84) > at > org.apache.myfaces.el.unified.resolver.CompositeComponentELResolver$CompositeComponentAttributesMapWrapper.get(CompositeComponentELResolver.java:245) > at javax.el.MapELResolver.getValue(MapELResolver.java:51) > at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) > at > org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:140) > at org.apache.el.parser.AstValue.getValue(AstValue.java:118) > at > org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) > at > org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:84) > at > org.apache.myfaces.el.unified.resolver.CompositeComponentELResolver$CompositeComponentAttributesMapWrapper.get(CompositeComponentELResolver.java:245) > at javax.el.MapELResolver.getValue(MapELResolver.java:51) > at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) > at > org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:140) > at org.apache.el.parser.AstValue.getValue(AstValue.java:118) > at > org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) > at > org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:84) > at > org.apache.myfaces.el.unified.resolver.CompositeComponentELResolver$CompositeComponentAttributesMapWrapper.get(CompositeComponentELResolver.java:245) > at javax.el.MapELResolver.getValue(MapELResolver.java:51) > at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) > at > org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:140) > at org.apache.el.parser.AstValue.getValue(AstValue.java:118) > at > org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) > at > org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:84) > at > org.apache.myfaces.el.unified.resolver.CompositeComponentELResolver$CompositeComponentAttributesMapWrapper.get(CompositeComponentELResolver.java:245) > at javax.el.MapELResolver.getValue(MapELResolver.java:51) > at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) > at > org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:140) > at org.apache.el.parser.AstValue.getValue(AstValue.java:118) > ...... > ...... -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.