Using the attached Rexx programs, I see the memory working set of rexx.exe steadily climbing until all usable memory is consumed. I've seen this on several systems, one of which is a Windows 64-bit system running Windows 7. Tested with trunk at r8139 or later.
The base program is test4.rex which is a program supplied by a user for the SysFileTree crashing on Windows bug, #3405740. That program does a SysFileTree search for every file on the C: drive. My system has around 300,000 files. I used another Rexx program to run the base program in an endles loop.
When the base program is run in an endless loop, I see memory climbing as noted above. I've created 2 base programs. One is the original test program that has this code in it:
do i=1 to f.0 if \var("f.i") then do sw = 1 say "Stem variable f."i "has not been assigned a value." end end
And another base program has that code removed. With the above code, memory keeps climbing. Without, it memory, on my system, reaches about 200 MB.
The 4 attached programs:
execTest4.rex -> calls test4.rex in an endless loop
execTest4withVarTest.rex -> calls test4-withVarTest.rex in an endless loop
Running execTest4withVarTest.rex shows rexx.exe working set continually climbing. Running execTest4.rex shows the working set increase and then level out and remain steady.
I used task manager to monitor the working set. About 20 minutes of CPU time is enough to show the dramatic difference.