Open topic with navigation
Runtime stack overflow
The internal control stack for the runtime has overflowed. This generally occurs as the result of extremely deep subexpression nesting in arithmetic expressions and/or use of large stack records which cause the stack to be used up quicker. Use of stack records on their own cannot cause this problem. Recode the routine to avoid the problem. The default stack size is 256K.
If you also get the informational error “System Stack exhausted ‑ recursive call,” more than 1500 levels (or the maximum for the system stack if it is less) of method, subroutine, or function calls have occurred. You can increase this limit using the MAXRECURSELEVEL environment variable if the system stack allows.
In Synergy .NET, all records (including those in main routines) default to STACK records for performance reasons. This means that large data divisions (for example, 8000a2000) can cause stack overflow errors. Use STATIC if appropriate, or change to use dynamic memory.