AaronJPung
AaronJPung

Reputation: 1132

NetCDF crashes when using ncread

Beginning with a fresh install of Julia 1.7.2, I install the NetCDF package using using Pkg; Pkg.add("NetCDF"). Checking the installation status, I get:

julia> Pkg.status()
       Status `C:\Users\apung\.julia\environments\v1.7\Project.toml`
       [30363a11] NetCDF v0.11.4

I have a NetCDF file on my desktop named "dummy.nc", which includes fields like "power" and "frequency"; this is verified in Panoply:

enter image description here

In Julia, I'm trying to read the file using

using NetCDF; ncread("dummy.nc","frequency")

At this point, the Julia terminal crashes and closes automatically. If I run the same command in Atom, the error vomit is:

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0xa3556550 -- nc4_open_file at 
C:\Users\apung\.julia\artifacts\2b6e2ce84250e36811c3019c1ad253c1739c888f\bin\libnetcdf-18.dll 
(unknown line) in expression starting at none:1 nc4_open_file at C:\Users\apung\.julia\artifacts\2b6e2ce84250e36811c3019c1ad253c1739c888f\bin\libnetcdf-18.dll (unknown line)
NC4_open at C:\Users\apung\.julia\artifacts\2b6e2ce84250e36811c3019c1ad253c1739c888f\bin\libnetcdf-18.dll (unknown line)
NC_open at C:\Users\apung\.julia\artifacts\2b6e2ce84250e36811c3019c1ad253c1739c888f\bin\libnetcdf-18.dll  (unknown line)
nc_open at C:\Users\apung\.julia\artifacts\2b6e2ce84250e36811c3019c1ad253c1739c888f\bin\libnetcdf-18.dll (unknown line)
nc_open at C:\Users\apung\.julia\packages\NetCDF\CS38M\src\netcdf_c.jl:55 [inlined]
nc_open at C:\Users\apung\.julia\packages\NetCDF\CS38M\src\netcdf_helpers.jl:103
#open#51 at C:\Users\apung\.julia\packages\NetCDF\CS38M\src\NetCDF.jl:913
open##kw at C:\Users\apung\.julia\packages\NetCDF\CS38M\src\NetCDF.jl:913 [inlined]
#open#52 at C:\Users\apung\.julia\packages\NetCDF\CS38M\src\NetCDF.jl:999
open at C:\Users\apung\.julia\packages\NetCDF\CS38M\src\NetCDF.jl:999 [inlined]
#ncread#54 at C:\Users\apung\.julia\packages\NetCDF\CS38M\src\NetCDF.jl:1052 [inlined]
ncread at C:\Users\apung\.julia\packages\NetCDF\CS38M\src\NetCDF.jl:1052
jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined]
do_call at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:126
eval_value at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:215
eval_stmt_value at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:166 [inlined]
eval_body at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:583
jl_interpret_toplevel_thunk at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:731
jl_toplevel_eval_flex at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:885
jl_toplevel_eval at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:894 [inlined]
jl_toplevel_eval_in at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:944
eval at .\boot.jl:373 [inlined]
repleval at C:\Users\apung\.julia\packages\Atom\BUIFZ\src\repl.jl:198
#258 at C:\Users\apung\.julia\packages\Atom\BUIFZ\src\repl.jl:228
unknown function (ip: 00000000642ce9b3)
with_logstate at .\logging.jl:511
with_logger at .\logging.jl:623 [inlined]
evalrepl at C:\Users\apung\.julia\packages\Atom\BUIFZ\src\repl.jl:216
jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined]
do_call at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:126
eval_value at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:215
eval_stmt_value at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:166 [inlined]
eval_body at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:583
jl_interpret_toplevel_thunk at /cygdrive/c/buildbot/worker/package_win64/build/src\interpreter.c:731
jl_toplevel_eval_flex at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:885
jl_toplevel_eval at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:894 [inlined]
jl_toplevel_eval_in at /cygdrive/c/buildbot/worker/package_win64/build/src\toplevel.c:944
eval at .\boot.jl:373 [inlined]
eval_user_input at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:150
repl_backend_loop at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:246
start_repl_backend at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:231
#run_repl#47 at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:364
run_repl at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.7\REPL\src\REPL.jl:351
#930 at .\client.jl:394
jfptr_YY.930_36349.clone_1 at C:\Users\apung\AppData\Local\Programs\Julia-1.7.2\lib\julia\sys.dll (unknown line)
jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined]
jl_f__call_latest at /cygdrive/c/buildbot/worker/package_win64/build/src\builtins.c:757
#invokelatest#2 at .\essentials.jl:716 [inlined]
invokelatest at .\essentials.jl:714 [inlined]
run_main_repl at .\client.jl:379
exec_options at .\client.jl:309
_start at .\client.jl:495
jfptr__start_21275.clone_1 at C:\Users\apung\AppData\Local\Programs\Julia-1.7.2\lib\julia\sys.dll (unknown line)
jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1788 [inlined]
true_main at /cygdrive/c/buildbot/worker/package_win64/build/src\jlapi.c:559
jl_repl_entrypoint at /cygdrive/c/buildbot/worker/package_win64/build/src\jlapi.c:701
mainCRTStartup at /cygdrive/c/buildbot/worker/package_win64/build/cli\loader_exe.c:42
BaseThreadInitThunk at C:\WINDOWS\System32\KERNEL32.DLL (unknown line)
RtlUserThreadStart at C:\WINDOWS\SYSTEM32\ntdll.dll (unknown line)
Allocations: 101204148 (Pool: 101156006; Big: 48142); GC: 63

