HDF5 error


I have a problem with HDF5 that I can't seem to figure out. It happens with both 1.8.4 and 1.8.8. I built the library with:

./configure --disable-production --enable-fortran --enable-parallel --prefix=/opt/hdf5/gnu/system/ --enable-static=no --enable-shared=yes --program-suffix= --enable-debug --enable-trace

and I wrote a C++ wrapper on my own. When I test the wrapper code, everything works fine. Then, when I try to use the C++ wrapper in another code (serial access, so there's only 1 CPU trying to manage the file), I run into some issues. When I run with HDF5_DEBUG='all trace', I get:

H5Fcreate(filename=0x62e558, flags=2, fcpl=H5P_DEFAULT, fapl=H5P_DEFAULT) = <delayed>
+ H5Iget_type(id=H5P_DEFAULT) = H5I_BADID;
+ H5Iget_type(id=134217730 (file driver)) = H5I_VFL;
+ H5Iget_type(id=134217730 (file driver)) = H5I_VFL;


H5Fcreate = 16777216 (file);
FILE HANDLE 16777216
H5Fclose(file=16777216 (file))Segmentation fault

When I look at the core dump, I get:

(gdb) where
#0 0x00007f119a74c861 in H5I_find_id (id=16777216) at H5I.c:2130
#1 0x00007f119a748af7 in H5I_object (id=16777216) at H5I.c:993
#2 0x00007f119a675cae in H5Fclose (file_id=16777216) at H5F.c:1976
#3 0x000000000041b80b in HDF5::FileHandle::makeEmpty (this=0x62e588) at /opt/XdmfUtils/gnu/system/include/hdf5.hxx:118
#4 0x000000000041b778 in HDF5::FileHandle::~FileHandle (this=0x62e588, __in_chrg=<optimized out>)
    at /opt/XdmfUtils/gnu/system/include/hdf5.hxx:115
#5 0x000000000041da82 in HDF5::HDF5File::~HDF5File (this=0x62e580, __in_chrg=<optimized out>)
    at /opt/XdmfUtils/gnu/system/include/hdf5.hxx:208

so the file ID is passed through correctly. The line in question tries to do if(id_ptr->id == id) and if I print the address of id_ptr, it exists, but it says it's not accessible.

All I'm trying to do is open a file and then close it. I can try to post the code that does all this possibly, but it may not be okay to send out. Maybe somebody can help explain what's wrong or how to fix it?