l i n u x - u s e r s - g r o u p - o f - d a v i s
Next Meeting:
July 7: Social gathering
Next Installfest:
Latest News:
Jun. 14: June LUGOD meeting cancelled
Page last updated:
2006 Feb 08 11:29

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
[vox-tech] cygwin - segfault on array allocation
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vox-tech] cygwin - segfault on array allocation

i'm finding that cygwin segfaults on a very simple program:

   #include <iostream>
   using std::cout;
   using std::endl;
   // 50760 is the last

   int main( int argc, char *argv[] )
      const long int N = strtol(argv[1], (char **)0, 0);
      double a[N], b[N], c[N], d[N], ans[N];

      return 0;

It does not segfault when N=50760 but does segfault when N=50761.  In GDB:

   $ gdb arg.exe
   GNU gdb 6.3.50_2004-12-28-cvs (cygwin-special)
   (gdb) set args 50761
   (gdb) break 1
   Breakpoint 1 at 0x401050: file arg.cc, line 1.
   (gdb) run
   Starting program: /cygdrive/c/Documents and
   Settings/psalzman/home/tests/args/arg.exe 50761

   Breakpoint 1, main (argc=2, argv=0x4c2b90) at arg.cc:7
   7       {
   (gdb) n

   Program received signal SIGSEGV, Segmentation fault.
   0x610ae938 in pthread_key_create () from /usr/bin/cygwin1.dll

which is odd; I don't believe this line number.  I'm guessing the problem is
memory related because when I remove one of the arrays, the largest number
that does not cause a segfault increases.

But it's strange because the machine has a gig of RAM.  With 8 byte doubles,
each array is only approximately .4MB.

Any idea what's going on?

vox-tech mailing list

LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Appahost Applications
For a significant contribution towards our projector, and a generous donation to allow us to continue meeting at the Davis Library.