ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Boisvert <boisv...@intalio.com>
Subject Re: PermGen space during operation
Date Thu, 19 Mar 2009 04:24:44 GMT
It's a bit unusual to run out of PermGen space after a while like this, but
if you're very close to the limit to start with, it's still within the realm
of the possible.   Try increasing the PermGen space limit by, say, 25-50%
and see if the problem reoccurs.   There's no dynamic class loading in Ode
so I'd be surprised if there was a class leak, although even the use of
regular Java Strings have been known to cause
leaks<http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=1cf84381aec1d4c1375a060ca38b?bug_id=4513622>too.

alex


On Wed, Mar 18, 2009 at 6:20 PM, Andi Abes <aabes@progress.com> wrote:

> I got a bunch of these out of memory exceptions (ODE 1.2, tomcat, Linux,
> Hiberate, Oracle). The surprising part is that these occurred only after
> ther server was running happily for a while.As far as I know, PermGen
> space is only used for the actual class definitions, and I'd expect that
> after some stabilization time after startup (and I'm not deploying
> anything new into the engine), then PermGen usage should be stable.
>
> Are there dynamic classes being generated?
>
>
>
>
>
> FATAL - GeronimoLog.fatal(120) | InternalError: BpelEvent serialization
> failed.
>
> java.lang.OutOfMemoryError: PermGen space
>
>        at java.lang.Class.getDeclaredMethods0(Native Method)
>
>        at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
>
>        at java.lang.Class.getDeclaredMethod(Class.java:1907)
>
>        at
> java.io.ObjectStreamClass.getPrivateMethod(ObjectStreamClass.java:1354)
>
>        at
> java.io.ObjectStreamClass.access$1700(ObjectStreamClass.java:52)
>
>        at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:421)
>
>        at java.security.AccessController.doPrivileged(Native Method)
>
>        at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:400)
>
>        at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:297)
>
>        at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:396)
>
>        at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:297)
>
>        at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:396)
>
>        at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:297)
>
>        at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1035)
>
>        at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:13
> 75)
>
>        at
> java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:39
> 1)
>
>        at org.apache.xerces.dom.NodeImpl.writeObject(Unknown Source)
>
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
>
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
>
>        at java.lang.reflect.Method.invoke(Method.java:585)
>
>        at
> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
>
>        at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
>
>        at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1
> 290)
>
>        at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>
>        at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:13
> 75)
>
>        at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
>
>        at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1
> 290)
>
>        at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>
>        at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>
>        at
> org.apache.ode.daohib.bpel.BpelDAOConnectionImpl._insertBpelEvent(BpelDA
> OConnectionImpl.java:179)
>
>        at
> org.apache.ode.daohib.bpel.ProcessInstanceDaoImpl.insertBpelEvent(Proces
> sInstanceDaoImpl.java:306)
>
>
>
>
>
> ERROR - GeronimoLog.error(108) | Error while processing transaction,
> retrying.
>
> org.apache.ode.bpel.iapi.Scheduler$JobProcessorException:
> java.lang.RuntimeException: java.lang.OutOfMemoryError: PermGen space
>
>        at
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.
> java:336)
>
>        at
> org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.
> java:373)
>
>        at
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler
> .java:337)
>
>        at
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler
> .java:336)
>
>        at
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleSc
> heduler.java:174)
>
>        at
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.j
> ava:335)
>
>        at
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.j
> ava:332)
>
>        at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
>
>        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
>
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
> r.java:650)
>
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
> va:675)
>
>        at java.lang.Thread.run(Thread.java:595)
>
> Caused by: java.lang.RuntimeException: java.lang.OutOfMemoryError:
> PermGen space
>
>        at
> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
>
>        at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
>
>        at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeCon
> textImpl.java:835)
>
>        at
> org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(Partn
> erLinkMyRoleImpl.java:197)
>
>        at
> org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:20
> 4)
>
>        at
> org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:
> 372)
>
>        at
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.
> java:326)
>
>        ... 11 more
>
> Caused by: java.lang.OutOfMemoryError: PermGen space
>
>        at java.lang.ClassLoader.defineClass1(Native Method)
>
>        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>
>        at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
>
>        at
> org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappCla
> ssLoader.java:1847)
>
>        at
> org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader
> .java:890)
>
>        at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader
> .java:1354)
>
>        at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader
> .java:1233)
>
>        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>
>        at
> org.hibernate.exception.NestableDelegate.printStackTrace(NestableDelegat
> e.java:325)
>
>        at
> org.hibernate.exception.NestableRuntimeException.printStackTrace(Nestabl
> eRuntimeException.java:195)
>
>        at
> org.apache.log4j.spi.ThrowableInformation.getThrowableStrRep(ThrowableIn
> formation.java:59)
>
>        at
> org.apache.log4j.spi.LoggingEvent.getThrowableStrRep(LoggingEvent.java:3
> 42)
>
>        at
> org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:304)
>
>        at
> org.apache.log4j.WriterAppender.append(WriterAppender.java:159)
>
>        at
> org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230)
>
>        at
> org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(Ap
> penderAttachableImpl.java:65)
>
>        at org.apache.log4j.Category.callAppenders(Category.java:203)
>
>        at org.apache.log4j.Category.forcedLog(Category.java:388)
>
>        at org.apache.log4j.Category.log(Category.java:853)
>
>        at
> org.apache.commons.logging.impl.Log4JLogger.error(Log4JLogger.java:251)
>
>        at
> org.apache.geronimo.kernel.log.GeronimoLog.error(GeronimoLog.java:108)
>
>        at
> org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(
> AbstractFlushingEventListener.java:301)
>
>        at
> org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(Defaul
> tAutoFlushEventListener.java:41)
>
>        at
> org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)
>
>        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114)
>
>        at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
>
>        at
> org.apache.ode.daohib.bpel.ScopeDaoImpl.getVariable(ScopeDaoImpl.java:13
> 1)
>
>        at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.readVariable(BpelRunti
> meContextImpl.java:487)
>
>        at
> org.apache.ode.bpel.runtime.ScopeFrame.fetchVariableData(ScopeFrame.java
> :198)
>
>        at
> org.apache.ode.bpel.runtime.ACTIVITY.fetchVariableData(ACTIVITY.java:154
> )
>
>        at
> org.apache.ode.bpel.runtime.INVOKE.setupOutbound(INVOKE.java:211)
>
>        at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:72)
>
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message