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 [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.