[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDFPerl #JCR-555432]: netcdf-perl-1.2.4-fails in make test--stack overflow alloca



Sriki,

> NetCDF library compiled with pgi compiler 64 bit system
> Fails --
> Error: in routine alloca() there is a
> stack overflow: thread 0, max 535822328KB, used 0KB, request 16B
> Thanks
> sriki
> 
> Log files attached...
> *******************************************************************************************
> uname -a
> 
> Linux xx 2.6.9-55.ELsmp #1 SMP Fri Apr 20 16:36:54 EDT 2007 x86_64 x86_64 
> x86_64 GNU/Linux
> 
> ************************************************************************************************
> make test
> 
> make test
> make[1]: Entering directory `/usr/people/sriki/obs2arps/netcdf-perl-1.2.4/src'
> 
> making `test' in directory 
> /usr/people/sriki/obs2arps/netcdf-perl-1.2.4/src/perl
> 
> make[2]: Entering directory 
> `/usr/people/sriki/obs2arps/netcdf-perl-1.2.4/src/perl'
> PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
> Creating netCDF file...........................ok
> Setting fill mode..............................ok
> Defining scalar variable.......................ok
> Defining fixed dimensions......................ok
> Defining fixed variables.......................ok
> Writing global attribute.......................ok
> Writing variable attributes....................ok
> Defining record dimension......................ok
> Defining record variables......................ok
> Ending definition..............................ok
> Writing scalar variable value..................ok
> Writing fixed variable values..................Error: in routine alloca() 
> there is a
> stack overflow: thread 0, max 535822328KB, used 0KB, request 16B
> make[2]: *** [test_dynamic] Error 127
> make[2]: Leaving directory 
> `/usr/people/sriki/obs2arps/netcdf-perl-1.2.4/src/perl'
> make[1]: *** [perl/test] Error 1
> make[1]: Leaving directory `/usr/people/sriki/obs2arps/netcdf-perl-1.2.4/src'
> make: *** [test] Error 2

Hmm...  I've never seen that error before.

> ********************************************************************************************
> perl -V
> Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
> Platform:
> osname=linux, osvers=2.6.9-22.18.bz155725.elsmp, 
> archname=x86_64-linux-thread-multi
> uname='linux hs20-bc1-3.build.redhat.com 2.6.9-22.18.bz155725.elsmp #1 smp 
> thu nov 17 15:34:08 est 2005 x86_64 x86_64 x86_64 gnulinux '
> config_args='-des -Doptimize=-O2 -g -pipe -m64 -Dversion=5.8.5 
> -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, 
> Inc. -Dinstallprefix=/us
> r -Dprefix=/usr -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 
> -Dprivlib=/usr/lib/perl5/5.8.5 -Dsitelib=/usr/lib/perl5/site_perl/5.8.5 
> -Dvendorlib=/usr/lib/perl5/vendor_p
> erl/5.8.5 -Darchlib=/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi 
> -Dsitearch=/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi 
> -Dvendorarch=/usr/lib64/perl
> 5/vendor_perl/5.8.5/x86_64-linux-thread-multi -Darchname=x86_64-linux 
> -Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads -Duseithreads 
> -Duselargefiles -Dd
> _dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog 
> -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly 
> -Dpager=/usr/bin/le
> ss -isr -Dinc_version_list=5.8.4 5.8.3 5.8.2 5.8.1 5.8.0'
> hint=recommended, useposix=true, d_sigaction=define
> usethreads=define use5005threads=undef useithreads=define 
> usemultiplicity=define
> useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
> use64bitint=define use64bitall=define uselongdouble=undef
> usemymalloc=n, bincompat5005=undef
> Compiler:
> cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING 
> -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE 
> -D_FILE_OFFSET_BITS=64 -I/usr/includ
> e/gdbm',
> optimize='-O2 -g -pipe -m64',

The netCDF library was built using the PGI compiler but the perl(1) utility was 
built using the gcc(1) compiler.  I suspect this is the cause of the problem.

Can you build the netCDF library using the gcc(1) compiler in 64-bit mode?

> cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe 
> -I/usr/local/include -I/usr/include/gdbm'
> ccversion='', gccversion='3.4.6 20060404 (Red Hat 3.4.6-2)', gccosandvers=''
> intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
> d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
> ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
> alignbytes=8, prototype=define
> Linker and Libraries:
> ld='gcc', ldflags =''
> libpth=/usr/local/lib64 /lib64 /usr/lib64
> libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
> perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
> libc=/lib/libc-2.3.3.so, so=so, useshrplib=true, libperl=libperl.so
> gnulibc_version='2.3.4'
> Dynamic Linking:
> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E 
> -Wl,-rpath,/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE'
> cccdlflags='-fPIC', lddlflags='-shared'
> 
> 
> Characteristics of this binary (from libperl):
> Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_64_BIT_INT 
> USE_64_BIT_ALL USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
> Built under linux
> Compiled at Jul 24 2006 18:28:14
> @INC:
> /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi
> /usr/lib/perl5/5.8.5
> /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi
> /usr/lib64/perl5/site_perl/5.8.4/x86_64-linux-thread-multi
> /usr/lib64/perl5/site_perl/5.8.3/x86_64-linux-thread-multi
> /usr/lib64/perl5/site_perl/5.8.2/x86_64-linux-thread-multi
> /usr/lib64/perl5/site_perl/5.8.1/x86_64-linux-thread-multi
> ***************************************************************************************************
> makefile.log
> make[1]: Entering directory `/usr/people/sriki/obs2arps/netcdf-perl-1.2.4/src'
> make[2]: Entering directory `/usr/people/sriki/obs2arps/netcdf-perl-1.2.4/src'
> cd perl && perl Makefile.PL POLLUTE=0
> Checking if your kit is complete...
> Looks good
> Writing Makefile for NetCDF
> 
> making `dynamic' in directory 
> /usr/people/sriki/obs2arps/netcdf-perl-1.2.4/src/perl
> 
> make[3]: Entering directory 
> `/usr/people/sriki/obs2arps/netcdf-perl-1.2.4/src/perl'
> /usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp  -typemap 
> /usr/lib/perl5/5.8.5/ExtUtils/typemap  NetCDF.xs > NetCDF.xsc && mv 
> NetCDF.xsc NetCDF.c
> Please specify prototyping behavior for NetCDF.xs (see perlxs manual)
> gcc -c  -I/usr/people/sriki/netcdf-4.0.1/include -D_REENTRANT -D_GNU_SOURCE 
> -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include 
> -D_LARGEFILE_SOURCE -D_FILE_OFF
> SET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m64   -DVERSION=\"1.2.4\" 
> -DXS_VERSION=\"1.2.4\" -fPIC 
> "-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE"   NetCDF
> .c
> Running Mkbootstrap for NetCDF ()
> chmod 644 NetCDF.bs
> rm -f blib/arch/auto/NetCDF/NetCDF.so
> gcc  -shared NetCDF.o  -o blib/arch/auto/NetCDF/NetCDF.so   
> -L/usr/people/sriki/netcdf-4.0.1//lib -lnetcdf
> chmod 755 blib/arch/auto/NetCDF/NetCDF.so
> cp NetCDF.bs blib/arch/auto/NetCDF/NetCDF.bs
> chmod 644 blib/arch/auto/NetCDF/NetCDF.bs
> make[3]: Leaving directory 
> `/usr/people/sriki/obs2arps/netcdf-perl-1.2.4/src/perl'
> 
> returning to directory /usr/people/sriki/obs2arps/netcdf-perl-1.2.4/src
> 
> make[2]: Leaving directory `/usr/people/sriki/obs2arps/netcdf-perl-1.2.4/src'
> make[1]: Leaving directory `/usr/people/sriki/obs2arps/netcdf-perl-1.2.4/src'
> test ! -f perl/so_locations || chmod a+w perl/so_locations
> *********************************************************************************************
> configure.log
> 
> creating cache ./config.cache
> checking for manual-page index command...
> checking for perl... perl
> checking for perl manual page directory... /usr/people/sriki/
> checking for value of perl POLLUTE variable... 0
> checking for neqn... neqn
> checking for tbl... tbl
> checking for C compiler... pgcc
> checking type of operating system... linux
> checking for tar flags... -chof
> checking for netCDF header-file... -I/usr/people/sriki/netcdf-4.0.1/include
> checking for netCDF library... -L/usr/people/sriki/netcdf-4.0.1//lib -lnetcdf
> checking for package version... 1.2
> updating cache ./config.cache
> creating ./config.status
> creating Makefile
> creating perl/Makefile.PL
> creating port/master.mk
> creating port/Makefile
> expanding `include's in file `Makefile'
> expanding `include's in file `perl/Makefile.PL'
> expanding `include's in file `port/master.mk'
> expanding `include's in file `port/Makefile'
> **************************************************************************************
> NetCDF library build options for pgi compiler
> setenv CC /usr/local/tools/pgi-7.1-4/linux86-64/7.1-4/bin/pgcc
> setenv FC /usr/local/tools/pgi-7.1-4/linux86-64/7.1-4/bin/pgf90
> setenv F90 /usr/local/tools/pgi-7.1-4/linux86-64/7.1-4/bin/pgf90
> setenv CXX /usr/local/tools/pgi-7.1-4/linux86-64/7.1-4/bin/pgCC
> setenv CFLAGS "-O2 -Msignextend -V"
> setenv CPPFLAGS "-DNDEBUG -DpgiFortran"
> setenv FFLAGS "-O2 -w -V"
> setenv F90FLAGS -g
> setenv CXXFLAGS -g
> setenv LD_LIBRARY_PATH /usr/local/tools/pgi-7.1-4/linux86-64/7.1-4/libso
> ./configure --enable-shared LIBS="-pgf90libs" 
> --prefix="/usr/people/sriki/netcdf-4.0.1"
> *********************************************************************************************


Regards,
Steve Emmerson

Ticket Details
===================
Ticket ID: JCR-555432
Department: Support netCDF Perl
Priority: Normal
Status: Closed