Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test failures in 4.8.0 wellspring. #1940

Closed
WardF opened this issue Jan 27, 2021 · 20 comments
Closed

Test failures in 4.8.0 wellspring. #1940

WardF opened this issue Jan 27, 2021 · 20 comments

Comments

@WardF
Copy link
Member

WardF commented Jan 27, 2021

Update: Renamed issue, focusing on failures so that we can get 4.8.0 released finally. Adding failure observed in ncdump/tst_nccopy4 as well.

In preparation for the 4.8.0 release, I am testing with Visual Studio 2017 on Windows, using the MSYS shell to provide 'bash'. I am seeing the following failures:

64-bit tests

  • ncdump/tst_nccopy4
  • nc_test4/tst_filter
  • nczarr_test/tst_nccopyz

32-bit tests

  • nc_test4/test_filter
  • ncdap_tst_remote3
  • nczarr_test/run_ut_map
  • nczarr_test/run_ut_mapapi
  • nczarr_test/tst_nccopyz

Further details added below as I work through this.

@DennisHeimbigner
Copy link
Collaborator

Do you have any more info on this?

@WardF
Copy link
Member Author

WardF commented Jan 29, 2021

I've been trying to set up a cygwin+Visual Studio working environment, to see if it's something with my MSYS-based shell, with no luck. The tests that are failing are all shell scripts, let me see if I can get some further information running them by hand.

@WardF
Copy link
Member Author

WardF commented Jan 29, 2021

@DennisHeimbigner For 64-bit tst_filter.sh I'm seeing the following (additional info and test ouput to follow).

# ./tst_filter.sh
findplugin.sh loaded
final HDF5_PLUGIN_PATH=D:/netcdf-c/build/plugins
*** Testing dynamic filters using API

*** Testing API: bzip2 compression.
show parameters for bzip2: level=9
show chunks: chunks=4,4,4,4

*** Testing API: bzip2 decompression.
data comparison: |array|=256
no data errors
*** Pass: API dynamic filter

*** Testing dynamic filters parameter passing
test1: compression.
test: nparams=14: params= 1 239 23 65511 27 77 93 1145389056 3287505826 1097305129 1 2147483648 4294967295 4294967295
dimsizes=4,4,4,4
chunksizes=4,4,4,4
test1: decompression.
data comparison: |array|=256
no data errors
test2: dimsize % chunksize != 0: compress.
test: nparams=14: params= 2 239 23 65511 27 77 93 1145389056 3287505826 1097305129 1 2147483648 4294967295 4294967295
dimsizes=4,4,4,4
chunksizes=4,4,4,4
nbytes = 1024 chunk size = 1024
test2: dimsize % chunksize != 0: decompress.
nbytes = 1024 chunk size = 1024
data comparison: |array|=256
no data errors
nbytes = 1024 chunk size = 1024
*** Pass: parameter passing
*** Testing dynamic filters using ncgen
*** Pass: ncgen dynamic filter
*** Testing dynamic filters using nccopy
        *** Testing simple filter application
16d15
<               var:_Filter = "307,9,4";

@WardF
Copy link
Member Author

WardF commented Feb 25, 2021

Reviving and revamping this issue as part of the concentrated push to get 4.8.0 out the door.

@WardF WardF changed the title nczarr failures w/ Visual Studio, Windows 10 Test failures in 4.8.0 wellspring. Feb 25, 2021
@WardF
Copy link
Member Author

WardF commented Feb 25, 2021

Failure in ncdump/tst_nccopy4:

 *** Creating chunkable test file tst_chunking.nc...
  ok.
  *** Tests successful!
  *** Test that nccopy -c can chunk and unchunk files
  *** Test that nccopy -c works as intended for record dimension default (1)
  *** Test that nccopy -c dim/n works as intended
  *** Test that nccopy -F var1,none works as intended
  NetCDF: Variable not found
  Location: file ; line 2052

@WardF
Copy link
Member Author

