Similar problem with SimpleDateFormat here -> http://groups.google.com/group/google-appengine-java/browse_thread/thread/a7ea6dd1e097d496?pli=1
On Aug 20, 10:46 am, James H <james.hollier...@gmail.com> wrote: > Ah yes, I was looking for that very switch to disable Sessions and it > did help isolate the problem towards a field within my class being > pushed into the Session. The field is java.text.SimpleDateFormat > which does implement Serializable so don't know why the system would > be able to serialize it, then NOT be able to deserialize it. I think > for now I will tag it as Transient and re-init it before use. > > On Aug 19, 10:17 am, Toby Reyelts <to...@google.com> wrote: > > > 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 <james.hollier...@gmail.com>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 <to...@google.com> 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 <james.hollier...@gmail.com> > > > 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.serviceRequest > > > > > (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 > > ... > > read more » --~--~---------~--~----~------------~-------~--~----~ 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 google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~----------~----~----~----~------~----~------~--~---