Support Article
Application crashed due to OOM error
SA-35730
Summary
The application crashed due to an Out-of-Memory (OOM) error, majority of the heap is occupied by PALSnapshotsImpl objects.
Error Messages
2017-03-12 09:54:34,006 [PRPCWorkManager : 12] [ STANDARD] [ ] [ PegaRULES:07.10] (nitor.internal.UsageDaemonImpl) ERROR - Usage Daemon exiting with exception:
com.pega.pegarules.pub.PRRuntimeException: Method Invocation exception
at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1272)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1008)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:841)
at com.pega.pegarules.monitor.internal.UsageDaemonImpl.processData(UsageDaemonImpl.java:738)
at com.pega.pegarules.monitor.internal.UsageDaemonImpl.run(UsageDaemonImpl.java:666)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.processAsyncTask(AsyncServant.java:244)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.invoke(AsyncServant.java:167)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:315)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:263)
at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.invokeEngine(EngineBean.java:225)
at sun.reflect.GeneratedMethodAccessor124.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:367)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:408)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:223)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingException(AppServerBridgeToPega.java:245)
at com.pega.pegarules.internal.etier.ejb.EngineBeanBoot.invokeEngine(EngineBeanBoot.java:168)
at com.pega.pegarules.internal.etier.interfaces.EJSLocalStatelessEngineBMT_f2439d86.invokeEngine(Unknown Source)
at com.pega.pegarules.session.internal.engineinterface.etier.mdb.PRAsync.processRequest(PRAsync.java:155)
at com.pega.pegarules.session.internal.engineinterface.etier.asynchbeans.AsyncTask.run(AsyncTask.java:64)
at com.pega.pegarules.session.internal.engineinterface.etier.asynchbeans.RunnableWrapper.run(RunnableWrapper.java:71)
at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:271)
at java.security.AccessController.doPrivileged(AccessController.java:363)
at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:797)
at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:222)
at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.java:206)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1720)
Caused by:
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor211.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1270)
... 27 more
Caused by:
java.lang.NoClassDefFoundError: com/pega/apache/log4j/AsyncAppender$DiscardSummary
at com.pega.apache.log4j.AsyncAppender.append(AsyncAppender.java:210)
at com.pega.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230)
at com.pega.pegarules.priv.LogHelper.logToSpecifiedAppender(LogHelper.java:2223)
at com.pega.pegarules.priv.LogHelper.doAlert(LogHelper.java:2167)
at com.pega.pegarules.priv.LogHelper.doAlert(LogHelper.java:1713)
at com.pega.pegarules.priv.LogHelper.doAlertException(LogHelper.java:1430)
at com.pega.pegarules.priv.LogHelper.error(LogHelper.java:1355)
at com.pega.pegarules.data.internal.access.DatabaseImpl.processUpdates(DatabaseImpl.java:2343)
at com.pega.pegarules.data.internal.access.DatabaseImpl.commit(DatabaseImpl.java:2047)
at com.pega.pegarules.monitor.internal.UsageDaemonImpl.processUsageData(UsageDaemonImpl.java:1018)
... 31 more
Steps to Reproduce
DB connection error which caused Usage Daemon to exit.
That causes PALSnapshotsImpl to pile up in the heap and eventually causes OOM.
Root Cause
Usage daemon did not handle DB connection error and exit.
Resolution
Apply HFix-33306.
Published April 10, 2017 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.