Hi Jay,
There can be a problem with this type of program where there may be overlapping perform ranges or GO TO statements that jump out of one section and into a different one, when compiling for managed code. This is because behind the scenes the compiler is generating these sections and paragraphs as OO methods and if there is no logical place to split these sections into methods then it will include the entire range within one large method which can cause this type of stack overflow you are seeing.
We would recommend that you try compiling with the directive PERFORMTYPE”OSVS” to see if you get a better behavior. If you still get a stack overflow then you can use the directives RESTRICT-GOTO and ILSHOWPERFORMOVERLAP to help you find the problem areas in your program. If the program is large like you say then there might be quite a few offending lines of code. I have seen cases where a single GO TO out of a performed section to the exit paragraph of a different section could cause a stack overflow condition.
If you would like help diagnosing this problem then please open up a support incident with customer care and attach this program and copybooks (or .lst file compiled with RAWLIST) to the incident so that we can take a look at it.
Thanks..