You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Andreas Rusch (Jira)" <de...@myfaces.apache.org> on 2021/03/04 15:53:00 UTC

[jira] [Commented] (MYFACES-4285) NullPointerException because of 4099

    [ https://issues.apache.org/jira/browse/MYFACES-4285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17295365#comment-17295365 ] 

Andreas Rusch commented on MYFACES-4285:
----------------------------------------

[~tandraschko]

Could you please patch this fix also into the 2.2.x branch?

We just ran into this issue using version 2.2.13 after upgrading from 2.2.12.

> NullPointerException because of 4099
> ------------------------------------
>
>                 Key: MYFACES-4285
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4285
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.3.0-beta, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4
>            Reporter: Jiyan Akgül
>            Assignee: Thomas Andraschko
>            Priority: Major
>             Fix For: 2.3-next-M1, 2.3.4
>
>         Attachments: mf4285.zip
>
>
> The improvement 4099 introduced with version 2.3 leads to a NullPointerException in +TagAttributeImpl.java:550 [View File on Github|https://github.com/apache/myfaces/blob/myfaces-core-module-2.3.3/impl/src/main/java/org/apache/myfaces/view/facelets/tag/TagAttributeImpl.java#L550]+
>  
> {code:java}
> Location ccLocation = (Location) actx.getFaceletCompositionContext().
> getCompositeComponentFromStack().getAttributes().get(
> CompositeComponentELUtils.LOCATION_KEY);{code}
> getCompositeComponentFromStack()  returns null, because there is no stack.
> The composite component is not calling any child components and used inside a ui:composition
>  
> Usage of composite component in test.xhtml (simplified)
>  
> {code:java}
> <?xml version='1.0' encoding='UTF-8' ?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <ui:composition xmlns="http://www.w3.org/1999/xhtml"
> xmlns:cw="http://xmlns.jcp.org/jsf/composite/components"
> xmlns:ui="http://java.sun.com/jsf/facelets">
> <cw:attributeGroup
> saveListener="#{customerBean.updateAttributeContainer(cc.wrapper)}"
> wrapper="#{attributeGroup}" />
> </ui:composition>{code}
> The problem is caused because of "cc.wrapper". This worked in 2.2 and now we can't update.
>  
> Error displayed on page (not helpful)
>  
> {code:java}
> /test.xhtml at line 16 and column 37 saveListener="#{customerBean.updateAttributeContainer(cc.wrapper)}" null
> viewId=/test.xhtml
> location=C:\data\workspace-eclipse\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\provDB-webapp\test.xhtml
> phaseId=RENDER_RESPONSE(6)
> Caused by:
> java.lang.NullPointerException - /test.xhtml at line 16 and column 37 saveListener="#{customerBean.updateAttributeContainer(cc.wrapper)}" null
> at org.apache.myfaces.view.facelets.tag.TagAttributeImpl.getValueExpression(TagAttributeImpl.java:550)
> {code}
> Stack Trace
>  
> {code:java}
> javax.faces.view.facelets.TagAttributeException: /test.xhtml at line 16 and column 37 saveListener="#{customerBean.updateAttributeContainer(cc.wrapper)}" null
> 	at org.apache.myfaces.view.facelets.tag.TagAttributeImpl.getValueExpression(TagAttributeImpl.java:578)
> 	at org.apache.myfaces.view.facelets.tag.composite.CompositeComponentRule$ValueExpressionMetadata.applyMetadata(CompositeComponentRule.java:101)
> 	at org.apache.myfaces.view.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:45)
> 	at org.apache.myfaces.view.facelets.tag.composite.CompositeComponentResourceTagHandler.setAttributes(CompositeComponentResourceTagHandler.java:488)
> 	at org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:290)
> 	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:51)
> 	at org.apache.myfaces.view.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:160)
> 	at org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:59)
> 	at org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
> 	at org.apache.myfaces.view.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:187)
> 	at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.buildView(FaceletViewDeclarationLanguage.java:483)
> 	at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:79)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:266)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:206)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> 	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> 	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
> 	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
> 	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
> 	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> 	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
> 	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
> 	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
> 	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
> 	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
> 	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
> 	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
> 	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> 	at de.my.core.tomcat.reverseproxy.ReverseProxySessionManager.doFilter(ReverseProxySessionManager.java:49)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
> 	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
> 	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
> 	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
> 	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
> 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
> 	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> 	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> 	at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.NullPointerException
> 	at org.apache.myfaces.view.facelets.tag.TagAttributeImpl.getValueExpression(TagAttributeImpl.java:550)
> 	... 52 more
> {code}
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)