On 12/7/2011 9:50 AM, Matt Benson wrote:
If you can possibly boil this down to a standalone example it would be
much more likely that someone could determine what the problem is.

Sure, but the process of converting from 1.1/JSP to 2.1/Facelets is large but fairly mundane: Value/MethodBinding -> Value/MethodException plus lots of syntactic changes on the UI and some config changes; it is necessarily a 'shotgun refactoring'.

The pages in question currently work with partial state saving, so I'm having a hard time imagining how full state saving could be worse. I was just hoping someone else had done the same. The fact that this works for partial and fails for full suggests a config problem, because everything used to be full state saving.


StateManagerImpl does not set the viewRoot on the FacesContext before calling 
#restoreState() on the
viewRoot.

The ViewRoot is set, the NPE comes from an instance of org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$CacheRenderKit#getRenderKit() returning null. This means that FacesContextImpl has a null renderkit at this moment too (CacheRenderKit sets: _kit = _base.getRenderKit() just before the NPE)

Shane


On Wed, Dec 7, 2011 at 12:30 AM, Shane Petroff <sh...@mayet.ca> wrote:
So, I bit the bullet and converted my app over to facelets. Now I'm having
problems with binding on a particular page, so I decided to try turning
partial state saving off with:

<context-param>
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>
</context-param>

I can work with the login and start page, but anything after throws the NPE
pasted below. What could I have messed up which causes full state saving to
bomb? (myfaces-core-2.1.4, tomahawk20-1.1.11, trinidad-2.0.0 under JDK
1.6.0_29) Thx.

Shane


java.lang.NullPointerException
    at
javax.faces.component.UIComponentBase.getRenderer(UIComponentBase.java:1201)
    at
javax.faces.component.UIComponent$EventListenerWrapper.restoreState(UIComponent.java:1591)
    at
javax.faces.component.UIComponentBase.restoreAttachedState(UIComponentBase.java:1776)
    at javax.faces.component._DeltaList.restoreState(_DeltaList.java:253)
    at
javax.faces.component.UIComponentBase.restoreAttachedState(UIComponentBase.java:1776)
    at
javax.faces.component.UIComponentBase.restoreFullSystemEventListenerClassMap(UIComponentBase.java:2058)
    at
javax.faces.component.UIComponentBase.restoreState(UIComponentBase.java:1906)
    at
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1496)
    at
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1540)
    at
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1540)
    at
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1540)
    at
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1540)
    at
javax.faces.component.UIViewRoot.processRestoreState(UIViewRoot.java:765)
    at
org.apache.myfaces.trinidadinternal.application.StateManagerImpl.restoreView(StateManagerImpl.java:701)
    at
org.apache.myfaces.shared.view.ViewDeclarationLanguageBase.restoreView(ViewDeclarationLanguageBase.java:106)
    at
org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.restoreView(FaceletViewDeclarationLanguage.java:2037)
    at
org.apache.myfaces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:300)
    at
javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:83)
    at
javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:83)
    at
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:242)
    at
org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:127)
    at
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
    at
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:357)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
    at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
    at
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
    at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
    at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
    at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

--
Shane



--
Shane

Reply via email to