[ncl-talk] Crashing with bad OpenDAP Link

Mary Haley haley at ucar.edu
Tue Mar 6 10:28:01 MST 2018


What about using "isfilepresent" to check for the presence of a valid
file?  I don't know if this will also crash, but it's worth a shot.

fname = "
https://nomads.ncdc.noaa.gov/thredds/dodsC/cfsr-hpr-ts45/wnd200_f/2006/200601/wnd200_f.01.2006012406.2006031006.2006012406.grb2
"
if(isfilepresent(fname)) then
  f
​ ​
=
​ ​
addfile(
​fname​
,"r")
​else
  print(fname + " is a BAD FILE!")
  exit
end if​

--Mary


On Tue, Mar 6, 2018 at 9:04 AM, Rick Brownrigg <brownrig at ucar.edu> wrote:

> Hi Carl,
>
> Looking at output from "strace" while the addfiles statement runs
> indicates there are two variables of the same name in that file, but of
> different dimensions, -- V-component_of_wind(179,1,181,360) and
> V-component_of_wind(1,1,190,384).  I'd surmise that's the likely source
> of the "double free or corruption" error message. In any case, I
> unfortunately don't know how to work around that, offhand. The error seems
> to be happening within the NetCDF library. I'll look into it further, but
> the question is whether NCL ever gets a chance to field that error from the
> library.
>
> Wish I had a better answer...
> Rick
>
> On Mon, Mar 5, 2018 at 12:57 PM, Carl Schreck <cjschrec at ncsu.edu> wrote:
>
>> I'm having an issue trying to read some CFS-Reforecast data through
>> OpenDAP in NCL. Most files work, but there are occasional ones that make
>> NCL crash pretty hard (see output below). One such file is this one
>> <https://nomads.ncdc.noaa.gov/thredds/dodsC/cfsr-hpr-ts45/wnd200_f/2006/200601/catalog.html?dataset=cfsr-hpr-ts45/wnd200_f/2006/200601/wnd200_f.01.2006012406.2006031006.2006012406.grb2>
>> .
>>
>> Any suggestions on how I can detect a bad file like this before it
>> crashes NCL? Just passing it to addfile causes the crash.
>>
>> Thanks!
>> Carl
>>
>>  Copyright (C) 1995-2017 - All Rights Reserved
>>  University Corporation for Atmospheric Research
>>  NCAR Command Language Version 6.4.1-04May2017_1732
>>  The use of this software is governed by a License Agreement.
>>  See http://www.ncl.ucar.edu/ for more details.
>> *ncl 0>
>> f=addfile("https://nomads.ncdc.noaa.gov/thredds/dodsC/cfsr-hpr-ts45/wnd200_f/2006/200601/wnd200_f.01.2006012406.2006031006.2006012406.grb2
>> <https://nomads.ncdc.noaa.gov/thredds/dodsC/cfsr-hpr-ts45/wnd200_f/2006/200601/wnd200_f.01.2006012406.2006031006.2006012406.grb2>","r")*
>> Duplicate dataset field names: cfsr-hpr-ts45%2fwnd200_f%2f200
>> 6%2f200601%2fwnd200_f%2e01%2e2006012406%2e2006031006%2e2006012406%2egrb2
>> context: Dataset { Float32 U-component_of_wind[time1 = 177][pressure =
>> 1][lat = 181][lon = 360]; Float32 V-component_of_wind[time = 179][pressure
>> = 1][lat = 181][lon = 360]; Int32 time[time = 179]; Int32 time1[time1 =
>> 177]; Float64 lat[lat = 181]; Float64 lon[lon = 360]; String
>> latLonCoordSys; Float64 pressure[pressure = 1]; Float32
>> V-component_of_wind[time2 = 1][height_above_ground = 1][lat = 190][lon =
>> 384]; Int32 time[time = 179]; Int32 time1[time1 = 177]; Int32 time2[time2 =
>> 1]; Float64 lat[lat = 190]; Float64 gaussw[lat = 190]; Float64 lon[lon =
>> 384]; String latLonCoordSys; Float64 height_above_ground[height_above_ground
>> = 1]; Float64 pressure[pressure = 1];} cfsr-hpr-ts45%2fwnd200_f%2f200
>> 6%2f200601%2fwnd200_f%2e01%2e2006012406%2e2006031006%
>> 2e2006012406%2egrb2;^
>> *** Error in `ncl': double free or corruption (!prev): 0x000000000d932fb0
>> ***
>> ======= Backtrace: =========
>> /usr/lib64/libc.so.6(+0x7c619)[0x7f7eb746b619]
>> ncl(ocfree+0x1f)[0xe8034e]
>> ncl(ocnodes_free+0x1e0)[0xe86800]
>> ncl[0xec6099]
>> ncl(DAPparse+0x1f5)[0xec632a]
>> ncl(ocfetch+0x2dd)[0xe83db8]
>> ncl(oc_fetch+0x79)[0xe7a600]
>> ncl(dap_fetch+0x17f)[0xebd349]
>> ncl[0xe782b0]
>> ncl(NCD2_open+0x4a5)[0xe73fc1]
>> ncl(NC_open+0x2a0)[0xe3f06c]
>> ncl(nc__open+0x46)[0xe3e521]
>> ncl[0x822ca9]
>> ncl(_NclFileCreate+0x3c7)[0x805302]
>> ncl(_NclOpenFile+0x483)[0x7d0b69]
>> ncl(_NclIAddFile+0x1b7)[0x8cd741]
>> ncl(CallINTRINSIC_FUNC_CALL+0x43)[0x8a2b48]
>> ncl(_NclExecute+0x3eb)[0x8ae005]
>> ncl(yyparse+0x6bd)[0x777de9]
>> ncl(NclDriver+0xc16)[0x774025]
>> ncl(main+0x9)[0x7707b6]
>> /usr/lib64/libc.so.6(__libc_start_main+0xf5)[0x7f7eb7410c05]
>> ncl[0x7706e1]
>> ======= Memory map: ========
>> 00400000-02846000 r-xp 00000000 00:4a 771250262
>> /snfs2/home/carl/ncl_ncarg/bin/ncl
>> 02a45000-02b12000 r--p 02445000 00:4a 771250262
>> /snfs2/home/carl/ncl_ncarg/bin/ncl
>> 02b12000-02c61000 rw-p 02512000 00:4a 771250262
>> /snfs2/home/carl/ncl_ncarg/bin/ncl
>> 02c61000-06512000 rw-p 00000000 00:00 0
>> 08214000-0d956000 rw-p 00000000 00:00 0
>> [heap]
>> 7f7eac000000-7f7eac021000 rw-p 00000000 00:00 0
>> 7f7eac021000-7f7eb0000000 ---p 00000000 00:00 0
>> 7f7eb37d7000-7f7eb380c000 r--s 00000000 fd:01 1611467726
>>  /var/db/nscd/hosts
>> 7f7eb380c000-7f7eb3a0d000 rw-p 00000000 00:00 0
>> 7f7eb3a0d000-7f7eb3a6d000 r-xp 00000000 fd:01 1077832509
>>  /usr/lib64/libpcre.so.1.2.0
>> 7f7eb3a6d000-7f7eb3c6d000 ---p 00060000 fd:01 1077832509
>>  /usr/lib64/libpcre.so.1.2.0
>> 7f7eb3c6d000-7f7eb3c6e000 r--p 00060000 fd:01 1077832509
>>  /usr/lib64/libpcre.so.1.2.0
>> 7f7eb3c6e000-7f7eb3c6f000 rw-p 00061000 fd:01 1077832509
>>  /usr/lib64/libpcre.so.1.2.0
>> 7f7eb3c6f000-7f7eb3c71000 r-xp 00000000 fd:01 1076477375
>>  /usr/lib64/libfreebl3.so
>> 7f7eb3c71000-7f7eb3e70000 ---p 00002000 fd:01 1076477375
>>  /usr/lib64/libfreebl3.so
>> 7f7eb3e70000-7f7eb3e71000 r--p 00001000 fd:01 1076477375
>>  /usr/lib64/libfreebl3.so
>> 7f7eb3e71000-7f7eb3e72000 rw-p 00002000 fd:01 1076477375
>>  /usr/lib64/libfreebl3.so
>> 7f7eb3e72000-7f7eb3e96000 r-xp 00000000 fd:01 1074687352
>>  /usr/lib64/libselinux.so.1
>> 7f7eb3e96000-7f7eb4095000 ---p 00024000 fd:01 1074687352
>>  /usr/lib64/libselinux.so.1
>> 7f7eb4095000-7f7eb4096000 r--p 00023000 fd:01 1074687352
>>  /usr/lib64/libselinux.so.1
>> 7f7eb4096000-7f7eb4097000 rw-p 00024000 fd:01 1074687352
>>  /usr/lib64/libselinux.so.1
>> 7f7eb4097000-7f7eb4099000 rw-p 00000000 00:00 0
>> 7f7eb4099000-7f7eb409b000 r-xp 00000000 fd:01 1078494182
>>  /usr/lib64/libXau.so.6.0.0
>> 7f7eb409b000-7f7eb429b000 ---p 00002000 fd:01 1078494182
>>  /usr/lib64/libXau.so.6.0.0
>> 7f7eb429b000-7f7eb429c000 r--p 00002000 fd:01 1078494182
>>  /usr/lib64/libXau.so.6.0.0
>> 7f7eb429c000-7f7eb429d000 rw-p 00003000 fd:01 1078494182
>>  /usr/lib64/libXau.so.6.0.0
>> 7f7eb429d000-7f7eb42a4000 r-xp 00000000 fd:01 1078457975
>>  /usr/lib64/librt-2.17.so
>> 7f7eb42a4000-7f7eb44a3000 ---p 00007000 fd:01 1078457975
>>  /usr/lib64/librt-2.17.so
>> 7f7eb44a3000-7f7eb44a4000 r--p 00006000 fd:01 1078457975
>>  /usr/lib64/librt-2.17.so
>> 7f7eb44a4000-7f7eb44a5000 rw-p 00007000 fd:01 1078457975
>>  /usr/lib64/librt-2.17.so
>> 7f7eb44a5000-7f7eb44ad000 r-xp 00000000 fd:01 1075307386
>>  /usr/lib64/libcrypt-2.17.so
>> 7f7eb44ad000-7f7eb46ac000 ---p 00008000 fd:01 1075307386
>>  /usr/lib64/libcrypt-2.17.so
>> 7f7eb46ac000-7f7eb46ad000 r--p 00007000 fd:01 1075307386
>>  /usr/lib64/libcrypt-2.17.so
>> 7f7eb46ad000-7f7eb46ae000 rw-p 00008000 fd:01 1075307386
>>  /usr/lib64/libcrypt-2.17.so
>> 7f7eb46ae000-7f7eb46dc000 rw-p 00000000 00:00 0
>> 7f7eb46dc000-7f7eb46df000 r-xp 00000000 fd:01 1074820322
>>  /usr/lib64/libkeyutils.so.1.5
>> 7f7eb46df000-7f7eb48de000 ---p 00003000 fd:01 1074820322
>>  /usr/lib64/libkeyutils.so.1.5
>> 7f7eb48de000-7f7eb48df000 r--p 00002000 fd:01 1074820322
>>  /usr/lib64/libkeyutils.so.1.5
>> 7f7eb48df000-7f7eb48e0000 rw-p 00003000 fd:01 1074820322
>>  /usr/lib64/libkeyutils.so.1.5
>> 7f7eb48e0000-7f7eb48ed000 r-xp 00000000 fd:01 1074821491
>>  /usr/lib64/libkrb5support.so.0.1
>> 7f7eb48ed000-7f7eb4aec000 ---p 0000d000 fd:01 1074821491
>>  /usr/lib64/libkrb5support.so.0.1
>> 7f7eb4aec000-7f7eb4aed000 r--p 0000c000 fd:01 1074821491
>>  /usr/lib64/libkrb5support.so.0.1
>> 7f7eb4aed000-7f7eb4aee000 rw-p 0000d000 fd:01 1074821491
>>  /usr/lib64/libkrb5support.so.0.1
>> 7f7eb4aee000-7f7eb4b29000 r-xp 00000000 fd:01 1075015850
>>  /usr/lib64/libquadmath.so.0.0.0
>> 7f7eb4b29000-7f7eb4d28000 ---p 0003b000 fd:01 1075015850
>>  /usr/lib64/libquadmath.so.0.0.0
>> 7f7eb4d28000-7f7eb4d29000 r--p 0003a000 fd:01 1075015850
>>  /usr/lib64/libquadmath.so.0.0.0
>> 7f7eb4d29000-7f7eb4d2a000 rw-p 0003b000 fd:01 1075015850
>>  /usr/lib64/libquadmath.so.0.0.0
>> 7f7eb4d2a000-7f7eb4d51000 r-xp 00000000 fd:01 1143288053
>>  /usr/lib64/libxcb.so.1.1.0
>> 7f7eb4d51000-7f7eb4f50000 ---p 00027000 fd:01 1143288053
>>  /usr/lib64/libxcb.so.1.1.0
>> 7f7eb4f50000-7f7eb4f51000 r--p 00026000 fd:01 1143288053
>>  /usr/lib64/libxcb.so.1.1.0
>> 7f7eb4f51000-7f7eb4f52000 rw-p 00027000 fd:01 1143288053
>>  /usr/lib64/libxcb.so.1.1.0
>> 7f7eb4f52000-7f7eb4f79000 r-xp 00000000 fd:01 1074687455
>>  /usr/lib64/libexpat.so.1.6.0
>> 7f7eb4f79000-7f7eb5179000 ---p 00027000 fd:01 1074687455
>>  /usr/lib64/libexpat.so.1.6.0
>> 7f7eb5179000-7f7eb517b000 r--p 00027000 fd:01 1074687455
>>  /usr/lib64/libexpat.so.1.6.0
>> 7f7eb517b000-7f7eb517c000 rw-p 00029000 fd:01 1074687455
>>  /usr/lib64/libexpat.so.1.6.0
>> 7f7eb517c000-7f7eb521c000 r-xp 00000000 fd:01 1142930368
>>  /usr/lib64/libfreetype.so.6.10.0
>> 7f7eb521c000-7f7eb541b000 ---p 000a0000 fd:01 1142930368
>>  /usr/lib64/libfreetype.so.6.10.0
>> 7f7eb541b000-7f7eb5421000 r--p 0009f000 fd:01 1142930368
>>  /usr/lib64/libfreetype.so.6.10.0
>> 7f7eb5421000-7f7eb5422000 rw-p 000a5000 fd:01 1142930368
>>  /usr/lib64/libfreetype.so.6.10.0
>> 7f7eb5422000-7f7eb545c000 r-xp 00000000 fd:01 1097103702
>>  /usr/lib64/libnspr4.so
>> 7f7eb545c000-7f7eb565b000 ---p 0003a000 fd:01 1097103702
>>  /usr/lib64/libnspr4.so
>> 7f7eb565b000-7f7eb565c000 r--p 00039000 fd:01 1097103702
>>  /usr/lib64/libnspr4.so
>> 7f7eb565c000-7f7eb565e000 rw-p 0003a000 fd:01 1097103702
>>  /usr/lib64/libnspr4.so
>> 7f7eb565e000-7f7eb5660000 rw-p 00000000 00:00 0
>> 7f7eb5660000-7f7eb5664000 r-xp 00000000 fd:01 1097205616
>>  /usr/lib64/libplc4.so
>> 7f7eb5664000-7f7eb5863000 ---p 00004000 fd:01 1097205616
>>  /usr/lib64/libplc4.so
>> 7f7eb5863000-7f7eb5864000 r--p 00003000 fd:01 1097205616
>>  /usr/lib64/libplc4.so
>> 7f7eb5864000-7f7eb5865000 rw-p 00004000 fd:01 1097205616
>>  /usr/lib64/libplc4.soAborted
>>
>>
>> --
>>
>> <https://ncics.org/> *Carl J. Schreck III, PhD*
>> *Research Scholar*
>> North Carolina State University <http://ncsu.edu/>
>> North Carolina Institute for Climate Studies (NCICS) <https://ncics.org/>
>> 151 Patton Ave, Asheville, NC 28801
>> e: cjschrec at ncsu.edu
>> o: +1 828 257 3140 <(828)%20257-3140>
>> c: +1 828 484 1702 <(828)%20484-1702>
>> Publications
>> <http://scholar.google.com/citations?hl=en&user=th8ONEcAAAAJ&view_op=list_works&sortby=pubdate>
>> ncics.org/mjo
>> CycloneCenter.org <https://www.cyclonecenter.org/>
>>
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20180306/80533330/attachment.html>


More information about the ncl-talk mailing list