assert errors when adding dataset to h5 file created via HDFView

Under some circumstances, I'm seeing an assertion errors when I create a new dataset inside a sample HDF5 file I'd created using HDFView

Platform: Windows XP 64bit

HDF5 version: 1.8.5-patch1 (and 1.8.5), recompiled to disable SZIP

HDFView version: 2.6.1 for Windows XP

Attached is a sample application and a H5 file that result in me getting the following assertion errors when I try to create the dataset:

Assertion failed: elem, file ..\..\..\src\H5FL.c, line 1876
Assertion failed: H5F_sfile_head_g == ((void *)0), file ..\..\..\src\H5Fsfile.c, line 65

More detail on the oddness...

In the sample H5 file, I've created some groups / datasets that I'm using in unit tests for a wrapper around HDF5lib that I'm writing.

In the sample application, I open the file,create a group '/newGroup', and try to create a dataset '/newGroup/newDataset' which results in the above assertion failures

However, if I create the dataset beneath a pre-existing group in the H5 file, either '/group1/newDataset' or just in the root '/newDataset', I _do not_ get the assertion failures.

Also, if I create an empty H5 file via my application and then add the '/newGroup' and '/newGroup/newDataset', I _do not_ get the assertion failures.

So... is this some weird mismatch between the properties with which HDFView created the groups in the test file vs. how I've got the properties when I create '/newGroup'? What do I do to fix it?

Thanks,
Steve Christensen

hdf_assert_sample.zip (3.76 KB)

Since I do not have a Windows XP 64-bit machine, I tested your code on Linux.
I could not reproduce the problem. Call H5Fflush() after you create the new
group to see if it solves the problem. Thanks --pc

···

On 9/7/2010 12:05 PM, stnchris@xmission.com wrote:

Under some circumstances, I'm seeing an assertion errors when I create a new dataset inside a sample HDF5 file I'd created using HDFView

Platform: Windows XP 64bit

HDF5 version: 1.8.5-patch1 (and 1.8.5), recompiled to disable SZIP

HDFView version: 2.6.1 for Windows XP

Attached is a sample application and a H5 file that result in me getting the following assertion errors when I try to create the dataset:

Assertion failed: elem, file ..\..\..\src\H5FL.c, line 1876
Assertion failed: H5F_sfile_head_g == ((void *)0), file ..\..\..\src\H5Fsfile.c, line 65

More detail on the oddness...

In the sample H5 file, I've created some groups / datasets that I'm using in unit tests for a wrapper around HDF5lib that I'm writing.

In the sample application, I open the file,create a group '/newGroup', and try to create a dataset '/newGroup/newDataset' which results in the above assertion failures

However, if I create the dataset beneath a pre-existing group in the H5 file, either '/group1/newDataset' or just in the root '/newDataset', I _do not_ get the assertion failures.

Also, if I create an empty H5 file via my application and then add the '/newGroup' and '/newGroup/newDataset', I _do not_ get the assertion failures.

So... is this some weird mismatch between the properties with which HDFView created the groups in the test file vs. how I've got the properties when I create '/newGroup'? What do I do to fix it?

Thanks,
Steve Christensen

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

Hi Peter,

I updated the sample code to do a

  H5Fflush(fid,H5F_SCOPE_GLOBAL);

after creating the file and before creating the dataset. Unfortunately, the problem still occurs.

I do get the same failure if I compile the code for win32 rather than x64. Not sure if that'll be any easier to come by or not.

-Steve

Quoting Peter Cao <xcao@hdfgroup.org>:

···

Since I do not have a Windows XP 64-bit machine, I tested your code on Linux.
I could not reproduce the problem. Call H5Fflush() after you create the new
group to see if it solves the problem. Thanks --pc

On 9/7/2010 12:05 PM, stnchris@xmission.com wrote:

Under some circumstances, I'm seeing an assertion errors when I create a new dataset inside a sample HDF5 file I'd created using HDFView

Platform: Windows XP 64bit

HDF5 version: 1.8.5-patch1 (and 1.8.5), recompiled to disable SZIP

HDFView version: 2.6.1 for Windows XP

Attached is a sample application and a H5 file that result in me getting the following assertion errors when I try to create the dataset:

Assertion failed: elem, file ..\..\..\src\H5FL.c, line 1876
Assertion failed: H5F_sfile_head_g == ((void *)0), file ..\..\..\src\H5Fsfile.c, line 65

More detail on the oddness...

In the sample H5 file, I've created some groups / datasets that I'm using in unit tests for a wrapper around HDF5lib that I'm writing.

