Unfortunately, I don't understand exactly why the problem is still occurring
for you. The stacktrace you shared points directly to failure of
deserialization of a session attribute:
....
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
* at com.google.apphosting.runtime.**jetty.SessionManager.**
deserialize(SessionManager.java:358)
* at
com.google.apphosting.runtime.jetty.SessionManager.loadSession(SessionManager.java:280)
....
Are you absolutely sure you're not putting something into the HttpSession?
The two steps I would take are to:
1) disable http sessions in appengine-web.xml then
2) delete all http sessions saved in the datastore
On Wed, Aug 19, 2009 at 10:45 AM, James H <[email protected]>wrote:
>
> Ok, I reviewed my use of Session attribute (I only use 1 called
> userSession) and cleaned up a few things such as the serial UID, etc.
> During production testing, I also Deleted the _ah_Session rows and I
> notice the problem still occurred on the home page as before. So, I
> modified the app to NOT perform any session.put() calls. And this
> same exception is still occurring.
>
> The behavior is as follows. Launch a new browser and the home page
> comes up, try to Refresh the home page and the exception gets thrown.
> Is it possible the deploy is NOT refreshing ALL my code in
> production? Is there a way to force the deploy to do a truncate/load
> rather than an incremental? I hate to think there are some stale
> classes out there being loaded somehow...
>
> So, as before I do NOT see any relation at this point between this
> error and my coding. From the trace, the error is NOT occurring
> within the scope of my code. Any other ideas?
>
> On Aug 18, 6:42 pm, Toby Reyelts <[email protected]> wrote:
> > You probably have something stored in your session that's not
> deserializing.
> > If you clear your sessions, this problem should go away. In the next
> > release, this problem should be fixed under most circumstances.
> >
> >
> >
> > On Tue, Aug 18, 2009 at 6:05 PM, James H <[email protected]>
> wrote:
> >
> > > My app has been working well, but after this weekends changes my
> > > deployment does NOT come online clean...though I can't related the
> > > error to anything that has changed. The stack trace is attempting to
> > > load the JSP, so it doesn't appear the problem is related to running
> > > the JSP. Hence, execution has NOT reached my code! Any ideas?
> >
> > > Naturally, all works fine during local testing. So, this is only
> > > failing in production.
> >
> > > EXCEPTION
> > > javax.servlet.ServletException: java.lang.ArrayStoreException:
> > > [Ljava.lang.String;
> > > at
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle
> > > (AppVersionHandlerMap.java:239)
> > > at org.mortbay.jetty.handler.HandlerWrapper.handle
> > > (HandlerWrapper.java:139)
> > > at org.mortbay.jetty.Server.handle(Server.java:313)
> > > at
> > > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
> > > 506)
> > > at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete
> > > (HttpConnection.java:830)
> > > at
> > > com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable
> > > (RpcRequestParser.java:76)
> > > at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
> > > at
> >
> > >
> com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequesÂt
> > > (JettyServletEngineAdapter.java:139)
> > > at com.google.apphosting.runtime.JavaRuntime.handleRequest
> > > (JavaRuntime.java:235)
> > > at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> > > $6.handleBlockingRequest(RuntimePb.java:4823)
> > > at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> > > $6.handleBlockingRequest(RuntimePb.java:4821)
> > > at
> com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest
> > > (BlockingApplicationHandler.java:24)
> > > at
> com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
> > > 359)
> > > at com.google.net.rpc.impl.Server$2.run(Server.java:820)
> > > at com.google.tracing.LocalTraceSpanRunnable.run
> > > (LocalTraceSpanRunnable.java:56)
> > > at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan
> > > (LocalTraceSpanBuilder.java:516)
> > > at com.google.net.rpc.impl.Server.startRpc(Server.java:775)
> > > at
> com.google.net.rpc.impl.Server.processRequest(Server.java:348)
> > > at com.google.net.rpc.impl.ServerConnection.messageReceived
> > > (ServerConnection.java:436)
> > > at com.google.net.rpc.impl.RpcConnection.parseMessages
> > > (RpcConnection.java:319)
> > > at com.google.net.rpc.impl.RpcConnection.dataReceived
> > > (RpcConnection.java:290)
> > > at
> com.google.net.async.Connection.handleReadEvent(Connection.java:
> > > 428)
> > > at com.google.net.async.EventDispatcher.processNetworkEvents
> > > (EventDispatcher.java:762)
> > > at com.google.net.async.EventDispatcher.internalLoop
> > > (EventDispatcher.java:207)
> > > at
> com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
> > > 101)
> > > at com.google.net.rpc.RpcService.runUntilServerShutdown
> > > (RpcService.java:251)
> > > at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run
> > > (JavaRuntime.java:374)
> > > at java.lang.Thread.run(Unknown Source)
> > > Caused by: java.lang.ArrayStoreException: [Ljava.lang.String;
> > > at java.io.ObjectInputStream.readArray(Unknown Source)
> > > at java.io.ObjectInputStream.readObject0(Unknown Source)
> > > at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
> > > at java.io.ObjectInputStream.readSerialData(Unknown Source)
> > > at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
> > > at java.io.ObjectInputStream.readObject0(Unknown Source)
> > > at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
> > > at java.io.ObjectInputStream.readSerialData(Unknown Source)
> > > at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
> > > at java.io.ObjectInputStream.readObject0(Unknown Source)
> > > at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
> > > at java.io.ObjectInputStream.readSerialData(Unknown Source)
> > > at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
> > > at java.io.ObjectInputStream.readObject0(Unknown Source)
> > > at java.io.ObjectInputStream.readObject(Unknown Source)
> > > at java.util.HashMap.readObject(Unknown Source)
> > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> > > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
> > > at java.lang.reflect.Method.invoke(Unknown Source)
> > > at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
> > > at java.io.ObjectInputStream.readSerialData(Unknown Source)
> > > at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
> > > at java.io.ObjectInputStream.readObject0(Unknown Source)
> > > at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
> > > at java.io.ObjectInputStream.readSerialData(Unknown Source)
> > > at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
> > > at java.io.ObjectInputStream.readObject0(Unknown Source)
> > > at java.io.ObjectInputStream.readObject(Unknown Source)
> > > at
> com.google.apphosting.runtime.jetty.SessionManager.deserialize
> > > (SessionManager.java:358)
> > > at
> com.google.apphosting.runtime.jetty.SessionManager.loadSession
> > > (SessionManager.java:280)
> > > at com.google.apphosting.runtime.jetty.SessionManager.getSession
> > > (SessionManager.java:255)
> > > at
> org.mortbay.jetty.servlet.AbstractSessionManager.getHttpSession
> > > (AbstractSessionManager.java:237)
> > > at org.mortbay.jetty.Request.getSession(Request.java:998)
> > > at org.mortbay.jetty.servlet.SessionHandler.handle
> > > (SessionHandler.java:192)
> > > at org.mortbay.jetty.handler.ContextHandler.handle
> > > (ContextHandler.java:712)
> > > at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
> > > 405)
> > > at
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle
> > > (AppVersionHandlerMap.java:237)
> > > ... 27 more- Hide quoted text -
> >
> > - Show quoted text -
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google App Engine for Java" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/google-appengine-java?hl=en
-~----------~----~----~----~------~----~------~--~---