Welcome Guest! Log in


Symptom

A session fails with an error like the following :

com.indy.engine.common.exceptions.EngineExceptionI: Unknown java.lang.error working with the engine, contact your supplier
at com.indy.engine.action.common.ActionCodeTypeI.executeCode(SourceFile:1688)
at com.indy.engine.action.common.ActionCodeTypeI.run(SourceFile:1805)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.OutOfMemoryError: Java heap space

Solution

This can happen on SqlOperation and SqlFileExport actions when loading a large amount of data, which fills up the Java Virtual Machine's memory.

Go into the process details, and look at the parameters of the action that failed - or the previous action if it is a bound action.

Reduce the "Fetch Size" (usually in the SQL action or in the Template parameters)

- A lower value will require the lowest memory but with slower performance.

- A higher value will require more memory but with better performance.

Alternatively, you can increase the Runtime's max memory (parameter STAMBIA_MAX_MEMORY in initvariables.bat).

A specific forum thread was created on this kind of error, feel free to discuss or ask help: http://stambia.org/forum/runtime-questions/25-my-process-crash-with-a-java-heap-space-error

 

Comments  

# Emmanuel Rambeau 2016-09-22 09:32
Hello,

Could the solution of increasing the parameter STAMBIA_MAX_MEMORY solve the issue "java.lang.OutOfMemoryError: GC overhead limit exceeded" too ?

My question is that, today, STAMBIA_MAX_MEMORY is set to 512m. It refers to the RAM, right ?
If I have 4Go of RAM on my server, it is reasonable to increade this parameter to 2Go (2048m) for instance ?
The only applications running on this server are Stambia runtime and Analytics.

Thank you.

Emmanuel
# Thomas BLETON 2016-09-22 12:34
You can read this article regarding GC overflow: http://stambia.org/kb/17-runtime-issues/161-outofmemoryerror-gc-overhead-limit-when-multiple-sessions-end-at-the-same-time

Increasing the Runtime's memory can be a good idea when manipulating large XML structures, or using in-memory temporary storage. If you have free memory, then use it. Just make sure the OS and other apps will have what they need ;-)

You have no rights to post comments

Knowledge Base

Suggest a new Article!