Dave Korn writes:
Unfortunately for me, (e) is impractical. It's not clear whether
it is my source code or CygWin's that I need to fix,
Have you actually *tried* this application of yours under Cygwin and
discovered that it indeed *is* one of the rare ones that actually runs
into
this problem, or are you getting your knickers in a twist over some
entirely
theoretical issue that may just as likely never happen?
My project time frame doesn't allow for that. If I read Dave Korn's
posting correctly (along with the others who talk about adjusting the
sizes of Fortran arrays to fix the problem)
*Why* are you relying on information that is 12 to 18 months out of date?
There's been quite a few check-ins to the cygwin cvs in that period, and
in
case you haven't noticed, we haven't had anyone here running into that
problem
recently, and some of the fortran people said that one of the fixes
Corinna
made _ages_ ago now had solved the problem in their experience, so perhaps
you
should stop hoping to divine the truth from a priori first principles and
outdated mailing-list-posts, and get a bit _empirical_ about it?
Of course I have *tried* the application under CygWin and it does
indeed actually run into the problem. Of course I have searched
the list for more recent information about the problem. Of course
I am using a new installation of the latest stable CygWin and
a machine with sufficient memory and horsepower.
Not every new poster to the list is a newbie to posting.
I have done some experimentation. The "maxmem" program
outlined in http://cygwin.com/cygwin-ug-net/setup-maxmem.html
shows me that I have 1.5 Gb of memory available to allocate.
I can run tests in which I allocate static arrays of increasingly
large size, and I hit the cygheap base problem *exactly* when I
try to make an array bigger than 1.5 Gb.
I can run tests in which I set the --heap option for the linker
to increasingly large sizes, and I hit the cygheap base problem
*exactly* when I try to make the heap size larger than 1.5 Gb.
I can run tests in which I set the --stack option for the linker
to increasingly large sizes, and I get a "thread handle not set"
error during execution the minute my stack size exceeds 0.5 Gb.
Yes, that's 0.5. I never go to the full 1.5 Gb.
I did not tinker with --stack or --heap when building my
executable. I am positive it has no static arrays larger than
a few tens of thousands of bytes. Certainly nowhere near 1.5 Gb.
The size of the .exe file itself is just over 80 Mb.
So what is causing the problem?
-- Jens Dill
Endeavor Information Systems