Hi,

I use the Java HDF5 interface (JNI), but am struggling with what appears to be 
some type of JNI memory leak. My use of the H5 JNI interface is encapsulated in 
a "writer" class that I have created. This writer class simply creates an H5 
file. I am using the H5.getOpenObjectCount() to test for any leaks once I have 
created my file:

//when I start, I know there are no open ids
Assert.assertEquals(0, H5.getOpenIDCount());

//next, create my h5 file (my use of JNI is encapsulated within this 
"HdfWriter" class)
HdfWriter writer = HdfWriterFactory.getCsvHdfWriter(
                                tempCsvFile.getAbsolutePath(), 
tempHdfFile.getAbsolutePath());
HdfWriterFactory.createHdfFile(writer);
                
//finally, make sure all ids are closed
Assert.assertEquals(0, H5.getOpenIDCount());


Everything seems fine: I start with 0 open HDF ids, my file is created, and at 
the end I also have 0 open ids. However, if I iterate the code above in a loop 
my java process continues to grow in memory until it crashes. I have triple 
checked that this is not a heap memory issue- I've viewed this using jconsole, 
as well as examined heap dumps I have created of the process. I am not getting 
any java.lang.OutofMemoryException errors. The heap memory never grows above 60 
or 70Mb, although the java process itself is consuming over 1.1Gb of memory (I 
am running on Linux). I'm not sure what else would possibly be consuming this 
memory other than something in the JNI layer.

If H5.getOpenIDCount() is returning 0, is it still possible that there 
continues to be allocated memory in the H5 JNI layer that should have been 
released back to the OS? I have also tried H5garbage_collect(), but this 
doesn't appear to have any impact. I am using Hdf Java 2.6, and didn't see any 
known issues relating to memory leaks. Any suggestions on how to debug would be 
greatly appreciated.

Regards,
Chris



_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Reply via email to