WardF commented Feb 25, 2021

ncdump/tst_nccopy4.sh

The issue on Windows (using bash from msys2 at least) is the -c / argument to nccopy.

@DennisHeimbigner
Copy link
Collaborator

The only thing I could find was a memory leak. I will post a fix for that.

@DennisHeimbigner
Copy link
Collaborator

BTW, are you in a position to do this set of commands?

export SETX=1
sh -x ./tst_nccopy4.sh

@WardF
Copy link
Member Author

WardF commented Feb 25, 2021

@DennisHeimbigner, on Windows when I run the line:

$ nccopy -M0 -4 -F var1,none -c / tst_nofilters.nc tmp_nofilters.nc

It returns

NetCDF: Variable not found
Location: file ; line 2052

If I invoke

$ nccopy -M0 -4 -F var1,none tst_nofilters.nc tmp_nofilters.nc

it returns with no error. The issue, using bash as provided by msys2, appears to be the -c / argument.

@DennisHeimbigner
Copy link
Collaborator

What ./configure flags are you using?

@WardF
Copy link
Member Author

WardF commented Feb 25, 2021

The defaults; I'm using cmake on Windows and not specifying anything beyond dependency paths and compiler.

@WardF
Copy link
Member Author

WardF commented Mar 8, 2021

So the commands work fine in the CMD Window, which obviously doesn't work with our bash-based test scripts, but do indicate there is some issue with the way MSYS is interpreting and passing the arguments. This is not enough to hold up the 4.8.0 release, so I will test these 'failures' in a CMD window manually, and figure out which tests are truly failing and which ones are a reflection of this msys bash issue, which can then be resolved later.

@DennisHeimbigner
Copy link
Collaborator

I have got to believe it is a \r problem.
You need to add a 'set -x' command to the front of
ncdump/tst_nccopy4
and capture the output to a file in hopes we can see
if extraneous \r characters are being inserted.

@WardF
Copy link
Member Author

WardF commented Mar 8, 2021

Hi Dennis, I have done that but it does not appear to be the issue.

@WardF
Copy link
Member Author

WardF commented Mar 8, 2021

It appears to be a fairly common in msys2 bash; long story short, escaping / with a /, e.g. passing -c // fixes the issue.

WardF added a commit that referenced this issue Mar 8, 2021
@DennisHeimbigner
Copy link
Collaborator

Can you check if -c / also works?

@DennisHeimbigner
Copy link
Collaborator

You will be amused to know that the -c // case already occurs in tst_nccopy4.sh
some lines above where the current failure occurs. Further, there is already code in
nccopy to handle -c // for linux systems.

@DennisHeimbigner
Copy link
Collaborator

this line did not appear correctly

Can you check if -c / also works?

It should be

Can you check if -c \/ also works?

@WardF
Copy link
Member Author

WardF commented Mar 9, 2021

Escaping the slash doesn't work for whatever reason, but the double-slash does. Making the changes in the wellspring branch. Thanks!

@DennisHeimbigner
Copy link
Collaborator

Ok, but remember that you do not need to make the fix msys specific.
The nccopy code already handles it.

WardF added a commit that referenced this issue Mar 9, 2021
@WardF WardF closed this as completed Mar 16, 2021
clrpackages pushed a commit to clearlinux-pkgs/netcdf that referenced this issue Jun 24, 2021
Antonio Valentino (1):
      Fix HDF5_ZLIB check

Bart Oldeman (1):
      Add HAVE_MPI_INFO_F2C to cmake config.h input file

Brian McKenna (1):
      parse projection functions

Dan Ibanez (3):
      Ensure MPI header found without wrapper
      more missing includes for MPI without wrapper
      HAVE_MPI_INFO_F2C was missing from CMake config.h

Dave Allured (1):
      Update RELEASE_NOTES.md

Dave-Allured (1):
      Fix time zone parser bug, github #1417

