Let's move the conversation in the mailing lists so other devs can help too.

The stacktrace below looks like the problem in
https://issues.apache.org/jira/browse/WICKET-3470 but in the opposite
direction - the application tries to load a persisted session data but
WicketFilter is not yet initialized and thus the PageManger has no knowledge
about the current application.

As described by Greg Wilkins at
http://jira.codehaus.org/browse/JETTY-1266?focusedCommentId=235865&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_235865the
order in Jetty is:
Context->Session->Security->Servlet.
Reading the response of Mark Thomas in WICKET-3470 I understand that Tomcat
6 and 7 also use similar order (and the Servlet spec actually says that a
servlet can be destroyed without clearing the session data).

Now I'm starting to think that Wicket really needs ServletContextListener
which will do some of the work currently WicketFilter #init() and #destroy()
do.

On Sun, Feb 27, 2011 at 11:08 PM, Jeremy Fassler
<[email protected]>wrote:

>  Here you go:
>
>
>    1.  W 2011-02-27 11:07:24.529
>
>    
> http://latest.test.dominion4j.appspot.com/wicket/page;jsessionid=t15v8Xq2SF_7DtRDI69iWw?0-1.ILinkListener-page2
>    javax.servlet.ServletException: java.lang.IllegalStateException: 
> PageManager for application 'wicket.domination' not registered.
>       at 
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:240)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>       at org.mortbay.jetty.Server.
>    handle(Server.java:326)
>       at 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>       at 
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
>       at 
> com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
>       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>       at 
> com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135)
>       at 
> com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:261)
>       at 
> com.google.apphosting.base.RuntimePb$EvaluationRuntime$2.handleRequest(RuntimePb.java:8440)
>       at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:454)
>       at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:572)
>       at 
> com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:448)
>       at com.google.tracing.TraceContext.runInContext(TraceContext.java:688)
>       at 
> com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:326)
>       at 
> com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:318)
>       at 
> com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:446)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>       at java.lang.Thread.run(Thread.java:636)
>    Caused by: java.lang.IllegalStateException: PageManager for application 
> 'wicket.domination' not registered.
>       at 
> org.apache.wicket.page.PersistentPageManager$SessionEntry.getPageStore(PersistentPageManager.java:102)
>       at 
> org.apache.wicket.page.PersistentPageManager$SessionEntry.readObject(PersistentPageManager.java:238)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:616)
>       at 
> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:991)
>       at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1865)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
>       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
>       at java.util.HashMap.readObject(HashMap.java:1047)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:616)
>       at 
> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:991)
>       at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1865)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
>       at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963)
>       at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
>       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
>       at 
> com.google.apphosting.runtime.jetty.SessionManager.deserialize(SessionManager.java:417)
>       at 
> com.google.apphosting.runtime.jetty.SessionManager.loadSession(SessionManager.java:315)
>       at 
> com.google.apphosting.runtime.jetty.SessionManager.getSession(SessionManager.java:288)
>       at 
> org.mortbay.jetty.servlet.AbstractSessionManager.getHttpSession(AbstractSessionManager.java:237)
>       at 
> org.mortbay.jetty.servlet.SessionHandler.setRequestedId(SessionHandler.java:246)
>       at 
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:136)
>       at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>       at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>       at 
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238)
>       ... 19 more
>
>
>
>
> On 2/27/2011 12:59 AM, Martin Grigorov wrote:
>
> Hi,
>
>  I just fixed this. See https://issues.apache.org/jira/browse/WICKET-3483
> Thanks !
>
>
>

Reply via email to