In the sample application, I open the file,create a group '/newGroup', and try to create a dataset '/newGroup/newDataset' which results in the above assertion failures

However, if I create the dataset beneath a pre-existing group in the H5 file, either '/group1/newDataset' or just in the root '/newDataset', I _do not_ get the assertion failures.

Also, if I create an empty H5 file via my application and then add the '/newGroup' and '/newGroup/newDataset', I _do not_ get the assertion failures.

So... is this some weird mismatch between the properties with which HDFView created the groups in the test file vs. how I've got the properties when I create '/newGroup'? What do I do to fix it?

Thanks,
Steve Christensen

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

Steve,

One of our developers will look at the issue.

FYI, you may want to try this:
        take out cpp calls and just use HDF5 library calls.

Thanks
--pc

···

On 9/14/2010 5:44 PM, stnchris@xmission.com wrote:

Hi Peter,

I updated the sample code to do a

    H5Fflush(fid,H5F_SCOPE_GLOBAL);

after creating the file and before creating the dataset. Unfortunately, the problem still occurs.

I do get the same failure if I compile the code for win32 rather than x64. Not sure if that'll be any easier to come by or not.

-Steve

Quoting Peter Cao <xcao@hdfgroup.org>:

Since I do not have a Windows XP 64-bit machine, I tested your code on Linux.
I could not reproduce the problem. Call H5Fflush() after you create the new
group to see if it solves the problem. Thanks --pc

On 9/7/2010 12:05 PM, stnchris@xmission.com wrote:

Under some circumstances, I'm seeing an assertion errors when I create a new dataset inside a sample HDF5 file I'd created using HDFView

Platform: Windows XP 64bit

HDF5 version: 1.8.5-patch1 (and 1.8.5), recompiled to disable SZIP

HDFView version: 2.6.1 for Windows XP

Attached is a sample application and a H5 file that result in me getting the following assertion errors when I try to create the dataset:

Assertion failed: elem, file ..\..\..\src\H5FL.c, line 1876
Assertion failed: H5F_sfile_head_g == ((void *)0), file ..\..\..\src\H5Fsfile.c, line 65

More detail on the oddness...

In the sample H5 file, I've created some groups / datasets that I'm using in unit tests for a wrapper around HDF5lib that I'm writing.

In the sample application, I open the file,create a group '/newGroup', and try to create a dataset '/newGroup/newDataset' which results in the above assertion failures

However, if I create the dataset beneath a pre-existing group in the H5 file, either '/group1/newDataset' or just in the root '/newDataset', I _do not_ get the assertion failures.

Also, if I create an empty H5 file via my application and then add the '/newGroup' and '/newGroup/newDataset', I _do not_ get the assertion failures.

So... is this some weird mismatch between the properties with which HDFView created the groups in the test file vs. how I've got the properties when I create '/newGroup'? What do I do to fix it?

Thanks,
Steve Christensen

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

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

Steve,

   I was able to reproduce your error with hdf5 1.8.5-patch1. This error does not happen when I used the soon to be released 1.8.6 version.

Allen

···

  Steve,

One of our developers will look at the issue.

FYI, you may want to try this:
        take out cpp calls and just use HDF5 library calls.

Thanks
--pc

On 9/14/2010 5:44 PM, stnchris@xmission.com wrote:
> Hi Peter,
>
> I updated the sample code to do a
>
> H5Fflush(fid,H5F_SCOPE_GLOBAL);
>
> after creating the file and before creating the dataset.
> Unfortunately, the problem still occurs.
>
> I do get the same failure if I compile the code for win32 rather than
> x64. Not sure if that'll be any easier to come by or not.
>
> -Steve
>
> Quoting Peter Cao <xcao@hdfgroup.org>:
>
>> Since I do not have a Windows XP 64-bit machine, I tested your code
>> on Linux.
>> I could not reproduce the problem. Call H5Fflush() after you create
>> the new
>> group to see if it solves the problem. Thanks --pc
>>
>> On 9/7/2010 12:05 PM, stnchris@xmission.com wrote:
>>> Under some circumstances, I'm seeing an assertion errors when I
>>> create a new dataset inside a sample HDF5 file I'd created using
>>> HDFView
>>>
>>> Platform: Windows XP 64bit
>>>
>>> HDF5 version: 1.8.5-patch1 (and 1.8.5), recompiled to disable SZIP
>>>
>>> HDFView version: 2.6.1 for Windows XP
>>>
>>>
>>> Attached is a sample application and a H5 file that result in me
>>> getting the following assertion errors when I try to create the
>>> dataset:
>>>
>>> Assertion failed: elem, file ..\..\..\src\H5FL.c, line 1876
>>> Assertion failed: H5F_sfile_head_g == ((void *)0), file
>>> ..\..\..\src\H5Fsfile.c, line 65
>>>
>>>
>>> More detail on the oddness...
>>>
>>> In the sample H5 file, I've created some groups / datasets that I'm
>>> using in unit tests for a wrapper around HDF5lib that I'm writing.
>>>
>>> In the sample application, I open the file,create a group
>>> '/newGroup', and try to create a dataset '/newGroup/newDataset'
>>> which results in the above assertion failures
>>>
>>>
>>> However, if I create the dataset beneath a pre-existing group in
>>> the H5 file, either '/group1/newDataset' or just in the root
>>> '/newDataset', I _do not_ get the assertion failures.
>>>
>>> Also, if I create an empty H5 file via my application and then add
>>> the '/newGroup' and '/newGroup/newDataset', I _do not_ get the
>>> assertion failures.
>>>
>>> So... is this some weird mismatch between the properties with which
>>> HDFView created the groups in the test file vs. how I've got the
>>> properties when I create '/newGroup'? What do I do to fix it?
>>>
>>>
>>> Thanks,
>>> Steve Christensen
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Hdf-forum is for HDF software users discussion.
>>> Hdf-forum@hdfgroup.org
>>> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
>
>
>
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> Hdf-forum@hdfgroup.org
> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
>

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