What can I do to fix this? I'll continue to try previous NetCDF package versions in the meantime.

Edit: There's no issue with ver. 0.7.3, 0.8.2, 0.9.0, 0.10.3. Version 0.11.4 gives an HDF error:

ERROR: NetCDF error code -101:
        NetCDF: HDF error
Stacktrace:
 [1] check
   @ C:\Users\apung\.julia\packages\NetCDF\CS38M\src\netcdf_helpers.jl:22 [inlined]
 [2] nc_open
   @ C:\Users\apung\.julia\packages\NetCDF\CS38M\src\netcdf_c.jl:55 [inlined]
 [3] nc_open(fname::String, omode::UInt16)
   @ NetCDF C:\Users\apung\.julia\packages\NetCDF\CS38M\src\netcdf_helpers.jl:103
 [4] open(fil::String; mode::UInt16, readdimvar::Bool, add_finalizer::Bool)
   @ NetCDF C:\Users\apung\.julia\packages\NetCDF\CS38M\src\NetCDF.jl:913
 [5] open(f::NetCDF.var"#55#56"{String}, args::String; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ NetCDF C:\Users\apung\.julia\packages\NetCDF\CS38M\src\NetCDF.jl:999
 [6] open
   @ C:\Users\apung\.julia\packages\NetCDF\CS38M\src\NetCDF.jl:999 [inlined]
 [7] #ncread#54
   @ C:\Users\apung\.julia\packages\NetCDF\CS38M\src\NetCDF.jl:1052 [inlined]
 [8] ncread(fil::String, vname::String)
   @ NetCDF C:\Users\apung\.julia\packages\NetCDF\CS38M\src\NetCDF.jl:1052
 [9] top-level scope
   @ REPL[4]:1

Upvotes: 1

Views: 138

Answers (1)

Sundar R
Sundar R

Reputation: 14695

This appears to be a known issue introduced recently on Windows. The workaround suggested there is to either do

using Pkg
Pkg.add("[email protected]")

or edit the Project.toml file to include

[compat]
NetCDF_jll = "=400.702.400"

This should be a temporary workaround, and once that issue is mentioned to be fixed, you can reverse the add with Pkg.rm, or remove the above two lines if you added those instead. In either case, you should follow that with a Pkg.update().

Upvotes: 1

Related Questions