Werner Punz created MYFACES-4471: ------------------------------------ Summary: java.lang.NullPointerException at org.apache.myfaces.cdi.util.AbstractContextualStorageHolder.destroyAll(AbstractContextualStorageHolder.java:201) Key: MYFACES-4471 URL: https://issues.apache.org/jira/browse/MYFACES-4471 Project: MyFaces Core Issue Type: Bug Components: General Affects Versions: 4.0.0-RC2 Environment: Java 9 or higher, MyFaces 4.0 main branch (snapshot) before RC2 Reporter: Werner Punz
During my integration testing for the new scripts I ran into this issue. It seems that some context "pointers" are not cleared up properly in my testcase and reference after a while context entries which have dropped out of the state history. The problem is not related to my scripts, because the same test works for jsf 2.3 flawlessly with the same scripts and a 2.3 shim. So the javascript code executed is the same. Reproducible: https://github.com/werpu/myfaces-js-integrationtests/tree/faces_40_viestate_bug then run the project via mvn clean clean install exec:java -f pom.xml then point your browser to: [http://localhost:8080/IntegrationJSTest/loop/test8-navcase1.jsf?autoTest=true] or follow the link to the loop navigation test in the index.html Let it run, after roughly a minute you should get following error: java.lang.NullPointerException viewId=/loop/test8-navcase1.xhtml location=/Users/werpu2/development/workspace/myfaces-js-integrationtests/src/main/webapp/loop/test8-navcase1.xhtml phaseId=RENDER_RESPONSE(6) Caused by: java.lang.NullPointerException at org.apache.myfaces.cdi.util.AbstractContextualStorageHolder.destroyAll(AbstractContextualStorageHolder.java:201) Stack Trace: {{java.lang.NullPointerException at org.apache.myfaces.cdi.util.AbstractContextualStorageHolder.destroyAll(AbstractContextualStorageHolder.java:201) at org.apache.myfaces.cdi.util.AbstractContextualStorageHolder.destroyAll(AbstractContextualStorageHolder.java:242) at org.apache.myfaces.cdi.view.ViewScopeContextualStorageHolder$Proxy$_$$_WeldClientProxy.destroyAll(Unknown Source) at org.apache.myfaces.cdi.view.ViewScopeContext.destroyAll(ViewScopeContext.java:202) at org.apache.myfaces.application.viewstate.SerializedViewCollection.lambda$put$1(SerializedViewCollection.java:71) at org.apache.myfaces.application.viewstate.SerializedViewCollection.put(SerializedViewCollection.java:228) at org.apache.myfaces.application.viewstate.SerializedViewCollection.put(SerializedViewCollection.java:70) at org.apache.myfaces.application.viewstate.StateCacheServerSide.saveSerializedViewInSession(StateCacheServerSide.java:196) at org.apache.myfaces.application.viewstate.StateCacheServerSide.saveSerializedView(StateCacheServerSide.java:465) at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.saveState(HtmlResponseStateManager.java:107) at org.apache.myfaces.view.facelets.PartialStateManagementStrategy.saveView(PartialStateManagementStrategy.java:794) at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1854) at org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:316) at jakarta.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:74) at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:122) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241) at jakarta.faces.webapp.FacesServlet.service(FacesServlet.java:225) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834)}} -- This message was sent by Atlassian Jira (v8.20.10#820010)