Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-2561

StackOverflowError if a composite component implementation uses another composite component

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0-beta-3
    • 2.0.0-beta-3
    • JSR-314
    • None

    Description

      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)
      ......
      ......

      Attachments

        1. MYFACES-2561.patch
          21 kB
          Jakob Korherr
        2. MYFACES-2561-2.patch
          42 kB
          Jakob Korherr
        3. test.xhtml
          0.5 kB
          Jakob Korherr
        4. test1.xhtml
          0.9 kB
          Jakob Korherr
        5. test2.xhtml
          0.8 kB
          Jakob Korherr

        Issue Links

          Activity

            People

              jakobkorherr Jakob Korherr
              jakobkorherr Jakob Korherr
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: