UNCLASSIFIED Elena et al, Attached is a replacement patch for revised issue HDFFV-9174. This test does not double-close any handles, and does not cause an infinite loop. It fails due to the inconsistent behaviour of H5Tcommitted() before and after re-opening the test data file. I'm happy if you want to limit the scope of this issue to this relatively benign defect.
We're still trying to resolve our main issue. Thanks for the prompt response. Mark IMPORTANT: This email remains the property of the Department of Defence and is subject to the jurisdiction of section 70 of the Crimes Act 1914. If you have received this email in error, you are requested to contact the sender and delete the email. From: Hdf-forum [mailto:[email protected]] On Behalf Of Elena Pourmal Sent: Thursday, 19 March 2015 8:45 AM To: HDF Users Discussion List Subject: Re: [Hdf-forum] Bug in HDF-1.8.14 - Recursive named data types [SEC=UNCLASSIFIED] Mark, Thank you for the patch that illustrates the problem! It really saves a lot of investigation time! HDF5 doesn't support nested committed datatypes. In your example, when committed VL string is used as a member of the compound datatype, it is treated as a regular datatype. You can easily see it by using h5ls on the created dtypes1.h5 file. In the output below, cmp_type and str_type are shared (committed), but "vlstr" member of the cpm_type type is shown as a regular datatype. [epourmal@jam test]$ h5ls -v dtypes1.h5 Opened "dtypes1.h5" with sec2 driver. cmp_dset Dataset {3/3} Location: 1:1272 Links: 1 Storage: 12 logical bytes, 0 allocated bytes Type: shared-1:1176 struct { "vlstr" +0 variable-length null-terminated ASCII string } 4 bytes cmp_type Type Location: 1:1176 Links: 2 Type: shared-1:1176 struct { "vlstr" +0 variable-length null-terminated ASCII string } 4 bytes str_type Type Location: 1:800 Links: 1 Type: shared-1:800 variable-length null-terminated ASCII string When the second call to if(H5Tcommitted(reopened_strtype) != 1) TEST_ERROR is commented out, the infinite loop goes away. Hopefully, you can fix your application since the member of the committed compound datatype cannot be a committed datatype (even it was created using a committed one), but we still have an issue in HDF5. I confirmed that HDF5 1.8.* gives an infinite loop while HDF5 trunk is fine. It is not clear why the first H5committed call for the VL string type is not failing and why your test triggers an infinite loop. For you information I entered JIRA issue HDFFV-9174. Thanks again for your report! Elena ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Elena Pourmal The HDF Group http://hdfgroup.org 1800 So. Oak St., Suite 203, Champaign IL 61820 217.531.6112 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ On Mar 17, 2015, at 1:09 AM, Hodson, Mark (Contractor) <[email protected]<mailto:[email protected]>> wrote: <dtypes.c.patch>
dtypes.c.patch
Description: dtypes.c.patch
_______________________________________________ Hdf-forum is for HDF software users discussion. [email protected] http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org Twitter: https://twitter.com/hdf5
