We are developing a large infrastructure in oorexx, version 3.1.1, on a x86 linux box.
We are using redhat enterprise server 3 update 2.
When I do rexx -v I get as output:
Open Object Rexx Interpreter Version 3.1.1 for LINUX
Build date: Nov 13 2006
The project consists of over 2700 lines of code, from approximately 50 routines using the ::ROUTINE command.
At some point we seem to cross a certain limit and any program we write crashes with a segmentation violation.
If we arbitrarily remove one routine, or another, it will work - but eventually we will need all the routines to be available.
Please help asap - I have four programmers going around in circles and a deadline approaching...
Attached is a tar file with a sample that demonstrates the problem.
ttt.rexx is the main. When we run it, we get a segmentation violation.
ttt does requires of genned.rexx
genned does requires of seclev.rexx.
Note that we get the segmentation violation even before the first line of code is executed.
This gives a reasonable simulation of our code - I think the business of 2 levels of requires is critical to the bug - see below.
Please note the following that occurred when I was constructing the sample:
a/ You will notice that in genned I have commented out code.
b/ If I do NOT include the requires to seclev, and I uncomment ALL of genned, it runs correctly.
c/ If I then add the requires to seclev, but seclev is a file consisting solely of #!/usr/bin/rexx I get the following output:
11 *-* ::requires *genned.rexx*
REX0005E: Error 5 running /home/jcl2ksh/ari/rexxcrash/ttt.rexx line 11: System resources exhausted
d/ This is why I had to comment out parts of genned. Then the code ran, but when I added body to seclev, it crashed on the segmentation violation.