RMI Log error "getBacklogAndHistory : java.lang.OutOfMemoryError: Java heap space"
search cancel

RMI Log error "getBacklogAndHistory : java.lang.OutOfMemoryError: Java heap space"

book

Article ID: 209540

calendar_today

Updated On:

Products

CA Automic Applications Manager (AM)

Issue/Introduction

The below errors are found in the RMI Server log. Logging into the client may throw a similar RMI error.

ErrorMsg: AwE-5128 Client Request Error
Details: getBacklogAndHistory
Agent error : 192.168.1.164:1099:getBacklogAndHistory : java.lang.OutOfMemoryError: Java heap space
 at com.appworx.server.data.D$_A.doRun(RemoteClientSocketManager.java:181)
 at com.uc4.be.threading.AbstractWorker.run(AbstractWorker.java:367)
 at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.OutOfMemoryError: Java heap space
 at java.util.Arrays.copyOf(Arrays.java:3236)
 at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118)
 at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
 at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153)
 at java.io.ObjectOutputStream$BlockDataOutputStream.write(ObjectOutputStream.java:1842)
 at java.io.ObjectOutputStream$PutFieldImpl.writeFields(ObjectOutputStream.java:1695)
 at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:482)
 at java.math.BigInteger.writeObject(BigInteger.java:4589)
 at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1155)
 at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
 at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
 at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
 at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:441)
 at java.math.BigDecimal.writeObject(BigDecimal.java:3800)
 at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1155)
 at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
 at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
 at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
 at java.util.ArrayList.writeObject(ArrayList.java:768)
 at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1155)
 at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
java.lang.OutOfMemoryError: Java heap space
 at java.util.Arrays.copyOf(Arrays.java:3236)
 at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118)
 at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
 at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153)
 at java.io.ObjectOutputStream$BlockDataOutputStream.write(ObjectOutputStream.java:1842)
 at java.io.ObjectOutputStream$PutFieldImpl.writeFields(ObjectOutputStream.java:1695)
 at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:482)
 at java.math.BigInteger.writeObject(BigInteger.java:4589)
 at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1155)
 at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
 at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
 at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
 at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:441)
 at java.math.BigDecimal.writeObject(BigDecimal.java:3800)
 at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1155)
 at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
 at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
 at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
 at java.util.ArrayList.writeObject(ArrayList.java:768)
 at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1155)
 at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)

Environment

Release : 9.3

Component : APPLICATIONS MANAGER

Cause

One of the main reasons this error occurs is if the Backlog and History has grown exponentially. This could happen in an environment that has not been used in a long time allowing the Backlog and History to grow into the 1000's or 10,000's.

Resolution

It is recommended that Support is contacted to confirm issue and a back up of the database is taken before running the below statements as the AM Oracle User:

SQL> delete from so_job_queue; 

SQL> truncate table aw_job_queue_activity; 

SQL> update so_job_history set so_status=32, so_status_name='FINISHED' where so_status_name in ('INITIATED','RUNNING','STAGED','STAGED_PW','STARTED','STARTING','QUEUE WAIT','PRED WT HOLD','PRED WAIT','KILLING','DATE PENDING','CONDITN WAIT','AGENT WAIT')

A commit should be done between each statement.