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.

Reply via email to