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