This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Implement stack arrays even for unknown sizes


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]