Friday, February 5, 2010

Running the Java agent repeatedly with too many .class files attached causes the Domino server to crash


I am Calling one Java agent though the Lotus Script code in a loop. The Java agent does the following things :

It uses the .class files which are generated through Apache Axis frame work ( http://ws.apache.org/axis/ ) , based on this it will performs some web service consuming actions.

The problem that I faced is after calling this Jave agent around 200+ more times it throws up with a outofMemory exception and finally ends up with crashing up the server.

Error Description :

Agent error: java.lang.OutOfMemoryError
JVM: Creation of the lotus/domino/AgentLoader object failed.

Workaround :

Detach all the supporting .class files from the agent and put them in a jar file and place that jar file in the jvm/lib/ext folder. ( No more referring to the .class files in the agent under the project section every thing will be in the jar file and this needs to be placed in the ext folder)

After doing this

Now we are able to run the agent as required number of times with out crashing the server.

From the above series of events and tests this clearly states that is a serious bug.

This issue was reported to Quality Engineering as SPR# ICOR66LLY4

Possible Causes :

If the number of .class files that are directely attached to the agent are more then that can definitely lead to an out of memory exception in certain cases. When ever the java agent runs it tries to detach all the .class files into a temporary location from there it refers them this ends up with a outOfMemoryException and causes the server to crash.

- Narasimha Reddy, Lomadi

2 comments:

  1. Many thanks, very useful.

    For sure, when you say: "and place that jar file in the jvm/lib/ext folder. jvm/lib/ext" you mean directly on server, right?

    ReplyDelete

Generating a CSR with Java keytool , deploying the certificates in keystore and configuring the same in the tomEE server.

  Deploying security certificates is a three-step process in general 1. CSR Generation 2. Importing the certificatates into the keystore 3. ...