This is the mail archive of the
mailing list for the Cygwin project.
Re: segfault on memory intensive programs
On 3/30/06, Pete <firstname.lastname@example.org> wrote:
> I have some benchmarkign code
> #define N 600 // Matrix rank
> #define ITERATIONS 2000
> int main( void )
> // Set up the timer and start it ticking.
> Timer timer;
> // We multiply m1 and m2, and put the result in m3.
> int m1[N][N];
> int m2[N][N];
> int m3[N][N];
> On Cygwin, the code runs fine for a matrix rank
> between 400 and 0. Somewhere N=400 and N=600, the
> program segfaults under Cygwin.
m1[N][N], m2[N][N] and m3[N][N] is static memory so why should it fail?
Additionaly you can make it static but the problem is somewhere else
in your code so you may malloc or something else without testing the
proper returncode != NULL
> However, it runs on VC++. And a Java-ized port of the
> program runs fine under Sun and BEA java for N=600.
Ok, and what's the point?
> I've tried increasing the heap and stack size for
> Cygwin as per the FAQ, but the FAQ's solution doesn't
> seem to be working: I tried adding the key to the
> registery as per
You don't seem to make any recursion. calling main from main ?!
> and compiling with:
> gcc -Wl,--heap,4096,--stack,4096 -o foo foo.c
> but nothing seems to prevent the application for
> segfaulting under cygwin when N=600.
> Any ideas on how I can make this program not crash
> under cygwin for high matrix rank? VC++ and java can
> do it. I'm sure cygwin can too.
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
> Problem reports: http://cygwin.com/problems.html
> Documentation: http://cygwin.com/docs.html
> FAQ: http://cygwin.com/faq/
Take a look - not only for computer people ;) http://www.seabreeze.co.th
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html