Dennis Heimbigner (134):
      Fix reclamation of the ->format_XXX_info fields
      force github checks restart
      Fix missing forward declarations
      Update RELEASE_NOTES.md
      Use proper CURLOPT values for VERIFYHOST and VERIFYPEER
      Support no-op dispatch functions
      Update release notes
      ckp
      updae
      updae
      updae
      Allow redefinition of variable filters
      uintptr for VS
      Fix ncgen handling of big data sections
      make ncdumpchunks conditional
      handle missing H5Dread_chunks
      ocdebug
      restore
      Expanded RELEASE_NOTES description
      Fix undefined references when using Visual Studio
      Make plugin noop1 be distcleaned
      Condition XGetOpt on MSC_VER not WIN32
      Fix some protocol differences between netcdf-c and the Hyrax server.
      Fix windows \r problem
      Add more dap4 tests for CMake
      Make CMake tests work for dap4
      Fix some memleaks in libdap4
      Allow use of type keywords as identifier in formats that do not support that type.
      Fix nccopy chunking to use default chunking
      Update release notes
      This PR adds EXPERIMENTAL support for accessing data in the
      Fix LGTM detected errors
      Fix LGTM errors
      Fix LGTM errors and S3 mis-configuration
      Semi-disable S3 tests.
      turn on some tests
      Fixed documentation
      externl'ize
      missinginclude
      Fix nczarr-experimental to better support CMake and find AWS libraries
      Conditional malloc.h on Windows
      Move closer to getting S3 support work with CMake under Visual
      Update parser/lexer build process for ncgen3
      Malformed CMake
      CMake fixes
      Fix items in netcdf_meta.h
      Define isnan and isinf for OSX
      Disable all USE_PARALLEL code in libnczarr
      cleanup some LOOK code
      The big change for this commit is complete the
      Fix nccopy -c dim/x to actually use the dim/x value.
      Fix URL encoding in DAP2 url processing
      Fix error where not converting fill data
      force check retry
      Fix issue 1839 -- missing symbols under OSX
      Use the built-in HDF5 byte-range reader, if available.
      Mostly revert the filter code to reduce its complexity of use.
      Slight mod to the incompatibilities section
      Revise filters.md to clarify
      Fix missing casts of var->filters
      Cleanup byterange test URLS
      Prepare for the path management code
      Improve the building of NCZARR S3 support in CMake and Autoconf
      Update Release Notes
      Support aligned access for selected Arm processors.
      Revise the arm test per Unidata/netcdf-c#1854 (comment)
      Suppress notused warnings
      Yet another fix for DAP2 double URL encoding.
      Add encode= tests
      Remove trailing comma from _NCProperties attribute value.
      Provide a Number of fixes/improvements to NCZarr
      Update RELEASENOTES
      Force re-check
      Fix a number of CMake problems
      missing ifdef
      Create c-cpp.yml
      actions1
      remove bm_chunks3
      remove nczarr_test/bm*
      revert
      Remove some file references in nczarr_test/Makefile.am
      remove actions file
      remove actions file
      Enforce that !ENABLE_BYTERANGE => !ENABLE_HDF5_ROS3
      Fix merge error from PR https://github.com/Unidata/netcdf-c/pull/1892/files
      Fix minor Makefile.am warning
      manual workflow
      update workflows
      rename
      automake-dmh.yml
      ignore.yml
      manual.yml
      ignore
      update file permission
      opendap2.oceanbrowser.net is temporarily unavailable
      remove worflows and fix ifdef
      unblock .dmh
      unblock dmh appveyor
      Make use of clock_gettime be conditional.
      Additional Fixes to NCZarr
      Update Release Notes
      Remove some potentially harmful duplicate code
      Fix some additional edges cases for mapping slices to chunks
      retry2
      debug
      update workflows
      update-workflows-again
      rebuild
      Add tests for filter order on read and write cases
      Fix CMake bug
      undebug workflow
      Enable selected DAP tests previously disabled.
      More NCZarr optimizations
      remove lgtm alert
      Make fillmismatch the default for DAP2 and DAP4
      fix tst_fillmismatch.sh
      fix test cases
      Improve operation of the DAP4 code and fix bugs
      turn off actions on push
      Forgot baselinehyrax in the dist
      Enable nczarr testing in github actions.
      disable run_chunkcases
      Add zip file support
      appveyor fix
      More fixes to the nccopy filter x chunking algorithm
      Unify definition of NC_DISPATCH_VERSION
      Fix duplicate BOOL definitions
      Update Release Notes
      FIx install of netcdf_dispatch.h
      Update RELEASE_NOTES
      Update RELEASE_NOTES
      Fix memory leak in nccopy.c
      Codify cross-platform file paths
      Update RELEASE_NOTES

