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

[netCDF #XTD-723603]: problems with ncgen3 passing checks on AIX system



As an experiment, try adding --disable-dap
to you ./configure command and see if the problem
goes away.

> no luck with gcc our version only does 32 bit, I did use dbx to get a
> trace of where it was dying:
> 
> rlindsay@polardev(/h/rlindsay/netcdf-c-4.6.1/ncgen3)# dbx .libs/ncgen3
> Type 'help' for help.
> Core file "core" program "lt-ncgen3" does not match current program (ignored)
> reading symbolic information ...
> (dbx) run -b -o c0.nc c0.cdl
> 
> Illegal instruction in . at 0x0
> 0x0000000000000000 00000000       Invalid opcode.
> (dbx) where
> .() at 0x0
> globalinit() at 0x900000005f5ee60
> NCD4_initialize() at 0x900000005f5eef0
> nc_initialize() at 0x900000005ef4478
> NC_create(0x1100086f0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x110006540) at 
> 0x900000005f0606c
> nc__create(0x1100086f0, 0x0, 0x0, 0x0, 0x110006540) at 0x900000005f06448
> nc_create(0x1100086f0, 0x0, 0x110006540) at 0x900000005f064b4
> gen_netcdf(filename = "c0.nc"), line 45 in "genlib.c"
> define_netcdf(netcdfname = "c0"), line 1593 in "genlib.c"
> ncgparse(), line 119 in "ncgen.y"
> main(argc = 1, argv = 0x0ffffffffffff8d8), line 241 in "main.c"
> 
> On 3/19/2019 5:39 PM, Unidata netCDF Support wrote:
> > ok, so either the ncgen3 code is too weird (a possibility)
> > or the xlc compiler is screwed up.
> > Try gcc if you can. Also, if AIX has gdb
> > and you are familiar with it, you might see if you
> > can use gdb to detect where the error is specifically occurring.
> >
> >
> >> Here we go:
> >>
> >> rlindsay@polardev(/h/rlindsay/netcdf-c-4.6.1/ncgen3)# cat run_tests.sh
> >> #!/bin/sh
> >> # This shell script runs the ncgen3 tests.
> >> # $Id: run_tests.sh,v 1.9 2009/09/24 18:19:11 dmh Exp $
> >>
> >> echo "*** Testing ncgen3."
> >> set -e
> >>
> >> if test "x$srcdir" = x ;then srcdir=`pwd`; fi
> >> . ../test_common.sh
> >>
> >> echo "*** creating classic file c0.nc from c0.cdl..."
> >> ${NCGEN3} -b -o c0.nc ${ncgen3c0}
> >> echo "*** creating 64-bit offset file c0_64.nc from c0.cdl..."
> >> #${NCGEN3} -k 64-bit-offset -b -o c0_64.nc ${ncgen3c0}
> >>
> >> echo "*** Test successful!"
> >> exit 0
> >> rlindsay@polardev(/h/rlindsay/netcdf-c-4.6.1/ncgen3)# . ../test_common.sh
> >> rlindsay@polardev(/h/rlindsay/netcdf-c-4.6.1/ncgen3)# ${NCGEN3} -b -o 
> >> c0.nc ${ncgen3c0}
> >> Illegal instruction (core dumped)
> >> rlindsay@polardev(/h/rlindsay)# make clean all
> >> rlindsay@polardev(/h/rlindsay/netcdf-c-4.6.1/ncgen3)# make clean all
> >> rm -f ncgen3
> >> test -z "c0.nc c0_64.nc c0_4.nc c0_4c.nc" || rm -f c0.nc c0_64.nc c0_4.nc 
> >> c0_4c.nc
> >> rm -rf .libs _libs
> >> rm -f *.o
> >> test -z "run_tests.sh.log run_nc4_tests.sh.log" || rm -f run_tests.sh.log 
> >> run_nc4_tests.sh.log
> >> test -z "run_tests.sh.trs run_nc4_tests.sh.trs" || rm -f run_tests.sh.trs 
> >> run_nc4_tests.sh.trs
> >> test -z "test-suite.log" || rm -f test-suite.log
> >> rm -f *.lo
> >> Target "clean" is up to date.
> >> source='main.c' object='main.o' libtool=no  DEPDIR=.deps depmode=xlc 
> >> /bin/sh ../depcomp  cc -qlanglvl=extc89 -DHAVE_CONFIG_H -I. -I..  
> >> -I../include   -q64 -lsz -I/DEV/PROD/apps/common/hdf/v5-1.8.5/include 
> >> -I/DEV/PROD/apps/common/zlib/v1.2.5/include 
> >> -I/DEV/PROD/apps/common/szip/v2.1/include   -c -o main.o main.c
> >> source='load.c' object='load.o' libtool=no  DEPDIR=.deps depmode=xlc 
> >> /bin/sh ../depcomp  cc -qlanglvl=extc89 -DHAVE_CONFIG_H -I. -I..  
> >> -I../include   -q64 -lsz -I/DEV/PROD/apps/common/hdf/v5-1.8.5/include 
> >> -I/DEV/PROD/apps/common/zlib/v1.2.5/include 
> >> -I/DEV/PROD/apps/common/szip/v2.1/include   -c -o load.o load.c
> >> source='escapes.c' object='escapes.o' libtool=no  DEPDIR=.deps depmode=xlc 
> >> /bin/sh ../depcomp  cc -qlanglvl=extc89 -DHAVE_CONFIG_H -I. -I..  
> >> -I../include   -q64 -lsz -I/DEV/PROD/apps/common/hdf/v5-1.8.5/include 
> >> -I/DEV/PROD/apps/common/zlib/v1.2.5/include 
> >> -I/DEV/PROD/apps/common/szip/v2.1/include   -c -o escapes.o escapes.c
> >> source='getfill.c' object='getfill.o' libtool=no  DEPDIR=.deps depmode=xlc 
> >> /bin/sh ../depcomp  cc -qlanglvl=extc89 -DHAVE_CONFIG_H -I. -I..  
> >> -I../include   -q64 -lsz -I/DEV/PROD/apps/common/hdf/v5-1.8.5/include 
> >> -I/DEV/PROD/apps/common/zlib/v1.2.5/include 
> >> -I/DEV/PROD/apps/common/szip/v2.1/include   -c -o getfill.o getfill.c
> >> source='init.c' object='init.o' libtool=no  DEPDIR=.deps depmode=xlc 
> >> /bin/sh ../depcomp  cc -qlanglvl=extc89 -DHAVE_CONFIG_H -I. -I..  
> >> -I../include   -q64 -lsz -I/DEV/PROD/apps/common/hdf/v5-1.8.5/include 
> >> -I/DEV/PROD/apps/common/zlib/v1.2.5/include 
> >> -I/DEV/PROD/apps/common/szip/v2.1/include   -c -o init.o init.c
> >> source='genlib.c' object='genlib.o' libtool=no  DEPDIR=.deps depmode=xlc 
> >> /bin/sh ../depcomp  cc -qlanglvl=extc89 -DHAVE_CONFIG_H -I. -I..  
> >> -I../include   -q64 -lsz -I/DEV/PROD/apps/common/hdf/v5-1.8.5/include 
> >> -I/DEV/PROD/apps/common/zlib/v1.2.5/include 
> >> -I/DEV/PROD/apps/common/szip/v2.1/include   -c -o genlib.o genlib.c
> >> source='ncgentab.c' object='ncgentab.o' libtool=no  DEPDIR=.deps 
> >> depmode=xlc /bin/sh ../depcomp  cc -qlanglvl=extc89 -DHAVE_CONFIG_H -I. 
> >> -I..  -I../include   -q64 -lsz 
> >> -I/DEV/PROD/apps/common/hdf/v5-1.8.5/include 
> >> -I/DEV/PROD/apps/common/zlib/v1.2.5/include 
> >> -I/DEV/PROD/apps/common/szip/v2.1/include   -c -o ncgentab.o ncgentab.c
> >> /bin/sh ../libtool  --tag=CC    --mode=link cc -qlanglvl=extc89     
> >> -L/DEV/PROD/apps/common/szip/v2.1/lib 
> >> -L/DEV/PROD/apps/common/hdf/v5-1.8.5/lib 
> >> -L/DEV/PROD/apps/common/zlib/v1.2.5/lib -o ncgen3 main.o load.o escapes.o  
> >> getfill.o init.o genlib.o  ncgentab.o ../liblib/libnetcdf.la  -lhdf5_hl 
> >> -lhdf5 -lm -lz
> >> libtool: link: cc -qlanglvl=extc89 -o .libs/ncgen3 main.o load.o escapes.o 
> >> getfill.o init.o genlib.o ncgentab.o  
> >> -L/DEV/PROD/apps/common/szip/v2.1/lib 
> >> -L/DEV/PROD/apps/common/hdf/v5-1.8.5/lib 
> >> -L/DEV/PROD/apps/common/zlib/v1.2.5/lib -L../liblib/.libs -lnetcdf 
> >> /DEV/PROD/apps/common/hdf/v5-1.8.5/lib/libhdf5_hl.a 
> >> /DEV/PROD/apps/common/hdf/v5-1.8.5/lib/libhdf5.a 
> >> /DEV/PROD/apps/common/szip/v2.1/lib/libsz.a -lm -lz 
> >> -Wl,-blibpath:/h/rlindsay/install/lib:/DEV/PROD/apps/common/szip/v2.1/lib:/DEV/PROD/apps/common/hdf/v5-1.8.5/lib:/DEV/PROD/apps/common/zlib/v1.2.5/lib:/opt/IBM/xlmass/8.1.3/lib/aix61:/opt/IBM/xlc/13.1.3/lib:/usr/lib:/lib
> >> Target "all" is up to date.
> >> rlindsay@polardev(/h/rlindsay/netcdf-c-4.6.1/ncgen3)# . ../test_common.sh
> >> rlindsay@polardev(/h/rlindsay/netcdf-c-4.6.1/ncgen3)# ${NCGEN3} -b -o 
> >> c0.nc ${ncgen3c0}
> >> Illegal instruction (core dumped)
> >>
> >> yes we have the IBM xlc compiler version 11.1 we have a ancient version of 
> >> gcc 4.2.0 I could try
> >>
> >> On 3/19/2019 2:32 PM, Unidata netCDF Support wrote:
> >>> Ok, so for some reason ncgen3 is executing an illegal instruction.
> >>> First, enter the directory netcdf-c/ncgen3 and execute the failing
> >>> command just to verify that it is the problem.
> >>>
> >>>       /h/rlindsay/netcdf-c-4.6.1/ncgen3/ncgen3 -b -o c0.nc 
> >>> /h/rlindsay/netcdf-c-4.6.1/ncgen3/c0.cdl
> >>>
> >>> This command should fail with an illegal instruction.
> >>>
> >>> The second thing to do is to enter netcdf-c/ncgen3 and do the following
> >>> command:
> >>>       make clean all
> >>> This should rebuild ncgen3 and there should be no errors (but possibly
> >>> some warnings).
> >>>
> >>> Then repeat the above failing ncgen3 command and see if it still fails
> >>> the same way.
> >>>
> >>> Also, can you tell me what C compiler you are using? It looks like the IBM
> >>> cc compiler, correct?
> >>>
> >>>
> >>>
> >>>
> >>>> Thank you for your help, here are the new logs
> >>>>
> >>>> On 3/18/2019 9:28 PM, Unidata netCDF Support wrote:
> >>>>> The first thing to do is to get some more output
> >>>>> from run_tests.sh.log and run_nc4_tests.sh.log.
> >>>>> To do this, set the following environment variable
> >>>>> before you do the 'make check' command.
> >>>>>        export SETX=1
> >>>>> This should cause the .sh files to generate tracing information.
> >>>>>
> >>>>> =Dennis Heimbigner
> >>>>>      Unidata
> >>>>>
> >>>>>
> >>>>> Ticket Details
> >>>>> ===================
> >>>>> Ticket ID: XTD-723603
> >>>>> Department: Support netCDF
> >>>>> Priority: Normal
> >>>>> Status: Open
> >>>>> ===================
> >>>>> NOTE: All email exchanges with Unidata User Support are recorded in the 
> >>>>> Unidata inquiry tracking system and then made publicly available 
> >>>>> through the web.  If you do not want to have your interactions made 
> >>>>> available in this way, you must let us know in each email you send to 
> >>>>> us.
> >>>>>
> >>>>>
> >>> =Dennis Heimbigner
> >>>     Unidata
> >>>
> >>>
> >>> Ticket Details
> >>> ===================
> >>> Ticket ID: XTD-723603
> >>> Department: Support netCDF
> >>> Priority: Normal
> >>> Status: Open
> >>> ===================
> >>> NOTE: All email exchanges with Unidata User Support are recorded in the 
> >>> Unidata inquiry tracking system and then made publicly available through 
> >>> the web.  If you do not want to have your interactions made available in 
> >>> this way, you must let us know in each email you send to us.
> >>>
> >>>
> >>
> > =Dennis Heimbigner
> >    Unidata
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: XTD-723603
> > Department: Support netCDF
> > Priority: Normal
> > Status: Open
> > ===================
> > NOTE: All email exchanges with Unidata User Support are recorded in the 
> > Unidata inquiry tracking system and then made publicly available through 
> > the web.  If you do not want to have your interactions made available in 
> > this way, you must let us know in each email you send to us.
> >
> >
> 
> 

=Dennis Heimbigner
  Unidata


Ticket Details
===================
Ticket ID: XTD-723603
Department: Support netCDF
Priority: Normal
Status: Open
===================
NOTE: All email exchanges with Unidata User Support are recorded in the Unidata 
inquiry tracking system and then made publicly available through the web.  If 
you do not want to have your interactions made available in this way, you must 
let us know in each email you send to us.