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

Jochen Kemnade commented on TAP5-2458:
--------------------------------------

I also think that a redirect/reload should be performed. The fix you propose 
seems to do the trick. I'd rather commit a test along with the fix, but I won't 
find the time to write one in the near future.

> "Unable to resolve 'null' to a known page name"
> -----------------------------------------------
>
>                 Key: TAP5-2458
>                 URL: https://issues.apache.org/jira/browse/TAP5-2458
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core, tapestry-ioc
>    Affects Versions: 5.4, 5.3.8
>            Reporter: Andrej Kriukovskij
>
> "Unable to resolve 'null' to a known page name" exception generated on ajax 
> event (such as asynchronous form submission) when the session is expired
> {code}
> org.apache.tapestry5.ioc.internal.OperationException: Unable to resolve 
> 'null' to a known page name.
>       at 
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:184)
>  
>       at 
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:118)
>  
>       at 
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.perform(PerThreadOperationTracker.java:84)
>  
>       at 
> org.apache.tapestry5.ioc.internal.RegistryImpl.perform(RegistryImpl.java:1264)
>  
>       at 
> org.apache.tapestry5.internal.services.DeferredResponseRenderer.invokeQueuedRenderer(DeferredResponseRenderer.java:73)
>  
>       at 
> org.apache.tapestry5.internal.services.DeferredResponseRenderer.handleComponentEvent(DeferredResponseRenderer.java:47)
>  
>       at $ComponentRequestHandler_2ff4008f984.handleComponentEvent(Unknown 
> Source) 
>       at 
> org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
>  
>       at $ComponentRequestHandler_2ff4008f984.handleComponentEvent(Unknown 
> Source) 
>       at 
> org.apache.tapestry5.internal.services.RequestOperationTracker$1.perform(RequestOperationTracker.java:55)
>  
>       at 
> org.apache.tapestry5.internal.services.RequestOperationTracker$1.perform(RequestOperationTracker.java:52)
>  
>       at 
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:110)
>  
>       at 
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.perform(PerThreadOperationTracker.java:84)
>  
>       at 
> org.apache.tapestry5.ioc.internal.RegistryImpl.perform(RegistryImpl.java:1264)
>  
>       at 
> org.apache.tapestry5.internal.services.RequestOperationTracker.handleComponentEvent(RequestOperationTracker.java:47)
>  
>       at $ComponentRequestHandler_2ff4008f984.handleComponentEvent(Unknown 
> Source) 
>       at $ComponentRequestHandler_2ff4008f94c.handleComponentEvent(Unknown 
> Source) 
>       at 
> org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:48)
>  
>       at $Dispatcher_2ff4008f94f.dispatch(Unknown Source) 
>       at $Dispatcher_2ff4008f946.dispatch(Unknown Source) 
>       at 
> org.apache.tapestry5.modules.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:304)
>  
>       at app.services.AppModule$1.service(AppModule.java:78) 
> ~[AppModule$1.class:na]
>       at $RequestFilter_2ff4008f945.service(Unknown Source) 
>       at $RequestHandler_2ff4008f947.service(Unknown Source) 
>       at 
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
>  
>       at $RequestHandler_2ff4008f947.service(Unknown Source) 
>       at 
> org.apache.tapestry5.modules.TapestryModule$3.service(TapestryModule.java:854)
>  
>       at $RequestHandler_2ff4008f947.service(Unknown Source) 
>       at 
> org.apache.tapestry5.modules.TapestryModule$2.service(TapestryModule.java:844)
>  
>       at $RequestHandler_2ff4008f947.service(Unknown Source) 
>       at 
> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:89)
>  
>       at $RequestHandler_2ff4008f947.service(Unknown Source) 
>       at 
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
>  
>       at 
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
>  
>       at 
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
>  
>       at 
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
>  
>       at $RequestHandler_2ff4008f947.service(Unknown Source) 
>       at $RequestHandler_2ff4008f93b.service(Unknown Source) 
>       at 
> org.apache.tapestry5.modules.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:255)
>  
>       at 
> org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:59) 
>       at $HttpServletRequestHandler_2ff4008f93d.service(Unknown Source) 
>       at 
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
>  
>       at $HttpServletRequestFilter_2ff4008f938.service(Unknown Source) 
>       at $HttpServletRequestHandler_2ff4008f93d.service(Unknown Source) 
>       at 
> org.apache.tapestry5.modules.TapestryModule$1.service(TapestryModule.java:804)
>  
>       at $HttpServletRequestHandler_2ff4008f93d.service(Unknown Source) 
>       at $HttpServletRequestHandler_2ff4008f937.service(Unknown Source) 
>       at 
> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:166) 
>       at app.App.doFilter(App.java:56) [App.class:na]
>       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:205)
>  
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>  
>       at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
>  
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>  
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
>       at 
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>  
>       at 
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>  
>       at 
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>  
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  
>       at java.lang.Thread.run(Thread.java:745) 
> Caused by: org.apache.tapestry5.ioc.util.UnknownValueException: Unable to 
> resolve 'null' to a known page name.
>       at 
> org.apache.tapestry5.internal.services.ComponentClassResolverImpl.canonicalizePageName(ComponentClassResolverImpl.java:685)
>  
>       at $ComponentClassResolver_2ff4008f92b.canonicalizePageName(Unknown 
> Source) 
>       at 
> org.apache.tapestry5.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:80)
>  
>       at $RequestPageCache_2ff4008f98a.get(Unknown Source) 
>       at $RequestPageCache_2ff4008f985.get(Unknown Source) 
>       at 
> org.apache.tapestry5.internal.services.MarkupWriterFactoryImpl.newPartialMarkupWriter(MarkupWriterFactoryImpl.java:142)
>  
>       at $MarkupWriterFactory_2ff4008fa6f.newPartialMarkupWriter(Unknown 
> Source) 
>       at 
> org.apache.tapestry5.internal.services.AjaxPartialResponseRendererImpl$1.perform(AjaxPartialResponseRendererImpl.java:84)
>  
>       at 
> org.apache.tapestry5.internal.services.AjaxPartialResponseRendererImpl$1.perform(AjaxPartialResponseRendererImpl.java:75)
>  
>       at 
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:110)
>  
>       ... 62 common frames omitted
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to