As I reported in my previous post: https://groups.google.com/group/google-appengine-java/browse_thread/thread/3486790b7f5fd061, I am having this PermGen issue consistently now.
I think that it's really related to local dev environment support for Backend service. Please take a look at following stacktrace. It originated from BackendServersFilter. If I disabled Backend Service on my local dev, I don't have PermGen issue. java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java: 176) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at org.codehaus.jackson.util.BufferRecycler.<init>(BufferRecycler.java: 48) at org.codehaus.jackson.JsonFactory._getBufferRecycler(JsonFactory.java: 601) at org.codehaus.jackson.JsonFactory._createContext(JsonFactory.java: 532) at org.codehaus.jackson.JsonFactory.createJsonGenerator(JsonFactory.java: 458) at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.writeInternal(MappingJacksonHttpMessageConverter.java: 148) at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java: 181) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter $ServletHandlerMethodInvoker.writeWithMessageConverters(AnnotationMethodHandlerAdapter.java: 975) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter $ServletHandlerMethodInvoker.handleResponseBody(AnnotationMethodHandlerAdapter.java: 933) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter $ServletHandlerMethodInvoker.getModelAndView(AnnotationMethodHandlerAdapter.java: 882) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java: 428) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java: 414) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java: 790) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java: 719) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java: 644) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java: 549) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 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.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java: 97) Jan 5, 2012 2:32:18 AM com.google.apphosting.utils.jetty.JettyLogger warn WARNING: /saveItem java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java: 176) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at com.google.apphosting.api.DatastorePb $PutResponse.<clinit>(DatastorePb.java:11932) at com.google.appengine.api.datastore.AsyncDatastoreServiceImpl.doBatchPutBySize(AsyncDatastoreServiceImpl.java: 523) at com.google.appengine.api.datastore.AsyncDatastoreServiceImpl.put(AsyncDatastoreServiceImpl.java: 466) at com.google.appengine.api.datastore.DatastoreServiceImpl $2.runInternal(DatastoreServiceImpl.java:113) at com.google.appengine.api.datastore.DatastoreServiceImpl $2.runInternal(DatastoreServiceImpl.java:110) at com.google.appengine.api.datastore.TransactionRunner.runInTransaction(TransactionRunner.java: 31) at com.google.appengine.api.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java: 110) at com.google.appengine.api.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java: 94) at org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.put(RuntimeExceptionWrappingDatastoreService.java: 96) at org.datanucleus.store.appengine.DatastorePersistenceHandler.put(DatastorePersistenceHandler.java: 196) at org.datanucleus.store.appengine.DatastorePersistenceHandler.put(DatastorePersistenceHandler.java: 137) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObjects(DatastorePersistenceHandler.java: 270) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObject(DatastorePersistenceHandler.java: 256) at org.datanucleus.state.JDOStateManagerImpl.internalMakePersistent(JDOStateManagerImpl.java: 3185) at org.datanucleus.state.JDOStateManagerImpl.makePersistent(JDOStateManagerImpl.java: 3161) at org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java: 1298) at org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl.java: 1175) at org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java: 669) at org.datanucleus.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java: 694) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) -- 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.