Douglas Dirks (1):
      Ensure that the nav-tree extends to the full height of the content area. The footer must be enclosed in a div element with the id="nav-path" for this to work.

Edward Hartnett (97):
      now testing that nc_inq_var_deflate() works for all formats and returns 0 deflate and deflate_level
      updated release notes
      dealing with nc_inq_var_szip(), testing, and release notes
      documentation improvements
      documentation improvements
      documentation improvements
      now testing nc_inq_var_deflate/nc_inq_var_szip after enddef too
      cleanup
      checking nc_inq_var_chunking() with classic formats
      more testing after enddef
      whitespace cleanup of test
      added demonstration of nc_def_var_deflate() issue
      adding internal function, plus some documentation
      now properly setting HDF5 file cache for files created/opened sequentially on parallel IO builds
      updated RELEASE_NOTES
      whitespace cleanup
      updated RELEASE_NOTES
      fixed LDFLAFS in plugins Makefile.am, also fixed warning in tst_h_vars.c
      changed to only MOSTLY dead
      changed back to totally dead
      readded NOTNC3 varm functions to dispatch
      fixed the setting of AM_LDFLAGS
      added tst_gfs_data1
      starting to modify test
      starting to modify test
      starting to develop test
      more test development
      more test development
      further test development
      further test development
      more test development
      further test development
      more test development
      more test development
      more test development
      now reopening file and checking dim and var metadata
      now checking pfull data
      now checking more data
      now checking more data
      now checking more data
      fixed warnings in tst_create_files.c
      fixed warnings in bm_file.c
      further benchmark development, moved to benchmark dir
      better handling for multiple data vars
      further test development
      more benchmark development for tst_gfs_data_1.c
      fixed Makefile to refrain from building nc_perf/tst_gfs_data_1 for non-parallel builds
      move data decomposition calculations to decomp_4D() function
      further development
      now create metadata in a function with many parameters
      added attributes
      added attributes
      more benchmark development
      starting to add decomp for 36 tasks
      starting to add test for unlimited dim
      fixed problem setting szip on var with unlimited dim and added test
      updated RELEASE_NOTES
      added some ncdump tests for szip when it is present
      added test cdl files to cleanfiles
      cleanup of 2d decomposition
      working on 2D decomposition code
      code cleanup
      cleaned up lat/lon code
      cleaned up grid code
      dealing with coord var cleanup
      added new metadata writing function
      starting to check metadata
      more checking metadata
      now checking some coord vars
      more checking of metadata and coord vars
      starting to use get_vara functions to check metadata
      further checking of metadata
      further checking of metadata
      now checking lat/lon coord values
      changed output to be more readable
      updated RELEASE_NOTES
      updated RELEASE_NOTES
      starting to test repeated redefs
      now dont return error on second redef call for netcdf/HDF5 files
      updated release notes
      fixed warning in hdf5filter.c
      added new test tst_h_par_compress.c
      fixed warning in tst_parallel5.c
      changed tst_h_par_compress to use H5Dcreate2() just like code in nc4hdf5.c does
      adding property list for dataset creation to tst_h_par_compress.c
      adding other settings of dataset property list to match what is in nc4hdf5.c
      turned off szip testing while HDF5 issue is resolved
      took out timing code
      added tst_h_par_compress to CMake build
      updated RELEASE_NOTES
      getting tst_gfs_data_1 ready to merge
      fixed dispatch version number in CMakeLists.txt
      fixed tst_h_par_compress.c
      adding test for attributes
      fixed up test
      fixed comment
      fixed comment

