Return-Path: Delivered-To: apmail-myfaces-dev-archive@www.apache.org Received: (qmail 7041 invoked from network); 18 Feb 2010 17:28:52 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 18 Feb 2010 17:28:52 -0000 Received: (qmail 2348 invoked by uid 500); 18 Feb 2010 17:28:51 -0000 Delivered-To: apmail-myfaces-dev-archive@myfaces.apache.org Received: (qmail 2262 invoked by uid 500); 18 Feb 2010 17:28:51 -0000 Mailing-List: contact dev-help@myfaces.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "MyFaces Development" Delivered-To: mailing list dev@myfaces.apache.org Received: (qmail 2254 invoked by uid 99); 18 Feb 2010 17:28:51 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 18 Feb 2010 17:28:51 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 18 Feb 2010 17:28:50 +0000 Received: from brutus.apache.org (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id F3E5329A0016 for ; Thu, 18 Feb 2010 09:28:28 -0800 (PST) Message-ID: <703044678.364321266514108997.JavaMail.jira@brutus.apache.org> Date: Thu, 18 Feb 2010 17:28:28 +0000 (UTC) From: "Jakob Korherr (JIRA)" To: dev@myfaces.apache.org Subject: [jira] Commented: (MYFACES-2561) StackOverflowError if a composite component implementation uses another composite component In-Reply-To: <770577585.299201266329607972.JavaMail.jira@brutus.apache.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/MYFACES-2561?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12835299#action_12835299 ] Jakob Korherr commented on MYFACES-2561: ---------------------------------------- Good point, I haven't thought of that. OK I'll change this to set the related composite component to a attribute on the FacesContext and to evaluate this attribute on CompositeComponentImplicitObject. After that and after the problem with the MethodExpressions we can commit the changes, because RI does the same. Or should be let this open with an available patch and wait for the official spec change? > 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 > Attachments: 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.