Resolved Progress 12.2.14 - using SQLEXP ends in Exception at (date): java.lang.OutOfMemoryError

Hello,

we've just migrated to the Red Hat Linux 8.9 and Progress 12.2.14.

I run an SQL script using "sqlexp" and it crashes with this error:
Code:
   Exception at Thu Jul 04 11:01:27 BST 2024: java.lang.OutOfMemoryError
   Message (throw): ### Throwable in SQLProcessor run(). ###
   Message (excp):  Java heap space
   Stack Trace:
java.lang.OutOfMemoryError: Java heap space
        at java.base/java.lang.StringLatin1.toLowerCase(StringLatin1.java:397)
        at java.base/java.lang.String.toLowerCase(String.java:2503)
        at java.base/java.lang.String.toLowerCase(String.java:2527)
        at com.progress.sql.explorer.SQLProperties.get(SQLProperties.java:96)
        at com.progress.sql.explorer.SQLProperties.getProperty(SQLProperties.java:387)
        at com.progress.sql.explorer.SQLProperties.getHasFetchLimit(SQLProperties.java:619)
        at com.progress.sql.explorer.SQLStringResults.vectorizeResultSet(SQLStringResults.java:898)
        at com.progress.sql.explorer.SQLStringResults.getOutput(SQLStringResults.java:533)
        at com.progress.sql.explorer.SQLProcessor.postCommandResults(SQLProcessor.java:221)
        at com.progress.sql.explorer.SQLProcessor.run(SQLProcessor.java:135)
        at java.base/java.lang.Thread.run(Thread.java:834)

I found a few articles.
Progress Customer Community

The suggestion is to increase the default "jvmargs" :

Code:
Resolution

 Increase the java heap size on the DLC/properties/JavaTools.properties file under the section [SQLExplorerCLI] as:

For example:

jvmargs=-ms128m -mx512m

Other suggestions for JavaTools.properties file:

Code:
[SQLExplorerCLI]
 classpath=!{value-of:SQLExplorer.classpath}
 jvmargs=!{value-of:Common.jvmargs}
 policyfile=!{value-of:Common.policyfile}

Example of change to Java heap:
 
jvmargs=-Xmx512m -Xms64m

From another article I found out it's a problem on the Red Hat Linux releases.


Another article says both values should be the same. So I made this change:

Code:
[SQLExplorerCLI]
 classpath=!{value-of:SQLExplorer.classpath}
 jvmargs=!{value-of:Common.jvmargs}
 policyfile=!{value-of:Common.policyfile}
 jvmargs=-ms2048m -mx2048m

I bounced the database and these is no effect, still the same error.

Does anyone have any suggestions?

Cheers
Richard
 
Did you remove the leading "X" from each of the jvmargs flags, or is that a typo? The initial/starting memory footprint is Xms, the max expandable is Xmx.
 
Did you remove the leading "X" from each of the jvmargs flags, or is that a typo? The initial/starting memory footprint is Xms, the max expandable is Xmx.
That is a good question, I am simply following the articles, one says:
jvmargs=-Xmx512m -Xms64m

Another one says:
jvmargs=-ms128m -mx512m

My current settings are not set:
jvmargs=!{value-of:Common.jvmargs}

I am not a Java expert, what is best? I don't know what are the default settings, is there any place where I can find them?

Cheers
Richard
 
Thanks for reporting back! It's always good to know that a proposed solution worked. Future readers won't be wondering about this one.
 
Back
Top