OK, I figured this one out. The client side exception is "unable to get ulc session"... but you can log into the GAE dashboard and see the server side logs. The actual error was a serialization error. Some of our objects were not serializable, and this was the result.
For future GAE developers: be sure to look at the /correct/ server logs. Most server side unhandled exceptions result in a "unable to get ulc session" error. -- Hamlet D'Arcy [email protected] ----- Original Message ----- > Has anyone ever seen this before? > > Do you think this is some issue with the ulc project generator? Should > I try to make a project from scratch myself? > > > -- > Hamlet D'Arcy > [email protected] > > ----- Original Message ----- > > I have a very simple application I created with the ULC Project > > Generator. I have one simple Java Bean and I generated all the views > > off of it with the bean-view-generator. I then used the "copy to > > appengine" script to move everything into a GAE app. > > > > When I run the program locally (or remotely on Google App Engine), > > when I close a window I get this exception. > > > > Any ideas how to fix it? > > > > 21.07.2010 09:37:23.054 1,000 SEVERE > > thread[2133178...@qtp-2054961285-3,5,main] > > com.ulcjava.container.servlet.server.ServletContainerAdapterHelper b > > got servlet exception while processing > > [javax.servlet.ServletException: unable to get ulc session (session > > already terminated) > > at > > com.ulcjava.container.servlet.server.ContainerCommand.getUlcSession(ContainerCommand.java:22) > > at > > com.ulcjava.container.servlet.server.SendRequestsCommand.handleRequestContent(SendRequestsCommand.java:21) > > at > > com.ulcjava.container.servlet.server.ContainerCommand.execute(ContainerCommand.java:52) > > at > > com.ulcjava.container.servlet.server.ServletContainerAdapterHelper.b(ServletContainerAdapterHelper.java:235) > > at > > com.ulcjava.container.servlet.server.ServletContainerAdapterHelper.service(ServletContainerAdapterHelper.java:42) > > at > > com.ulcjava.container.servlet.server.ServletContainerAdapter.service(ServletContainerAdapter.java:4) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > > at > > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) > > at > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) > > at > > com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:51) > > at > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > > at > > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) > > at > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > > at > > com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122) > > at > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > > at > > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) > > at > > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > > at > > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) > > at > > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) > > at > > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) > > at > > com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70) > > at > > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > > at > > com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:349) > > 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.content(HttpConnection.java:938) > > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) > > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) > > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > > at > > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) > > at > > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) > > > > > > -- > > Hamlet D'Arcy > > [email protected] _______________________________________________ ULC-developer mailing list [email protected] http://lists.canoo.com/mailman/listinfo/ulc-developer
