This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Olaf, > To: address@hidden, > From: Olaf Heudecker <address@hidden> > Subject: Error status on Cray computers > Organization: Alfred-Wegener-Instutute for Polar and Marine Reseach > Keywords: 199806301210.GAA13833 In the above message, you wrote: > one of our users experienced a strange behavior of a netcdf > application: it ran silently when called interactively but failed to > run in batch (there was no error-string from NF_STRERROR, but > status=5010). > > After some investigation it turned out that the memory limits in the > different modes where different and status=5010 means errno=5010 and > this again means > (looking up in /opt/ctl/craylibs/3.0.2.0/include/liberrno.h): > #define FDC_ERR_NOMEM 5010 /* no memory! */ > > It turned out, that the ffio-errnos on Cray Computers aren't > recognized by strerror in libsrc/error.c (i.e. in libc). This means > that ffio errors can't be interpreted by standard means. It results in > long debugging and code developping times. In fact there have been > several encounters at our institute concerning this problem within a > few months. > > I'm no expert in unix system programming but it appears to me that > there is no simple way to solve this problem (except for calling Cray > for help). > > A pragmatic help could be: There are a few errors that might be of > major interest. These could be cared for with a quick-and-dirty > solution like the one that follows: > > ------------ in nc_strerror before calling strerror ----- > /* Cray ffio error codes in /opt/ctl/craylibs/3.0.2.0/include/liberrno.h */ > > switch ( err ) { > case 5010: > return "ffio: Out of memory (buffer allocation?)!\n" ; > case 5008: > return "ffio: Maximum block size exceeded!\n"; > case 5044: > return "ffio: Buffer size is negative or too large\n"; > } > > if ( (err > 5000) && (err < 5066) ) return "ffio error (see liberrno.h in > craylibs directory)\n" > ----------- end suggestion --------------------- > > I will try to include this into netcdf-3.4 on a Cray J90 and supply a > patch if you like. > > Besides I will send an email to Cray/SGI and keep you informed about > the status of this query. > > Sorry for keeping you busy and thanks in advance > > Olaf R. Heudecker > Alfred-Wegener-Instutute for Polar and Marine Reseach > Bremerhaven, Germany Thanks for this message. Unfortunately, the person in charge of netCDF development is on vacation at the moment and I don't know when he'll return. I'll see that he receives it, however. -------- Steve Emmerson <http://www.unidata.ucar.edu>