Greg Sjaardema (14):
      Proof-of-Concept:  Avoid N^2 behavior in NC4_inq_dim
      Remove line that was missed in original patch
      Different method of setting Parallel Filters variables
      Remove duplicate references to error4.c
      Fix CMake generation of netcdf_meta.h
      Avoid potential integer overrun
      Remove test since file was moved to nc_perf
      Protect use of `H5Dread_chunk` function
      Fix setting of use_szlib
      Fix undefined struct member access
      Fix CMake build so netcdf_meta.h has correct form
      Fix detection and use of SZIP library
      Fix so setting of NC_FORMATX_NC3 in parallel is kept
      Fix if statement to apply to fflush

John Correira (1):
      Fix typo postinstall.

Jorge López Fueyo (1):
      Fix build on Windows with clang-cl

LProx2020 (6):
      Update FAQ.md
      Updated README.md Links
      Copyediting Updates #1
      Copyediting Updates #2
      Update software.html
      Email Removal

Magnus Ulimoen (4):
      Generate m4 files out of tree
      Configure netcdf_meta.h directly to BINARY_DIR
      Move generated file to BINARY_DIR
      H5Znoop1.c copied to BINARY_DIR instead of SOURCE_DIR

Mark Hansen (1):
      Correcting dead link to installation

Orion Poplawski (1):
      Fix wrong header include in testing HDF5 for zlib

Peter Hill (1):
      Fix wrong header include in testing HDF5 for zlib

Rostislav Kouznetsov (1):
      Fix for :60 seconds in ncdump

Ryan May (2):
      Fix for cURL >7.69
      Add fix to release notes.

Scot Breitenfeld (14):
      Updated to use H5O_info2_t for HDF5 1.12 and the use of H5Oget_info3 instead of H5Gget_objinfo
      fixed missing declaration
      Replaced deprecated (in 1.8.0) H5Aopen_name with H5Aopen_by_name
      fixed H5O_info_t incompatiblity with H5Oget_info_by_idx3
      Allow for the HDF5 file format to be compatible with features greater than HDF5 1.8, which
      reverted past fix
      Allow for the HDF5 file format to be compatible with features greater
      fixed #def
      fixed syntax
      removed the use of H5_VERSION_LT
      Updated the superblock value for reference ncdumps
      reverted changes superblock values
      updated ncdump scripts to handle different versions of superblock values
      removed the check for H5Pset_libver_bounds (HAVE_H5PSET_LIBVER_BOUNDS) since API

Sean Arms (6):
      Test ncdump time unit name case-insensitivity
      Treat time units as case-insensitive in ncdump
      Define strncasecmp as _strnicmp on Windows
      Update links to netCDF-java documentation.
      Update links
      Update d4ts.war and dts.war build instructions

Shreyas Ananthan (1):
      Fix parallel NetCDF checks in configure.ac for spectrum MPI

Tim Gates (1):
      docs: fix simple typo, maximim -> maximum

