NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
On 09/02/2014 03:14 PM, Russ Rew wrote:
Hi Matt, . .. Since type_size is determined from things within var, who knows if a struct is clobbered or what. Has anyone else seen this? I suppose for now I can just point to the debug-netcdf build so I can continue developing/testing with Intel 15 though I don't know what the cost of running netCDF at -O0 is. In version 4.3.2, type_size is computed just above the code you're showing: if (var->type_info->nc_type_class == NC_STRING) type_size = sizeof(char *); else type_size = var->type_info->size; It's hard to believe that the code would get sizeof(char *) wrong, so I'm betting var->type_info->size is somehow getting 0. If you could send a dump of *var and *var->type_info from the debugger just before the FPE happens, I might be able to determine whether these structures are getting clobbered. Of course, that could still be a problem in the library.
Well, I'd like to but...I can't seem to get Totalview to do it. Weirdly, I put breakpoints on line 1445 and line 1447, the two places above where type_size is set, and it doesn't stop at either one. It also shows "Bad address" for *var so I can't see what's in that.
I'm trying to get DDT to look at the code but I'm having difficulties getting it running here. I'll try and get back to you when I do.
In answer to your other question, I doubt that -O0 makes netCDF access noticably slower than -O2 ...
Good to know. Thanks. Matt -- Matt Thompson SSAI, Sr Software Test Engr NASA GSFC, Global Modeling and Assimilation Office Code 610.1, 8800 Greenbelt Rd, Greenbelt, MD 20771 Phone: 301-614-6712 Fax: 301-614-6246
netcdfgroup
archives: