Usage Note 63168: A java.lang.StackOverflowError might occur when you run a project workflow that has many tasks in SAS® Risk and Finance Workbench
In SAS® Risk and Finance Workbench, when you run a project workflow that has many tasks, a java.lang.StackOverflowError might occur. For example, a stack overflow occurs in the following scenario:
- The process definition for the workflow contains 10,000 tasks.
- The JVM_OPTS environment variable has a thread stack size setting (-Xss<value>) of 256k as shown in the following:
JVM_OPTS="-Xmx2048m -Xss256k -Xms1024m
When the stack overflow occurs, the log contains errors similar to the following:
Caused by: java.lang.StackOverflowError
at sun.util.calendar.BaseCalendar.getGregorianYearFromFixedDate(BaseCalendar.java:498)
at sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate(BaseCalendar.java:433)
at sun.util.calendar.AbstractCalendar.getCalendarDate(AbstractCalendar.java:165)
at sun.util.calendar.Gregorian.getCalendarDate(Gregorian.java:73)
at sun.util.calendar.Gregorian.getCalendarDate(Gregorian.java:77)
at sun.util.calendar.Gregorian.getCalendarDate(Gregorian.java:37)
at java.util.Date.normalize(Date.java:1193)
at java.util.Date.toString(Date.java:1027)
at java.lang.String.valueOf(String.java:2849)
at java.lang.StringBuilder.append(StringBuilder.java:128)
at com.sas.stress.rest.services.ProcessHelper.calculateDates(ProcessHelper.java:523)
at com.sas.stress.rest.services.ProcessHelper.calculateDates(ProcessHelper.java:563)
at com.sas.stress.rest.services.ProcessHelper.calculateDates(ProcessHelper.java:563)
at com.sas.stress.rest.services.ProcessHelper.calculateDates(ProcessHelper.java:563)
at com.sas.stress.rest.services.ProcessHelper.calculateDates(ProcessHelper.java:563)
To work around this issue, increase the thread stack size setting from 256k to 2m by updating the setenv.sh file in SASServer11, located here:
Linux and UNIX: SAS-configuration-directory/LevN/Web/WebAppServer/SASServer11_1/bin
Windows: SAS-configuration-directory\LevN\Web\WebAppServer\SASServer11_1\bin
In this file, update the JVM_OPTS as follows:
JVM_OPTS="-Xmx2048m -Xss2m -Xms1024m
After updating the thread stack size setting, restart SASServer11 to make the change take effect.
Operating System and Release Information
| SAS System | SAS Risk and Finance Workbench | Microsoft® Windows® for x64 | 9.4 TS1M5 | |
| Linux for x64 | 9.4 TS1M5 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
In SAS Risk and Finance Workbench, when you run a project workflow that has many tasks, a java.lang.StackOverflowError might occur.
| Type: | Usage Note |
| Priority: | |
| Topic: | Analytics ==> Financial Analysis
|
| Date Modified: | 2018-11-12 14:53:34 |
| Date Created: | 2018-11-02 16:51:46 |