(SOM) Support Tip: Encountering SOM Memory errors during Data Collection and Java Stack Size

Hello SOM Community,

There has been an error "java.lang.StackOverflowError" encountered by some customers during data collection.

Often, the device will show has having an 'Internal Error' but when you look at the som-trace.log file, you will see this error.

This error often occurs when performing the data collection on a large device (Ex. 3PAR array) when the Data Collection Level has been changed from 'Default' to 'All'.  In this situation, the error does not occur during the collection of the data from the device, but during the post-processing of the data after the Data Collection from the device completes.

SOM has a properties file (ovjboss.jvmargs) that controls the memory settings for the application.  There are two parameters (-Xms and -Xmx) that are discussed and mentioned within the product documentation to help with the sizing of your environment.  There is one setting (-Xss or Java Thread Stack Size) that is not mentioned within the product documentation.

By default, this parameter is not set and the OS will have a default setting.  For Windows x64 and Linux x64, this default value is 1024k. 

When the java.lang.StackOverflowError error is encountered, this is the setting that would most likely be the cause of the problem.

Gradually increasing this value within the ovjboss.jvmargs file and restarting the application is the best approach to resolving this error.

CAUTION:  Please do not increase this value too much since it increases the size of memory used by every Java Thread within the product.  This could be well over 600 threads and that could cause server resource issues.

Knowledge Article KM02728136 has more information about this issue.
KM02728136 - Encountering java.lang.StackOverflowError messages within Storage Operations Manager during Data Collection process

I hope that this information is helpful.

Good Luck with your SOM environments.