Ward Fisher (65):
      Tweaked docs to fix dead references introduced as part of separating out NUG from netCDF-C.
      Added hard failure to script, modified cmake default.
      Corrected an issue with parallel filter test logic in cmake-based builds.
      Corrected parallel (mpi) testing on cmake builds.
      Correcting a formatting error for scalars when dumping with ncdump -f
      Updated release notes.
      Added a stand-alone user level doxygen configuration file.  It must be used from the top-level netcdf-c directory, e.g. doxygen docs/Doxyfile.user.
      Added a check for m4 and throw an error if m4 isn't on the path and the generated file isn't present (as it would be in a point release). In support of Unidata/netcdf-c#1739
      More m4 fenceposting.
      Revert "Fix nczarr-experimental: improve build support, disengage hdf5 vs netcdf4 flags, and find AWS libraries"
      Revert "Revert "Fix nczarr-experimental: improve build support, disengage hdf5 vs netcdf4 flags, and find AWS libraries""
      Removed unneeded code on OSX.
      Modify isnan() operation
      Added nc4print utility to cmake build infrastructure.
      Ensured dependencies are linked against properly.
      Working on autoconf-based build on OSX
      Fixe szlib write status message for cmake-based builds.
      Fix logic for determining if filter tests should be run when shared builds are turned off via autotools.  See Unidata/netcdf-c#1829 for more information.
      Corrected an accidental change.
      Removed NUG files, added a README.md file directing people to the correct location.
      Updated RELEASE_NOTES.md
      Updated release notes to refer to Unidata/netcdf-c#1866
      Updated release notes with reference to Unidata/netcdf-c#1871
      Removed duplicated release note in support of Unidata/netcdf-c#1870
      Remove --no-undefined which is causing problems when compiling with -fsanitize=address -fno-omit-frame-pointer in support of Unidata/netcdf-c#1878
      Modified plugins/Makefile.am to add -no-undefined as required on cygwin.
      Removed travis file in preparation for migration away from travis-ci and towards GitHub Actions.
      Restoring .travis.yml file for convienence until Github Actions are integrated, but not restoring the requirement that they pass (due to throttled Travis runs) for PR's to be merged.
      Adding github actions to netcdf-c for CI purposes.
      Address link issue on github actions platform.
      Correct previous 'fix' that wasn't.
      Explicitly link rt library for github actions.
      Github Action debugging.
      Temporarily reducing test matrix.
      Clean up, bring over a new action script. This one uses apt and cached builds instead of conda.
      Temporarily disabled encoding test under cmake
      Cleaned up orphaned github action files, modified GA to run on PR instead of push.
      Removed dangling conflict info.
      tweak m4 detection.
      Fix logic error.
      More tweaking.
      Added an apt update stanza to the github action script.
      Added more updates
      Update number of threads used in doxygen developer config file.
      Correct bash test failure on Windows in MSYS2 bash shell with Visual Studio-based build, in support of Unidata/netcdf-c#1940
      More modification in support of #1940
      Fix tst_filter.sh such that it returns an error immediately on failure.
      Restored cleanup stanza in tst_filter.sh
      Address a C99 forward-declaration issue.
      Updated SO version in preparation for public release.
      Updated SO version in cmakelists.txt in preparation for the 4.8.0 release.
      Bumped version numbers to next development version.
      Updated release version string.
      Preparing to bundle in portable autoconf-generated files.
      Adding in portable autconf-generated files.
      Added additional generated files for deployment.
      Added check for H5Literate in support of Unidata/netcdf-c#1965
      Amend check for H5Literate to work with 1.10.x
      Added check for H5Literate symbol (hdf5 1.8.x, 1.10.x) or macro (1.12.x)) in support of Unidata/netcdf-c#1965
      Updated expected release date.
      Added 1.0.1 to test matrix in support of Unidata/netcdf-c#1931 (comment)
      Corrected release date in preparation for today's release.
      Updated doxyfile to include libnczarr/zarr.c, also removed references to files that have been removed.
      Corrected typo preventing success when running make dist or make distcheck
      Update refactored and regenerated files.

Wojciech Śmigaj (1):
      Fix name of the HDF5_C_LIBRARY_hdf5 CMake variable

bombipappoo (4):
      Fix incorrect keywords.
      Correct destination buffer size to strlcat
      Convert filename from ANSI to UTF-8 before calling HDF5.
      Fix format buffer size

neok-m4700 (1):
      Fix build bug in debug mode
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants