Hi, On Mon, Apr 11, 2011 at 01:49:16PM +0200, Michael Matz wrote: > Hi, > > On Sun, 10 Apr 2011, Dominique Dhumieres wrote: > > > > I find that both nf.f90 and capacita.f90 segfault in runtime for any > > > stack size. > > > > On x86_64-apple-darwin10, nf.f90 "works". However if I run it through > > valgrind I get > > > > ==64815== Memcheck, a memory error detector > > ==64815== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al. > > ==64815== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info > > ==64815== Command: a.out --max-stackframe=2118496 > > ==64815== > > ==64815== Warning: set address range perms: large range [0x7ffe6c000000, > > 0x7fff5bc01000) (defined) > > ==64815== Warning: client switching stacks? SP change: 0x7fff5bffe410 --> > > 0x7fff5be0cef0 > > ==64815== to suppress, use: --max-stackframe=2037024 or greater > > See? That's whay I meant with having to use a large ulimit for stack > size. Usually stack overflows symptom is a simple segfault. What ulimit > -s have you used for your capacita tests?
Just a small remark: according to the message from valgrind, the "max-stackframe" parameter is at the WRONG position. It has to be valgrind --max-stackframe=2118496 ./a.out and NOT valgrind ./a.out --max-stackframe=2118496 (the second way, valgrind ignores "max-stackframe" and passes it as parameter to ./a.out. According to the valgrind-output, you passed the parameter AFTER the "./a.out". That might explain the problem? Axel