Hi Allen,

Great! I'll give it a try once it's been released.

Thanks,
Steve

Quoting Allen D Byrne <byrn@hdfgroup.org>:

···

Steve,

   I was able to reproduce your error with hdf5 1.8.5-patch1. This error does not happen when I used the soon to be released 1.8.6 version.

Allen

  Steve,

One of our developers will look at the issue.

FYI, you may want to try this:
        take out cpp calls and just use HDF5 library calls.

Thanks
--pc

On 9/14/2010 5:44 PM, stnchris@xmission.com wrote:
> Hi Peter,
>
> I updated the sample code to do a
>
> H5Fflush(fid,H5F_SCOPE_GLOBAL);
>
> after creating the file and before creating the dataset.
> Unfortunately, the problem still occurs.
>
> I do get the same failure if I compile the code for win32 rather than
> x64. Not sure if that'll be any easier to come by or not.
>
> -Steve
>
> Quoting Peter Cao <xcao@hdfgroup.org>:
>
>> Since I do not have a Windows XP 64-bit machine, I tested your code
>> on Linux.
>> I could not reproduce the problem. Call H5Fflush() after you create
>> the new
>> group to see if it solves the problem. Thanks --pc
>>
>> On 9/7/2010 12:05 PM, stnchris@xmission.com wrote:
>>> Under some circumstances, I'm seeing an assertion errors when I
>>> create a new dataset inside a sample HDF5 file I'd created using
>>> HDFView
>>>
>>> Platform: Windows XP 64bit
>>>
>>> HDF5 version: 1.8.5-patch1 (and 1.8.5), recompiled to disable SZIP
>>>
>>> HDFView version: 2.6.1 for Windows XP
>>>
>>> Attached is a sample application and a H5 file that result in me
>>> getting the following assertion errors when I try to create the
>>> dataset:
>>>
>>> Assertion failed: elem, file ..\..\..\src\H5FL.c, line 1876
>>> Assertion failed: H5F_sfile_head_g == ((void *)0), file
>>> ..\..\..\src\H5Fsfile.c, line 65
>>>
>>> More detail on the oddness...
>>>
>>> In the sample H5 file, I've created some groups / datasets that I'm
>>> using in unit tests for a wrapper around HDF5lib that I'm writing.
>>>
>>> In the sample application, I open the file,create a group
>>> '/newGroup', and try to create a dataset '/newGroup/newDataset'
>>> which results in the above assertion failures
>>>
>>> However, if I create the dataset beneath a pre-existing group in
>>> the H5 file, either '/group1/newDataset' or just in the root
>>> '/newDataset', I _do not_ get the assertion failures.
>>>
>>> Also, if I create an empty H5 file via my application and then add
>>> the '/newGroup' and '/newGroup/newDataset', I _do not_ get the
>>> assertion failures.
>>>
>>> So... is this some weird mismatch between the properties with which
>>> HDFView created the groups in the test file vs. how I've got the
>>> properties when I create '/newGroup'? What do I do to fix it?
>>>
>>> Thanks,
>>> Steve Christensen
>>>
>>> _______________________________________________
>>> Hdf-forum is for HDF software users discussion.
>>> Hdf-forum@hdfgroup.org
>>> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
>
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> Hdf-forum@hdfgroup.org
> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
>

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

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