Closed doutriaux1 closed 9 years ago
it says 4.3.3.1 but it is 4.4.0-rc1 see #121
actually I just verified but I DO get the exact same error in 4.3.3.1
@WardF @DennisHeimbigner , @durack1 told me to ping you both on this.
@WardF @DennisHeimbigner @doutriaux1 this likely replaces the verbose issue #115, which was tied up with dap
test failures
Thanks for the information, I'll take a look at this too. I hadn't realized 115 was still an ongoing issue. I've been preparing the next RC but will delay until this is fixed. @DennisHeimbigner do you have any insights into this?
Github won't let me assign more than one person to this; Since it's DAP I'll leave you as lead, Dennis, but I'll work on it and follow your lead.
@doutriaux1 Can you provide a little more information about your environment/platform? I've tested this on OSX and Linux (Ubuntu 14.10, 64-bit) and am not able to duplicate your error. The output from my test can be found here: https://gist.github.com/WardF/da463b616ef3d90d7c94
This is using the current master
; I'll roll back to the actual 4.4.0-rc1
release and try that.
Ok, I've confirmed that this test still works on my side when I use the actual 4.4.0-rc1 release. I've tested on OSX and Linux, as well as using both autoconf and cmake-based builds.
@WardF @DennisHeimbigner @doutriaux1 I just tested the 4.4.0-rc1
code built last night on OS X 10.10.4
using autoconf and I can't replicate the error either:
[durack1ml:~] durack1% netcdf4.4.0-rc1/150708_build/v4.4.0-rc1_install/bin/nc-config --all
This netCDF 4.3.3.1 has been built with the following features:
--cc -> gcc
--cflags -> -I/netcdf4.4.0-rc1/150708_build/v4.4.0-rc1_install/include -I/netcdf4.4.0-rc1/150708_build/hdf5+zlib/include
--libs ->
--has-c++ -> no
--cxx ->
--has-c++4 -> no
--cxx4 ->
--fc ->
--fflags ->
--flibs ->
--has-f90 -> no
--has-dap -> yes
--has-nc2 -> yes
--has-nc4 -> yes
--has-hdf5 -> yes
--has-hdf4 -> no
--has-pnetcdf-> no
--prefix -> netcdf4.4.0-rc1/150708_build/v4.4.0-rc1_install
--includedir-> netcdf4.4.0-rc1/150708_build/v4.4.0-rc1_install/include
--version -> netCDF 4.3.3.1
[durack1ml:~] durack1% ncdump -h http://test.opendap.org/opendap/hyrax/netcdf/examples/ECMWF_ERA-40_subset.nc
netcdf ECMWF_ERA-40_subset {
dimensions:
time = UNLIMITED ; // (62 currently)
latitude = 73 ;
longitude = 144 ;
variables:
float longitude(longitude) ;
longitude:units = "degrees_east" ;
longitude:long_name = "longitude" ;
float latitude(latitude) ;
latitude:units = "degrees_north" ;
latitude:long_name = "latitude" ;
int time(time) ;
time:units = "hours since 1900-01-01 00:00:0.0" ;
time:long_name = "time" ;
short tcw(time, latitude, longitude) ;
tcw:scale_factor = 0.0013500981745481 ;
tcw:add_offset = 44.3250482744756 ;
tcw:_FillValue = -32767s ;
tcw:missing_value = -32767s ;
tcw:units = "kg m**-2" ;
tcw:long_name = "Total column water" ;
short tcwv(time, latitude, longitude) ;
tcwv:scale_factor = 0.001327110772669 ;
tcwv:add_offset = 43.5704635546154 ;
tcwv:_FillValue = -32767s ;
tcwv:missing_value = -32767s ;
tcwv:units = "kg m**-2" ;
tcwv:long_name = "Total column water vapour" ;
short lsp(time, latitude, longitude) ;
lsp:scale_factor = 8.03329303850659e-07 ;
lsp:add_offset = 0.0263210846406669 ;
lsp:_FillValue = -32767s ;
lsp:missing_value = -32767s ;
lsp:units = "m" ;
lsp:long_name = "Stratiform precipitation (Large-scale precipitation)" ;
short cp(time, latitude, longitude) ;
cp:scale_factor = 4.82483645945993e-07 ;
cp:add_offset = 0.0158085766594205 ;
cp:_FillValue = -32767s ;
cp:missing_value = -32767s ;
cp:units = "m" ;
cp:long_name = "Convective precipitation" ;
short msl(time, latitude, longitude) ;
msl:scale_factor = 0.1721754257462 ;
msl:add_offset = 99424.2653245743 ;
msl:_FillValue = -32767s ;
msl:missing_value = -32767s ;
msl:units = "Pa" ;
msl:long_name = "Mean sea level pressure" ;
short blh(time, latitude, longitude) ;
blh:scale_factor = 0.108739383344517 ;
blh:add_offset = 3570.14367055165 ;
blh:_FillValue = -32767s ;
blh:missing_value = -32767s ;
blh:units = "m" ;
blh:long_name = "Boundary layer height" ;
short tcc(time, latitude, longitude) ;
tcc:scale_factor = 1.52597204419215e-05 ;
tcc:add_offset = 0.499984740280558 ;
tcc:_FillValue = -32767s ;
tcc:missing_value = -32767s ;
tcc:units = "(0 - 1)" ;
tcc:long_name = "Total cloud cover" ;
short p10u(time, latitude, longitude) ;
p10u:scale_factor = 0.0007584155104299 ;
p10u:add_offset = -0.440509086897149 ;
p10u:_FillValue = -32767s ;
p10u:missing_value = -32767s ;
p10u:units = "m s**-1" ;
p10u:long_name = "10 metre U wind component" ;
short p10v(time, latitude, longitude) ;
p10v:scale_factor = 0.000664359461014752 ;
p10v:add_offset = -0.745888358484452 ;
p10v:_FillValue = -32767s ;
p10v:missing_value = -32767s ;
p10v:units = "m s**-1" ;
p10v:long_name = "10 metre V wind component" ;
short p2t(time, latitude, longitude) ;
p2t:scale_factor = 0.00183558351993706 ;
p2t:add_offset = 262.398478747535 ;
p2t:_FillValue = -32767s ;
p2t:missing_value = -32767s ;
p2t:units = "K" ;
p2t:long_name = "2 metre temperature" ;
short p2d(time, latitude, longitude) ;
p2d:scale_factor = 0.00161126451178551 ;
p2d:add_offset = 251.887106386855 ;
p2d:_FillValue = -32767s ;
p2d:missing_value = -32767s ;
p2d:units = "K" ;
p2d:long_name = "2 metre dewpoint temperature" ;
short e(time, latitude, longitude) ;
e:scale_factor = 1.16702451907916e-07 ;
e:add_offset = -0.00232199712964108 ;
e:_FillValue = -32767s ;
e:missing_value = -32767s ;
e:units = "m of water" ;
e:long_name = "Evaporation" ;
short lcc(time, latitude, longitude) ;
lcc:scale_factor = 1.52597204419215e-05 ;
lcc:add_offset = 0.499984740279558 ;
lcc:_FillValue = -32767s ;
lcc:missing_value = -32767s ;
lcc:units = "(0 - 1)" ;
lcc:long_name = "Low cloud cover" ;
short mcc(time, latitude, longitude) ;
mcc:scale_factor = 1.52597204419215e-05 ;
mcc:add_offset = 0.499984740279558 ;
mcc:_FillValue = -32767s ;
mcc:missing_value = -32767s ;
mcc:units = "(0 - 1)" ;
mcc:long_name = "Medium cloud cover" ;
short hcc(time, latitude, longitude) ;
hcc:scale_factor = 1.52597204419215e-05 ;
hcc:add_offset = 0.499984740280558 ;
hcc:_FillValue = -32767s ;
hcc:missing_value = -32767s ;
hcc:units = "(0 - 1)" ;
hcc:long_name = "High cloud cover" ;
short tco3(time, latitude, longitude) ;
tco3:scale_factor = 7.69770539069593e-08 ;
tco3:add_offset = 0.00736908367510674 ;
tco3:_FillValue = -32767s ;
tco3:missing_value = -32767s ;
tco3:units = "kg m**-2" ;
tco3:long_name = "Total column ozone" ;
short tp(time, latitude, longitude) ;
tp:scale_factor = 1.05226955985453e-06 ;
tp:add_offset = 0.0344776121286335 ;
tp:_FillValue = -32767s ;
tp:missing_value = -32767s ;
tp:units = "m" ;
tp:long_name = "Total precipitation" ;
// global attributes:
:Conventions = "CF-1.0" ;
:history = "2004-09-15 17:04:29 GMT by mars2netcdf-0.92" ;
:DODS_EXTRA.Unlimited_Dimension = "time" ;
}
I'm under ubuntu 15, let me try on my mac.
ok it fails as well for me on my mac 10.10.3 so it must be some of the dependencies that are different. What would opendap need? I use system curl.
I will check with @durack1 to see what dependencies he used.
My OS X 10.10.4
build was against:
# Set versions
set netcdfVer='4.4.0-rc1'
set hdf5Ver='1.8.15'
set zlibVer='1.2.8'
# System info
[durack1ml:~] durack1% which gcc
/usr/bin/gcc
[durack1ml:~] durack1% gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.4.0
Thread model: posix
[durack1ml:~] durack1% which make
/usr/bin/make
[durack1ml:~] durack1% make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i386-apple-darwin11.3.0
# Configure info
setenv CPPFLAGS "-I${hostDir}${netcdfDir}/${datenow}_build/hdf5+zlib/include"
setenv LDFLAGS "-L${hostDir}${netcdfDir}/${datenow}_build/hdf5+zlib/lib"
./configure --prefix=${hostDir}${netcdfDir}/${datenow}_build/v${netcdfVer}_install --enable-fortran --enable-netcdf-4 --enable-dap --disable-shared
make
make check
make install
looking at my config.log I see:
configure:5223: /usr/bin/cc -o conftest -I/home/doutriaux1/build_nc4/install/Externals/include -I/home/doutriaux1/build_nc4/install/Externals/lib/libffi-3.1/include -I/home/doutriaux1/build_nc4/install/Externals/include -I/home/doutriaux1/build_nc4/install/Externals/lib/libffi-3.1/include -L/home/doutriaux1/build_nc4/install/Externals/lib -L/home/doutriaux1/build_nc4/install/Externals/lib64 -Wl,-rpath,/home/doutriaux1/build_nc4/install/Externals/lib64 -Wl,-rpath,/home/doutriaux1/build_nc4/install/lib -Wl,-rpath,/home/doutriaux1/build_nc4/install/Externals/lib conftest.c >&5
/tmp/doutriaux1/ccFvye13.o: In function`main':
conftest.c:(.text+0xa): undefined reference to `curl_easy_setopt'
collect2: error: ld returned 1 exit status
configure:5223: $? = 1
configure: failed program was:
| /\* confdefs.h _/
| #define PACKAGE_NAME "netCDF"
| #define PACKAGE_TARNAME "netcdf"
| #define PACKAGE_VERSION "4.3.3.1"
| #define PACKAGE_STRING "netCDF 4.3.3.1"
| #define PACKAGE_BUGREPORT "support-netcdf@unidata.ucar.edu"
| #define PACKAGE_URL ""
| #define PACKAGE "netcdf"
| #define VERSION "4.3.3.1"
| #define NCIO_MINBLOCKSIZE 256
| #define DEFAULT_CHUNK_SIZE 4194304
| #define MAX_DEFAULT_CACHE_SIZE 67108864
| #define DEFAULT_CHUNKS_IN_CACHE 10
| #define CHUNK_CACHE_SIZE 4194304
| #define CHUNK_CACHE_NELEMS 1009
| #define CHUNK_CACHE_PREEMPTION 0.75
| /_ end confdefs.h. _/
|
| /_ Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
ok and
doutriaux1@omar:[~/build_nc4/build/netcdf]:[40460]> /usr/bin/cc -o conftest -I/home/doutriaux1/build_nc4/install/Externals/include -I/home/doutriaux1/build_nc4/install/Externals/lib/libffi-3.1/include -I/home/doutriaux1/build_nc4/install/Externals/include -I/home/doutriaux1/build_nc4/install/Externals/lib/libffi-3.1/include -L/home/doutriaux1/build_nc4/install/Externals/lib -L/home/doutriaux1/build_nc4/install/Externals/lib64 -Wl,-rpath,/home/doutriaux1/build_nc4/install/Externals/lib64 -Wl,-rpath,/home/doutriaux1/build_nc4/install/lib -Wl,-rpath,/home/doutriaux1/build_nc4/install/Externals/lib conftest.c -lcurl
Works perfectly fine outside my build system... So it's me, sorry for the noise...
actually I'm reopening that doesn't seem to be the issue because the configure passes and actually says dap is enabled:
# Compiling Options
-----------------
C Compiler: /usr/bin/clang
CFLAGS: -I/Users/doutriaux1/build/install/Externals/include -I/Users/doutriaux1/build/install/Externals/lib/libffi-3.1/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include -L/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources -bind_at_load -mmacosx-version-min=10.9
CPPFLAGS: -I/Users/doutriaux1/build/install/Externals/include -I/Users/doutriaux1/build/install/Externals/lib/libffi-3.1/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include -m64 -mmacosx-version-min=10.9 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -pipe
LDFLAGS: -L/Users/doutriaux1/build/install/Externals/lib -Wl,-rpath,/Users/doutriaux1/build/install/lib -Wl,-rpath,/Users/doutriaux1/build/install/Externals/lib
AM_CFLAGS:
AM_CPPFLAGS:
AM_LDFLAGS:
Shared Library: yes
Static Library: yes
Extra libraries: -lhdf5_hl -lhdf5 -ldl -lm -lz -lcurl
# Features
--------
NetCDF-2 API: yes
NetCDF-4 API: yes
HDF4 Support: no
HDF5 Support: yes
HDF5/SZIP Support: no
PNetCDF Support: no
Parallel Support: no
DAP Support: yes
Diskless Support: yes
MMap Support: no
JNA Support: no
I'm tracing this a bit, the I/O Failure is actually a: OC_ECURL
Do you by any chance have a firewall in place or a proxy of some kind?
libtool: link: clang -I/Users/doutriaux1/build/install/Externals/include -I/Users/doutriaux1/build/install/Externals/lib/libffi-3.1/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include -bind_at_load -mmacosx-version-min=10.9 -Wl,-rpath -Wl,/Users/doutriaux1/build/install/lib -Wl,-rpath -Wl,/Users/doutriaux1/build/install/Externals/lib -o .libs/t_ncf330 t_ncf330.o -L/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources -L/Users/doutriaux1/build/install/Externals/lib ../liblib/.libs/libnetcdf.dylib -L/Users/doutriaux1/build/install/Externals/lib64 /Users/doutriaux1/build/install/Externals/lib/libhdf5_hl.dylib /Users/doutriaux1/build/install/Externals/lib/libhdf5.dylib -ldl -lm -lz -lcurl
ld: warning: directory not found for option '-L/Users/doutriaux1/build/install/Externals/lib64'
/Applications/Xcode.app/Contents/Developer/usr/bin/make check-TESTS
FAIL: tst_ncdap3.sh
FAIL: t_dap3a
FAIL: test_cvt3
FAIL: test_vara
FAIL: tst_remote3.sh
FAIL: tst_formatx.sh
FAIL: test_partvar
PASS: testurl.sh
FAIL: test_varm3
PASS: test_nstride_cached
PASS: t_misc
============================================================================
Testsuite summary for netCDF 4.3.3.1
============================================================================
# TOTAL: 11
# PASS: 3
# SKIP: 0
# XFAIL: 0
# FAIL: 8
# XPASS: 0
# ERROR: 0
============================================================================
See ncdap_test/test-suite.log
Please report to support-netcdf@unidata.ucar.edu
============================================================================
make[5]: *** [test-suite.log] Error 1
make[4]: *** [check-TESTS] Error 2
make[3]: *** [check-am] Error 2
make[2]: *** [check-recursive] Error 1
make[1]: *** [check] Error 2
make: *** [check-recursive] Error 1
@DennisHeimbigner I thought about it, but tried it again from home (no firewall) with no luck. Beside @durack1 was successful inside the lab's firewall. I will keep digging...
@doutriaux1 @DennisHeimbigner your errors are looking almost identical to what I documented in https://github.com/Unidata/netcdf-c/issues/115#issue-70184260
Ok I will try the cmake based build then. BUT I recall it installs in different directories depending if we are under mac or Linux, which is why I reverted to configure the first time around. I will let you know.
@doutriaux1 this has to be an environment thing.. I had no problems with OS X 10.10.4
with a vanilla XCode
install and the versions I highlighted above
I agree that it is an environment thing; I've tested on multiple platforms on my end both in the office and at home with no problem. @doutriaux1 , do you use Docker
for anything? If so, could you run the following command?
$ docker run --rm -it wardf/nctests:serial
This will download the wardf/nctests
image from dockerhub and run it. The running container will then build and test netcdf-c
, netcdf-fortran
and netcdf-cxx4
, and upload the results of the tests to the public Unidata Dashboards found at http://my.cdash.org/index.php?project=netcdf-c, etc.
This would have a couple useful side effects. First, the container is a sandboxed environment; if the tests work, we know the issue must be a local environment issue. If the tests experience the same failure, we know it must be something between you and the data. In either case, the details of the build would be uploaded to the dashboard where Dennis and I could examine them.
If you aren't using docker, I hesitate to ask you to install it simply to debug this, but if you were willing to, I could help guide you through that. On linux it's pretty easy, I believe it's available via most package managers or from http://docker.io.
yes I'm pretty sure it is environment related, hoping that switching to cmake will clean this up (since we use cmake to call configure)
@WardF I used docker in the past. Not sure I can get to it today though...
ok cmake build, I now get seg faults....
doutriaux1@maryam:[~/build]:[10229]> /install/Externals/bin/ncdump http://test.opendap.org/opendap/hyrax/netcdf/examples/ECMWF_ERA-40_subset.nc
Segmentation fault: 11
doutriaux1@maryam:[~/build]:[10226]> ~/build//install/Externals/bin/nc-config --all
This netCDF 4.4.0-rc1 has been built with the following features:
--cc -> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
--cflags -> -I/Users/doutriaux1/build/install/Externals/include
--libs -> -L/Users/doutriaux1/build/install/Externals/lib -lnetcdf -lhdf5_hl -lhdf5 -lz -ldl -lm -lcurl
--has-c++ -> no
--cxx ->
--has-c++4 -> no
--cxx4 ->
--fc ->
--fflags ->
--flibs ->
--has-f90 -> no
--has-dap -> yes
--has-nc2 -> yes
--has-nc4 -> yes
--has-hdf5 -> yes
--has-hdf4 -> no
--has-pnetcdf-> no
--has-szlib -> no
--prefix -> /Users/doutriaux1/build/install/Externals
--includedir-> /Users/doutriaux1/build/install/Externals/include
--version -> netCDF 4.4.0-rc1
and ctest gives:
141/160 Test #141: tst_h_dimscales4 ................. Passed 0.01 sec
Start 142: ncdap_tst_ncdap3
142/160 Test #142: ncdap_tst_ncdap3 .................***Failed 0.34 sec
Start 143: ncdap_t_dap3a
143/160 Test #143: ncdap_t_dap3a ....................***Exception: SegFault 0.21 sec
Start 144: ncdap_test_cvt
144/160 Test #144: ncdap_test_cvt ...................***Exception: SegFault 0.26 sec
Start 145: ncdap_test_vara
145/160 Test #145: ncdap_test_vara ..................***Exception: SegFault 0.27 sec
Start 146: ncdap_tst_remote3
146/160 Test #146: ncdap_tst_remote3 ................***Failed 9.18 sec
Start 147: ncdap_tst_formatx
147/160 Test #147: ncdap_tst_formatx ................***Failed 0.70 sec
Start 148: ncdap_test_partvar
148/160 Test #148: ncdap_test_partvar ...............***Exception: SegFault 0.70 sec
Start 149: ncdap_testurl
149/160 Test #149: ncdap_testurl .................... Passed 0.76 sec
Start 150: ncdap_test_nstride_cached
150/160 Test #150: ncdap_test_nstride_cached ........***Exception: SegFault 0.53 sec
Start 151: ncdap_t_misc
151/160 Test #151: ncdap_t_misc .....................***Exception: SegFault 0.27 sec
Start 152: ncdap_test_varm3
152/160 Test #152: ncdap_test_varm3 .................***Exception: SegFault 0.52 sec
Start 153: C_tests_simple_xy_wr
153/160 Test #153: C_tests_simple_xy_wr ............. Passed 0.01 sec
Start 154: C_tests_simple_xy_rd
154/160 Test #154: C_tests_simple_xy_rd ............. Passed 0.01 sec
Start 155: C_tests_sfc_pres_temp_wr
155/160 Test #155: C_tests_sfc_pres_temp_wr ......... Passed 0.02 sec
Start 156: C_tests_sfc_pres_temp_rd
156/160 Test #156: C_tests_sfc_pres_temp_rd ......... Passed 0.01 sec
Start 157: C_tests_pres_temp_4D_wr
157/160 Test #157: C_tests_pres_temp_4D_wr .......... Passed 0.01 sec
Start 158: C_tests_pres_temp_4D_rd
158/160 Test #158: C_tests_pres_temp_4D_rd .......... Passed 0.01 sec
Start 159: cdl_create_sample_files
159/160 Test #159: cdl_create_sample_files .......... Passed 0.04 sec
Start 160: cdl_do_comps
160/160 Test #160: cdl_do_comps ..................... Passed 0.01 sec
94% tests passed, 10 tests failed out of 160
Total Test time (real) = 71.09 sec
The following tests FAILED:
142 - ncdap_tst_ncdap3 (Failed)
143 - ncdap_t_dap3a (SEGFAULT)
144 - ncdap_test_cvt (SEGFAULT)
145 - ncdap_test_vara (SEGFAULT)
146 - ncdap_tst_remote3 (Failed)
147 - ncdap_tst_formatx (Failed)
148 - ncdap_test_partvar (SEGFAULT)
150 - ncdap_test_nstride_cached (SEGFAULT)
151 - ncdap_t_misc (SEGFAULT)
152 - ncdap_test_varm3 (SEGFAULT)
Errors while running CTest
lldb trace, it might help us pin point
doutriaux1@maryam:[build]:[10587]> lldb ~/build//install/Externals/bin/ncdump http://test.opendap.org/opendap/hyrax/netcdf/examples/ECMWF_ERA-40_subset.nc
(lldb) target create "/Users/doutriaux1/build//install/Externals/bin/ncdump"
Current executable set to '/Users/doutriaux1/build//install/Externals/bin/ncdump' (x86_64).
(lldb) settings set -- target.run-args "http://test.opendap.org/opendap/hyrax/netcdf/examples/ECMWF_ERA-40_subset.nc"
(lldb) r
Process 45302 launched: '/Users/doutriaux1/build//install/Externals/bin/ncdump' (x86_64)
Process 45302 stopped
* thread #1: tid = 0xebf1, 0x00000001000b09c7 libnetcdf.7.dylib`occurlflagbyname(name=0x0000000100186749) + 327 at occurlflags.c:301, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x2)
frame #0: 0x00000001000b09c7 libnetcdf.7.dylib`occurlflagbyname(name=0x0000000100186749) + 327 at occurlflags.c:301
298
299 if(nameindices[c] == NULL)
300 return NULL; /* no possible match */
-> 301 for(f=nameindices[c];f->name;f++) {
302 int cmp = strcmp(name,f->name);
303 if(cmp > 0) break; /* We assume sorted */
304 if(cmp == 0) return f;
trace:
(lldb) bt
* thread #1: tid = 0xebf1, 0x00000001000b09c7 libnetcdf.7.dylib`occurlflagbyname(name=0x0000000100186749) + 327 at occurlflags.c:301, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x2)
* frame #0: 0x00000001000b09c7 libnetcdf.7.dylib`occurlflagbyname(name=0x0000000100186749) + 327 at occurlflags.c:301
frame #1: 0x000000010009c6ca libnetcdf.7.dylib`oc_set_curl_options(state=0x0000000104100270) + 330 at occurlfunctions.c:273
frame #2: 0x000000010009c565 libnetcdf.7.dylib`ocset_flags_perlink(state=0x0000000104100270) + 373 at occurlfunctions.c:234
frame #3: 0x00000001000a26ec libnetcdf.7.dylib`ocopen(statep=0x00007fff5fbff440, url=0x00000001040044b0) + 380 at ocinternal.c:194
frame #4: 0x0000000100090190 libnetcdf.7.dylib`oc_open(url=0x00000001040044b0, linkp=0x00000001040041e8) + 64 at oc.c:58
frame #5: 0x00000001000c4715 libnetcdf.7.dylib`NCD2_open(path=0x0000000104001c30, mode=0, basepe=0, chunksizehintp=0x0000000000000000, useparallel=0, mpidata=0x0000000000000000, dispatch=0x000000010316ed60, drno=0x0000000104001cf0) + 1141 at ncd2dispatch.c:397
frame #6: 0x00000001000273aa libnetcdf.7.dylib`NC_open(path=0x0000000104001c30, cmode=0, basepe=0, chunksizehintp=0x0000000000000000, useparallel=0, parameters=0x0000000000000000, ncidp=0x00007fff5fbff734) + 922 at dfile.c:1855
frame #7: 0x0000000100026ffb libnetcdf.7.dylib`nc_open(path=0x0000000104001c30, mode=0, ncidp=0x00007fff5fbff734) + 75 at dfile.c:608
frame #8: 0x0000000100003481 ncdump`main(argc=1, argv=0x00007fff5fbff7a0) + 1441 at ncdump.c:2156
frame #9: 0x00007fff968065fd libdyld.dylib`start + 1
frame #10: 0x00007fff968065fd libdyld.dylib`start + 1
Is there a debugger on mac similar to gdb? If so, can you run it against one of the failing programs to give a stack dump?
You can use gdb or lldb on the Mac. They come as part of the developer command line tools.
Sent from my iPhone
On Jul 10, 2015, at 8:56 PM, DennisHeimbigner notifications@github.com wrote:
Is there a debugger on mac similar to gdb? If so, can you run it against one of the failing programs to give a stack dump?
— Reply to this email directly or view it on GitHub.
@DennisHeimbigner that's the traceback I posted just above. ldb trace
Linux traceback with gdb in case you're more familiar with it:
gdb --args ./install/Externals/bin/ncdump -h http://test.opendap.org/opendap/hyrax/netcdf/examples/ECMWF_ERA-40_subset.nc
GNU gdb (Ubuntu 7.9-1ubuntu1) 7.9
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./install/Externals/bin/ncdump...done.
(gdb) r
Starting program: /home/doutriaux1/build_nc4/install/Externals/bin/ncdump -h http://test.opendap.org/opendap/hyrax/netcdf/examples/ECMWF_ERA-40_subset.nc
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff4b065d8 in occurlflagbyname (name=0x7ffff4df0ab1 <ocglobalstate+114737> "COOKIEJAR")
at /home/doutriaux1/build_nc4/build/netcdf/oc2/occurlflags.c:301
301 for(f=nameindices[c];f->name;f++) {
trace:
(gdb) bt
#0 0x00007ffff4b065d8 in occurlflagbyname (name=0x7ffff4df0ab1 <ocglobalstate+114737> "COOKIEJAR")
at /home/doutriaux1/build_nc4/build/netcdf/oc2/occurlflags.c:301
#1 0x00007ffff4af6b0c in oc_set_curl_options (state=0x65a1d0) at /home/doutriaux1/build_nc4/build/netcdf/oc2/occurlfunctions.c:273
#2 0x00007ffff4af6a00 in ocset_flags_perlink (state=0x65a1d0) at /home/doutriaux1/build_nc4/build/netcdf/oc2/occurlfunctions.c:234
#3 0x00007ffff4afb595 in ocopen (statep=0x7fffffffe380,
url=0x636820 "http://test.opendap.org/opendap/hyrax/netcdf/examples/ECMWF_ERA-40_subset.nc")
at /home/doutriaux1/build_nc4/build/netcdf/oc2/ocinternal.c:194
#4 0x00007ffff4aedef0 in oc_open (url=0x636820 "http://test.opendap.org/opendap/hyrax/netcdf/examples/ECMWF_ERA-40_subset.nc",
linkp=0x636568) at /home/doutriaux1/build_nc4/build/netcdf/oc2/oc.c:58
#5 0x00007ffff4b1620f in NCD2_open (path=0x6364a0 "http://test.opendap.org/opendap/hyrax/netcdf/examples/ECMWF_ERA-40_subset.nc",
mode=0, basepe=0, chunksizehintp=0x0, useparallel=0, mpidata=0x0, dispatch=0x7ffff4dca7c0 <NCD2_dispatcher>, drno=0x636630)
at /home/doutriaux1/build_nc4/build/netcdf/libdap2/ncd2dispatch.c:397
#6 0x00007ffff4a99986 in NC_open (path=0x6364a0 "http://test.opendap.org/opendap/hyrax/netcdf/examples/ECMWF_ERA-40_subset.nc", cmode=0,
basepe=0, chunksizehintp=0x0, useparallel=0, parameters=0x0, ncidp=0x7fffffffe550)
at /home/doutriaux1/build_nc4/build/netcdf/libdispatch/dfile.c:1855
#7 0x00007ffff4a98ba2 in nc_open (path=0x6364a0 "http://test.opendap.org/opendap/hyrax/netcdf/examples/ECMWF_ERA-40_subset.nc", mode=0,
ncidp=0x7fffffffe550) at /home/doutriaux1/build_nc4/build/netcdf/libdispatch/dfile.c:608
#8 0x00000000004095dc in main (argc=1, argv=0x7fffffffe698) at /home/doutriaux1/build_nc4/build/netcdf/ncdump/ncdump.c:2156
ok I'm printing a few things in here trying to debug this, "c" is 67 coming in there and indicesname is [26] in length. Hence the segfault. Now trying to figure out why c is 67
declaring a longer indicesname and prinitnig f/f->name etc I get:
/Users/doutriaux1/build/build/install/Externals/bin/ncdump http://test.opendap.org/opendap/hyrax/netcdf/examples/ECMWF_ERA-40_subset.nc
C: 67
name: COOKIEJAR
nameindices: R??
f: R??
fname: CURLOPT_CAINFO
f: a??
fname: CURLOPT_CAPATH
f: p??
fname: CURLOPT_COOKIEFILE
f: ???
fname: CURLOPT_COOKIEJAR
f: ???
fname: CURLOPT_ENCODING
f: ???
fname: CURLOPT_ERRORBUFFER
f: ???
fname: CURLOPT_FOLLOWLOCATION
f: Ѯ?
fname: CURLOPT_HTTPAUTH
f: ??
fname: CURLOPT_KEYPASSWD
f: ???
fname: CURLOPT_MAXREDIRS
f: ??
fname: CURLOPT_NETRC
f: ??
fname: CURLOPT_NETRC_FILE
f: '??
fname: CURLOPT_PROXY
f: 5??
fname: CURLOPT_PROXYAUTH
f: G??
fname: CURLOPT_PROXYPORT
f: Y??
fname: CURLOPT_PROXYUSERPWD
f: n??
fname: CURLOPT_SSLCERT
f: ~??
fname: CURLOPT_SSLKEY
f: ???
fname: CURLOPT_SSLKEYPASSWD
f: ???
fname: CURLOPT_SSL_VERIFYHOST
f: ???
fname: CURLOPT_SSL_VERIFYPEER
f: Я?
fname: CURLOPT_TIMEOUT
f: ??
fname: CURLOPT_USERAGENT
f: ??
fname: CURLOPT_USERPWD
f: ??
fname: CURLOPT_VERBOSE
f: ??
fname: CURLOPT_USE_SSL
/Users/doutriaux1/build/build/install/Externals/bin/ncdump: http://test.opendap.org/opendap/hyrax/netcdf/examples/ECMWF_ERA-40_subset.nc: NetCDF: I/O failure
kind of back to what I used to get with configure rather than cmake
in the "initialize" function: https://github.com/Unidata/netcdf-c/blob/master/oc2/occurlflags.c#L253-275 c is p->name[0] which is always "C" which is 67
Hello @doutriaux1 , any progress in nailing down what is happening with this issue? I'm still unable to recreate the issue on my end, but I'd like to figure out how to resolve this for you.
no luck so far. I'm pretty sure it's not firewall related though because I do get the same error from home.
I get a similar issue on rc2 compiling using configure
. I posted the log here. It looks like the same issue I have seen since 4.3.3. I'm curious if it has anything to do with the version of curl or ssl installed since that is where the segfault occurs above. I seem to be using the system libcurl FWIW:
$ otool -L ncdump
ncdump:
/Users/jbeezley/nctest/lib/libnetcdf.7.dylib (compatibility version 11.0.0, current version 11.0.0)
/usr/local/lib/libsz.2.dylib (compatibility version 3.0.0, current version 3.0.0)
/usr/local/lib/libhdf5_hl.9.dylib (compatibility version 10.0.0, current version 10.0.0)
/usr/local/lib/libhdf5.9.dylib (compatibility version 10.0.0, current version 10.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libcurl.4.dylib (compatibility version 7.0.0, current version 8.0.0)
@jbeezley I think you're on the right path.
Okay, so the issue is related to the existence of a ~\.dodsrc
or ~\.daprc
file. Some program that I must have run at some point created the .daprc
with old or invalid keys CURL.SSL.KEY
, CURL.COOKIEJAR
, etc. If I change these to HTTP.SSL.KEY
, HTTP.COOKIEJAR
, ... the tests pass.
@jbeezley I compiled on Ubuntu 15.04 and had to install libcurl4-openssl-dev to enable DAP support, otherwise the lcurl library is not found.
sudo apt-get install libcurl4-openssl-dev
As well following the information you found.
I had to comment out all the CURL.XXX in the .dodsrc. This is an netCDF OPeNDAP access with ESG based security. I found a trac system about it here.
http://ndg-security.ceda.ac.uk/browser/trunk/NDGSecurity/C/openDapPatch http://ndg-security.ceda.ac.uk/wiki/netCDF-ESGSecurityExtension
#CURL.COOKIEJAR=.dods_cookies
#CURL.SSL.VALIDATE=1
#CURL.SSL.CERTIFICATE=/home/dnadeau/.esg/credentials.pem
#CURL.SSL.KEY=/home/dnadeau/.esg/credentials.pem
#CURL.SSL.CAPATH=/home/dnadeau/.esg/certificates
Denis
@doutriaux1 @durack1 @jbeezley How can we fix the ESG credential with netCDF 4.4.0rc1?
I am a bit out of my depth when it comes to OPeNDAP and the .dodsrc
file; @DennisHeimbigner will probably have a better idea than I.
Unless you need it for authorization, you should be able to safely delete any .dodsrc/.daprc file. If you need authorization, then you should read this document (docs/auth.md) again, because I fixed some problems with redirection based authorization such as URS.
@DennisHeimbigner thx. Yes we ABSOLUTELY need authentification for ESGF related things. Will red this new document and get back to you if i have question. In the mean time let me try with my .dodsrc remvoed. @dnadeau4 curl-devel is a required pre-requisite (see: https://github.com/UV-CDAT/uvcdat/wiki/System-Requirements ) also lets make sure we don't create a dodsrc I think we might do it from the GUI side of things.
Happy we found a thread to follow. This is important, I don’t know much about CURL and SSL authentication. Any expert on this around here?
@dnadeau4 sure enough we create a dodsrc file: https://github.com/UV-CDAT/VisTrails/blob/uvcdat-master/vistrails/gui/uvcdat/esgf.py#L186-L214
ok dodsrc seem to be the issue:
doutriaux1@sofia:[~/build]:[6281]> ctest -j8 -R CDMS_Test_multiple_formats
Test project /Users/doutriaux1/build
Start 26: CDMS_Test_multiple_formats
1/1 Test #26: CDMS_Test_multiple_formats ....... Passed 0.70 sec
100% tests passed, 0 tests failed out of 1
Total Test time (real) = 0.71 sec
doutriaux1@sofia:[~/build]:[6282]> mv /Users/doutriaux1/.dodsrc.old /Users/doutriaux1/.dodsrc
doutriaux1@sofia:[~/build]:[6283]> ctest -j8 -R CDMS_Test_multiple_formats
Test project /Users/doutriaux1/build
Start 26: CDMS_Test_multiple_formats
1/1 Test #26: CDMS_Test_multiple_formats .......***Failed 0.31 sec
0% tests passed, 1 tests failed out of 1
Total Test time (real) = 0.31 sec
The following tests FAILED:
26 - CDMS_Test_multiple_formats (Failed)
Errors while running CTest
just as a follow up it works nicely against ESGF auth as well, here's my .dodsrc
file for future references
USE_CACHE=0
MAX_CACHE_SIZE=20
MAX_CACHED_OBJ=5
IGNORE_EXPIRES=0
CACHE_ROOT=/home/doutriaux1/.dods_cache/
DEFAULT_EXPIRES=86400
ALWAYS_VALIDATE=0
DEFLATE=0
VALIDATE_SSL=0
HTTP.VERBOSE=1
HTTP.COOKIEJAR=.dods_cookies
HTTP.SSL.VALIDATE=0
HTTP.SSL.CERTIFICATE=/home/doutriaux1/.esg/credentials.pem
HTTP.SSL.KEY=/home/doutriaux1/.esg/credentials.pem
HTTP.SSL.CAPATH=/home/doutriaux1/.esg/certificates