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.
Jeff Whitaker wrote:
Hi all:I found a memory leak, either in the netcdf-4 or HDF5 libs. To reproduce it, run the simple_xy_wr.c example program to create a file, then open and close it in a loop, monitoring the memory usage with top. If the file is created in netcdf-3 (or netcdf-4 classic) format, the memory usage remains constant. If the file is created in NETCDF4 format, the memory usage goes up and up. Here's the simple program to trigger the leak. I've attached simple_xy_4.nc and simple_xy_3.nc - the former will lead to a leak, the latter will not.#include <stdlib.h> #include <stdio.h> #include <netcdf.h>/* This is the name of the data file we will read. * Change to simple_xy_3.nc and leak will disappear*/#define FILE_NAME "simple_xy_4.nc" /* Handle errors by printing an error message and exiting with a * non-zero status. */ #define ERRCODE 2 #define ERR(e) {printf("Error: %s\n", nc_strerror(e)); exit(ERRCODE);} int main() {int ncid,retval,i;for (i=0; i<1000000; i++) { /* Open the file. NC_NOWRITE tells netCDF we want read-only access * to the file.*/ if ((retval = nc_open(FILE_NAME, NC_NOWRITE, &ncid))) ERR(retval); /* Close the file, freeing all resources. ???? */ if ((retval = nc_close(ncid))) ERR(retval); } return 0; BTW: I'm using netcdf-4.0 and HDF5 1.8.1. -Jeff
Replying to myself, just to make sure this hasn't fallen off the radar screen. Ed - do you think it's an HDF5 library issue?
-Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@xxxxxxxx 325 Broadway Office : Skaggs Research Cntr 1D-113 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
netcdfgroup
archives: