h5diff 1.8.8 problem on Windows

The two files being compared are not in fact, different. But I've noticed that h5diff 1.8.8 fails when comparing H5T_STD_U32LE to H5T_STD_U64LE (see bold text below). When I see that error message, I know it's going to be wrong.

dws@qawin32 /winsame/dws/vorpalall/vptests/tests/ptcls
$ C:/winsame/contrib-vs9/hdf5-1.8.8-par/bin/h5diff -v taggedParticles2p_taggedptcls_2.h5 C:/winsame/dws/vorpalall/vptests/vpresults-win32/ptcls/taggedParticles2p/taggedParticles2p_taggedptc ls_2.h5 /taggedptcls
dataset: </taggedptcls> and </taggedptcls>
attribute: <charge of </taggedptcls>> and <charge of </taggedptcls>>
0 differences found
Warning: different storage datatype
<currentTags> has file datatype H5T_STD_U32LE
<currentTags> has file datatype H5T_STD_U64LE
attribute: <currentTags of </taggedptcls>> and <currentTags of </taggedptcls>>
size: [4] [4]
position currentTags of </taggedptcls> currentTags of </taggedptcls> difference

···

------------------------------------------------------------
[ 1 ] 289 0 289
[ 2 ] 2 289 287
[ 3 ] 3 0 3
3 differences found

Now if I use h5diff 1.8.7 to diff those same files, I get the correct answer (and no complaint about datatypes):

dws@qawin32 /winsame/dws/vorpalall/vptests/tests/ptcls
$ C:/winsame/contrib-vs9/hdf5-1.8.7-ser/bin/h5diff -v taggedParticles2p_taggedptcls_2.h5 C:/winsame/dws/vorpalall/vptests/vpresults-win32/ptcls/taggedParticles2p/taggedParticles2p_taggedptcls_2.h5 /taggedptcls
dataset: </taggedptcls> and </taggedptcls>
attribute: <charge of </taggedptcls>> and <charge of </taggedptcls>>
0 differences found
attribute: <mass of </taggedptcls>> and <mass of </taggedptcls>>
0 differences found
attribute: <numPtclsInMacro of </taggedptcls>> and <numPtclsInMacro of </taggedptcls>>
0 differences found
attribute: <numSpatialDims of </taggedptcls>> and <numSpatialDims of </taggedptcls>>
0 differences found
attribute: <ptclEnds of </taggedptcls>> and <ptclEnds of </taggedptcls>>
0 differences found
attribute: <time of </taggedptcls>> and <time of </taggedptcls>>
0 differences found
attribute: <vsLimits of </taggedptcls>> and <vsLimits of </taggedptcls>>
0 differences found
attribute: <vsNumSpatialDims of </taggedptcls>> and <vsNumSpatialDims of </taggedptcls>>
0 differences found
attribute: <vsTimeGroup of </taggedptcls>> and <vsTimeGroup of </taggedptcls>>
0 differences found
attribute: <vsType of </taggedptcls>> and <vsType of </taggedptcls>>
0 differences found

I see this problem on both 32-bit and 64-bit Windows. Has anyone else seen it?

Dave

Hi Dave,

According to the verification, h5diff 1.8.7 had a bug and h5diff 1.8.8 is correct.
The h5diff 1.8.7 didn't catch such differences from attributes and it got fixed for h5diff 1.8.8.
The warning is simply informational purpose from the type size difference, so user can be aware of the detail.

If you check data in the 'charge' attribute of the '/taggedptcls' dataset from both files, you will see those attributes contain the difference data.

Jonathan

···

On 2/22/2012 9:30 PM, Dave Wade-Stein wrote:

The two files being compared are not in fact, different. But I've noticed that h5diff 1.8.8 fails when comparing H5T_STD_U32LE to H5T_STD_U64LE (see bold text below). When I see that error message, I know it's going to be wrong.

dws@qawin32 /winsame/dws/vorpalall/vptests/tests/ptcls
$ C:/winsame/contrib-vs9/hdf5-1.8.8-par/bin/h5diff -v taggedParticles2p_taggedptcls_2.h5 C:/winsame/dws/vorpalall/vptests/vpresults-win32/ptcls/taggedParticles2p/taggedParticles2p_taggedptc ls_2.h5 /taggedptcls
dataset: </taggedptcls> and </taggedptcls>
attribute: <charge of </taggedptcls>> and <charge of </taggedptcls>>
0 differences found
*Warning: different storage datatype*
*<currentTags> has file datatype H5T_STD_U32LE*
*<currentTags> has file datatype H5T_STD_U64LE*
attribute: <currentTags of </taggedptcls>> and <currentTags of </taggedptcls>>
size: [4] [4]
position currentTags of </taggedptcls> currentTags of </taggedptcls> difference
------------------------------------------------------------
[ 1 ] 289 0 289
[ 2 ] 2 289 287
[ 3 ] 3 0 3
3 differences found
...

Now if I use h5diff 1.8.7 to diff those same files, I get the correct answer (and no complaint about datatypes):

dws@qawin32 /winsame/dws/vorpalall/vptests/tests/ptcls
$ C:/winsame/contrib-vs9/hdf5-1.8.7-ser/bin/h5diff -v taggedParticles2p_taggedptcls_2.h5 C:/winsame/dws/vorpalall/vptests/vpresults-win32/ptcls/taggedParticles2p/taggedParticles2p_taggedptcls_2.h5 /taggedptcls
dataset: </taggedptcls> and </taggedptcls>
attribute: <charge of </taggedptcls>> and <charge of </taggedptcls>>
0 differences found
attribute: <mass of </taggedptcls>> and <mass of </taggedptcls>>
0 differences found
attribute: <numPtclsInMacro of </taggedptcls>> and <numPtclsInMacro of </taggedptcls>>
0 differences found
attribute: <numSpatialDims of </taggedptcls>> and <numSpatialDims of </taggedptcls>>
0 differences found
attribute: <ptclEnds of </taggedptcls>> and <ptclEnds of </taggedptcls>>
0 differences found
attribute: <time of </taggedptcls>> and <time of </taggedptcls>>
0 differences found
attribute: <vsLimits of </taggedptcls>> and <vsLimits of </taggedptcls>>
0 differences found
attribute: <vsNumSpatialDims of </taggedptcls>> and <vsNumSpatialDims of </taggedptcls>>
0 differences found
attribute: <vsTimeGroup of </taggedptcls>> and <vsTimeGroup of </taggedptcls>>
0 differences found
attribute: <vsType of </taggedptcls>> and <vsType of </taggedptcls>>
0 differences found

I see this problem on both 32-bit and 64-bit Windows. Has anyone else seen it?

Dave

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

Jonathan,

Thanks for the response.

The diff that h5diff reports is for the taggedPtcls, not charge attribute, and when I used h5dump to dump the files, those data are exactly the same, except for the type. Below are the excerpts from the h5dump of each file:

      ATTRIBUTE "currentTags" {
         DATATYPE H5T_STD_U32LE
         DATASPACE SIMPLE { ( 4 ) / ( 4 ) }
         DATA {
         (0): 204, 205, 2, 3
         }
      }

      ATTRIBUTE "currentTags" {
         DATATYPE H5T_STD_U64LE
         DATASPACE SIMPLE { ( 4 ) / ( 4 ) }
         DATA {
         (0): 204, 205, 2, 3
         }

If differing datatypes cause h5diff to get "confused" and report diffs that aren't there, shouldn't h5diff refuse to do the diff on the data with differing datatypes?

It would be much better if the output of h5diff were:

Warning: different storage datatype
<currentTags> has file datatype H5T_STD_U32LE
<currentTags> has file datatype H5T_STD_U64LE
Unable to compare attribute currentTags due to differing datatypes.

Instead, what we get is

Warning: different storage datatype
<currentTags> has file datatype H5T_STD_U32LE
<currentTags> has file datatype H5T_STD_U64LE
attribute: <currentTags of </taggedptclsCell>> and <currentTags of </taggedptclsCell>>
size: [4] [4]
position currentTags of </taggedptclsCell> currentTags of </taggedptclsCell> difference

···

------------------------------------------------------------
[ 1 ] 205 0 205
[ 2 ] 2 205 203
[ 3 ] 3 0 3

So, h5diff is saying the values in the second file are (204, 0, 205, 0) when in fact they are (204, 205, 2, 3) as shown in my h5dump excerpt above.

Thanks,
Dave

On Feb 23, 2012, at 12:51 PM, Jonathan Kim wrote:

Hi Dave,

According to the verification, h5diff 1.8.7 had a bug and h5diff 1.8.8 is correct.
The h5diff 1.8.7 didn't catch such differences from attributes and it got fixed for h5diff 1.8.8.
The warning is simply informational purpose from the type size difference, so user can be aware of the detail.

If you check data in the 'charge' attribute of the '/taggedptcls' dataset from both files, you will see those attributes contain the difference data.

Jonathan

On 2/22/2012 9:30 PM, Dave Wade-Stein wrote:

The two files being compared are not in fact, different. But I've noticed that h5diff 1.8.8 fails when comparing H5T_STD_U32LE to H5T_STD_U64LE (see bold text below). When I see that error message, I know it's going to be wrong.

dws@qawin32 /winsame/dws/vorpalall/vptests/tests/ptcls
$ C:/winsame/contrib-vs9/hdf5-1.8.8-par/bin/h5diff -v taggedParticles2p_taggedptcls_2.h5 C:/winsame/dws/vorpalall/vptests/vpresults-win32/ptcls/taggedParticles2p/taggedParticles2p_taggedptc ls_2.h5 /taggedptcls
dataset: </taggedptcls> and </taggedptcls>
attribute: <charge of </taggedptcls>> and <charge of </taggedptcls>>
0 differences found
Warning: different storage datatype
<currentTags> has file datatype H5T_STD_U32LE
<currentTags> has file datatype H5T_STD_U64LE
attribute: <currentTags of </taggedptcls>> and <currentTags of </taggedptcls>>
size: [4] [4]
position currentTags of </taggedptcls> currentTags of </taggedptcls> difference
------------------------------------------------------------
[ 1 ] 289 0 289
[ 2 ] 2 289 287
[ 3 ] 3 0 3
3 differences found

Now if I use h5diff 1.8.7 to diff those same files, I get the correct answer (and no complaint about datatypes):

dws@qawin32 /winsame/dws/vorpalall/vptests/tests/ptcls
$ C:/winsame/contrib-vs9/hdf5-1.8.7-ser/bin/h5diff -v taggedParticles2p_taggedptcls_2.h5 C:/winsame/dws/vorpalall/vptests/vpresults-win32/ptcls/taggedParticles2p/taggedParticles2p_taggedptcls_2.h5 /taggedptcls
dataset: </taggedptcls> and </taggedptcls>
attribute: <charge of </taggedptcls>> and <charge of </taggedptcls>>
0 differences found
attribute: <mass of </taggedptcls>> and <mass of </taggedptcls>>
0 differences found
attribute: <numPtclsInMacro of </taggedptcls>> and <numPtclsInMacro of </taggedptcls>>
0 differences found
attribute: <numSpatialDims of </taggedptcls>> and <numSpatialDims of </taggedptcls>>
0 differences found
attribute: <ptclEnds of </taggedptcls>> and <ptclEnds of </taggedptcls>>
0 differences found
attribute: <time of </taggedptcls>> and <time of </taggedptcls>>
0 differences found
attribute: <vsLimits of </taggedptcls>> and <vsLimits of </taggedptcls>>
0 differences found
attribute: <vsNumSpatialDims of </taggedptcls>> and <vsNumSpatialDims of </taggedptcls>>
0 differences found
attribute: <vsTimeGroup of </taggedptcls>> and <vsTimeGroup of </taggedptcls>>
0 differences found
attribute: <vsType of </taggedptcls>> and <vsType of </taggedptcls>>
0 differences found

I see this problem on both 32-bit and 64-bit Windows. Has anyone else seen it?

Dave

_______________________________________________
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

Dave Wade-Stein, Ph.D.
Software Developer II
Quality Assurance and Releases Group
Tech-X Corporation
dws@txcorp.com

Hi Dave,

Since those values are same, it's a bug.
The issue will be reported to tracking system and be taken care of.

Thanks for your report!

Jonathan

···

On 2/23/2012 2:50 PM, Dave Wade-Stein wrote:

Jonathan,

Thanks for the response.

The diff that h5diff reports is for the taggedPtcls, not charge attribute, and when I used h5dump to dump the files, those data are exactly the same, except for the type. Below are the excerpts from the h5dump of each file:

      ATTRIBUTE "currentTags" {
         DATATYPE H5T_STD_U32LE
         DATASPACE SIMPLE { ( 4 ) / ( 4 ) }
         DATA {
* (0): 204, 205, 2, 3*
         }
      }

      ATTRIBUTE "currentTags" {
         DATATYPE H5T_STD_U64LE
         DATASPACE SIMPLE { ( 4 ) / ( 4 ) }
         DATA {
* (0): 204, 205, 2, 3*
         }

If differing datatypes cause h5diff to get "confused" and report diffs that aren't there, shouldn't h5diff refuse to do the diff on the data with differing datatypes?

It would be much better if the output of h5diff were:

*Warning: different storage datatype*
*<currentTags> has file datatype H5T_STD_U32LE*
*<currentTags> has file datatype H5T_STD_U64LE*
*Unable to compare attribute currentTags due to differing datatypes.*

Instead, what we get is

*Warning: different storage datatype*
*<currentTags> has file datatype H5T_STD_U32LE*
*<currentTags> has file datatype H5T_STD_U64LE*
*attribute: <currentTags of </taggedptclsCell>> and <currentTags of </taggedptclsCell>>*
*size: [4] [4]*
*position currentTags of </taggedptclsCell> currentTags of </taggedptclsCell> difference *
*------------------------------------------------------------*
*[ 1 ] 205 0 205 *
*[ 2 ] 2 205 203 *
*[ 3 ] 3 0 3 *

So, h5diff is saying the values in the second file are (204, 0, 205, 0) when in fact they are (204, 205, 2, 3) as shown in my h5dump excerpt above.

Thanks,
Dave

On Feb 23, 2012, at 12:51 PM, Jonathan Kim wrote:

Hi Dave,

According to the verification, h5diff 1.8.7 had a bug and h5diff 1.8.8 is correct.
The h5diff 1.8.7 didn't catch such differences from attributes and it got fixed for h5diff 1.8.8.
The warning is simply informational purpose from the type size difference, so user can be aware of the detail.

If you check data in the 'charge' attribute of the '/taggedptcls' dataset from both files, you will see those attributes contain the difference data.

Jonathan

On 2/22/2012 9:30 PM, Dave Wade-Stein wrote:

The two files being compared are not in fact, different. But I've noticed that h5diff 1.8.8 fails when comparing H5T_STD_U32LE to H5T_STD_U64LE (see bold text below). When I see that error message, I know it's going to be wrong.

dws@qawin32 /winsame/dws/vorpalall/vptests/tests/ptcls
$ C:/winsame/contrib-vs9/hdf5-1.8.8-par/bin/h5diff -v taggedParticles2p_taggedptcls_2.h5 C:/winsame/dws/vorpalall/vptests/vpresults-win32/ptcls/taggedParticles2p/taggedParticles2p_taggedptc ls_2.h5 /taggedptcls
dataset: </taggedptcls> and </taggedptcls>
attribute: <charge of </taggedptcls>> and <charge of </taggedptcls>>
0 differences found
*Warning: different storage datatype*
*<currentTags> has file datatype H5T_STD_U32LE*
*<currentTags> has file datatype H5T_STD_U64LE*
attribute: <currentTags of </taggedptcls>> and <currentTags of </taggedptcls>>
size: [4] [4]
position currentTags of </taggedptcls> currentTags of </taggedptcls> difference
------------------------------------------------------------
[ 1 ] 289 0 289
[ 2 ] 2 289 287
[ 3 ] 3 0 3
3 differences found
...

Now if I use h5diff 1.8.7 to diff those same files, I get the correct answer (and no complaint about datatypes):

dws@qawin32 /winsame/dws/vorpalall/vptests/tests/ptcls
$ C:/winsame/contrib-vs9/hdf5-1.8.7-ser/bin/h5diff -v taggedParticles2p_taggedptcls_2.h5 C:/winsame/dws/vorpalall/vptests/vpresults-win32/ptcls/taggedParticles2p/taggedParticles2p_taggedptcls_2.h5 /taggedptcls
dataset: </taggedptcls> and </taggedptcls>
attribute: <charge of </taggedptcls>> and <charge of </taggedptcls>>
0 differences found
attribute: <mass of </taggedptcls>> and <mass of </taggedptcls>>
0 differences found
attribute: <numPtclsInMacro of </taggedptcls>> and <numPtclsInMacro of </taggedptcls>>
0 differences found
attribute: <numSpatialDims of </taggedptcls>> and <numSpatialDims of </taggedptcls>>
0 differences found
attribute: <ptclEnds of </taggedptcls>> and <ptclEnds of </taggedptcls>>
0 differences found
attribute: <time of </taggedptcls>> and <time of </taggedptcls>>
0 differences found
attribute: <vsLimits of </taggedptcls>> and <vsLimits of </taggedptcls>>
0 differences found
attribute: <vsNumSpatialDims of </taggedptcls>> and <vsNumSpatialDims of </taggedptcls>>
0 differences found
attribute: <vsTimeGroup of </taggedptcls>> and <vsTimeGroup of </taggedptcls>>
0 differences found
attribute: <vsType of </taggedptcls>> and <vsType of </taggedptcls>>
0 differences found

I see this problem on both 32-bit and 64-bit Windows. Has anyone else seen it?

Dave

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org <mailto: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 <mailto:Hdf-forum@hdfgroup.org>
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Dave Wade-Stein, Ph.D.
Software Developer II
Quality Assurance and Releases Group
Tech-X Corporation
dws@txcorp.com <mailto:dws@txcorp.com>

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

This problem still exists in the hdf5 1.8.9 pre-release.

And contrary to my original subject, the problem isn't just on Windows.

Is there any chance this can be fixed in 1.8.9?

Thanks,
Dave

···

Begin forwarded message:

From: Dave Wade-Stein <dws@txcorp.com>
Subject: Re: [Hdf-forum] h5diff 1.8.8 problem on Windows
Date: February 23, 2012 1:50:56 PM MST
To: HDF Users Discussion List <hdf-forum@hdfgroup.org>

Jonathan,

Thanks for the response.

The diff that h5diff reports is for the taggedPtcls, not charge attribute, and when I used h5dump to dump the files, those data are exactly the same, except for the type. Below are the excerpts from the h5dump of each file:

      ATTRIBUTE "currentTags" {
         DATATYPE H5T_STD_U32LE
         DATASPACE SIMPLE { ( 4 ) / ( 4 ) }
         DATA {
         (0): 204, 205, 2, 3
         }
      }

      ATTRIBUTE "currentTags" {
         DATATYPE H5T_STD_U64LE
         DATASPACE SIMPLE { ( 4 ) / ( 4 ) }
         DATA {
         (0): 204, 205, 2, 3
         }

If differing datatypes cause h5diff to get "confused" and report diffs that aren't there, shouldn't h5diff refuse to do the diff on the data with differing datatypes?

It would be much better if the output of h5diff were:

Warning: different storage datatype
<currentTags> has file datatype H5T_STD_U32LE
<currentTags> has file datatype H5T_STD_U64LE
Unable to compare attribute currentTags due to differing datatypes.

Instead, what we get is

Warning: different storage datatype
<currentTags> has file datatype H5T_STD_U32LE
<currentTags> has file datatype H5T_STD_U64LE
attribute: <currentTags of </taggedptclsCell>> and <currentTags of </taggedptclsCell>>
size: [4] [4]
position currentTags of </taggedptclsCell> currentTags of </taggedptclsCell> difference
------------------------------------------------------------
[ 1 ] 205 0 205
[ 2 ] 2 205 203
[ 3 ] 3 0 3

So, h5diff is saying the values in the second file are (204, 0, 205, 0) when in fact they are (204, 205, 2, 3) as shown in my h5dump excerpt above.

Thanks,
Dave

On Feb 23, 2012, at 12:51 PM, Jonathan Kim wrote:

Hi Dave,

According to the verification, h5diff 1.8.7 had a bug and h5diff 1.8.8 is correct.
The h5diff 1.8.7 didn't catch such differences from attributes and it got fixed for h5diff 1.8.8.
The warning is simply informational purpose from the type size difference, so user can be aware of the detail.

If you check data in the 'charge' attribute of the '/taggedptcls' dataset from both files, you will see those attributes contain the difference data.

Jonathan

On 2/22/2012 9:30 PM, Dave Wade-Stein wrote:

The two files being compared are not in fact, different. But I've noticed that h5diff 1.8.8 fails when comparing H5T_STD_U32LE to H5T_STD_U64LE (see bold text below). When I see that error message, I know it's going to be wrong.

dws@qawin32 /winsame/dws/vorpalall/vptests/tests/ptcls
$ C:/winsame/contrib-vs9/hdf5-1.8.8-par/bin/h5diff -v taggedParticles2p_taggedptcls_2.h5 C:/winsame/dws/vorpalall/vptests/vpresults-win32/ptcls/taggedParticles2p/taggedParticles2p_taggedptc ls_2.h5 /taggedptcls
dataset: </taggedptcls> and </taggedptcls>
attribute: <charge of </taggedptcls>> and <charge of </taggedptcls>>
0 differences found
Warning: different storage datatype
<currentTags> has file datatype H5T_STD_U32LE
<currentTags> has file datatype H5T_STD_U64LE
attribute: <currentTags of </taggedptcls>> and <currentTags of </taggedptcls>>
size: [4] [4]
position currentTags of </taggedptcls> currentTags of </taggedptcls> difference
------------------------------------------------------------
[ 1 ] 289 0 289
[ 2 ] 2 289 287
[ 3 ] 3 0 3
3 differences found

Now if I use h5diff 1.8.7 to diff those same files, I get the correct answer (and no complaint about datatypes):

dws@qawin32 /winsame/dws/vorpalall/vptests/tests/ptcls
$ C:/winsame/contrib-vs9/hdf5-1.8.7-ser/bin/h5diff -v taggedParticles2p_taggedptcls_2.h5 C:/winsame/dws/vorpalall/vptests/vpresults-win32/ptcls/taggedParticles2p/taggedParticles2p_taggedptcls_2.h5 /taggedptcls
dataset: </taggedptcls> and </taggedptcls>
attribute: <charge of </taggedptcls>> and <charge of </taggedptcls>>
0 differences found
attribute: <mass of </taggedptcls>> and <mass of </taggedptcls>>
0 differences found
attribute: <numPtclsInMacro of </taggedptcls>> and <numPtclsInMacro of </taggedptcls>>
0 differences found
attribute: <numSpatialDims of </taggedptcls>> and <numSpatialDims of </taggedptcls>>
0 differences found
attribute: <ptclEnds of </taggedptcls>> and <ptclEnds of </taggedptcls>>
0 differences found
attribute: <time of </taggedptcls>> and <time of </taggedptcls>>
0 differences found
attribute: <vsLimits of </taggedptcls>> and <vsLimits of </taggedptcls>>
0 differences found
attribute: <vsNumSpatialDims of </taggedptcls>> and <vsNumSpatialDims of </taggedptcls>>
0 differences found
attribute: <vsTimeGroup of </taggedptcls>> and <vsTimeGroup of </taggedptcls>>
0 differences found
attribute: <vsType of </taggedptcls>> and <vsType of </taggedptcls>>
0 differences found

I see this problem on both 32-bit and 64-bit Windows. Has anyone else seen it?

Dave

Dave Wade-Stein, Ph.D.
Software Developer II
Quality Assurance and Releases Group
Tech-X Corporation
dws@txcorp.com

Hi Dave,

The issue was identified and entered into our bug tracking system.
Unfortunately, we were unable to address it for this release due to other pressing items. Sorry for the delay.

If it's critical to you, we may be able to come up with fix and send it to you as soon as we finish.
However, it may take some time since the task is in the queue and not yet scheduled to be worked on.

Thanks,

Jonathan

···

On 4/19/2012 10:04 AM, Dave Wade-Stein wrote:

This problem still exists in the hdf5 1.8.9 pre-release.

And contrary to my original subject, the problem isn't just on Windows.

Is there any chance this can be fixed in 1.8.9?

Thanks,
Dave

Begin forwarded message:

*From: *Dave Wade-Stein <dws@txcorp.com <mailto:dws@txcorp.com>>
*Subject: **Re: [Hdf-forum] h5diff 1.8.8 problem on Windows*
*Date: *February 23, 2012 1:50:56 PM MST
*To: *HDF Users Discussion List <hdf-forum@hdfgroup.org <mailto:hdf-forum@hdfgroup.org>>

Jonathan,

Thanks for the response.

The diff that h5diff reports is for the taggedPtcls, not charge attribute, and when I used h5dump to dump the files, those data are exactly the same, except for the type. Below are the excerpts from the h5dump of each file:

      ATTRIBUTE "currentTags" {
         DATATYPE H5T_STD_U32LE
         DATASPACE SIMPLE { ( 4 ) / ( 4 ) }
         DATA {
* (0): 204, 205, 2, 3*
         }
      }

      ATTRIBUTE "currentTags" {
         DATATYPE H5T_STD_U64LE
         DATASPACE SIMPLE { ( 4 ) / ( 4 ) }
         DATA {
* (0): 204, 205, 2, 3*
         }

If differing datatypes cause h5diff to get "confused" and report diffs that aren't there, shouldn't h5diff refuse to do the diff on the data with differing datatypes?

It would be much better if the output of h5diff were:

*Warning: different storage datatype*
*<currentTags> has file datatype H5T_STD_U32LE*
*<currentTags> has file datatype H5T_STD_U64LE*
*Unable to compare attribute currentTags due to differing datatypes.*

Instead, what we get is

*Warning: different storage datatype*
*<currentTags> has file datatype H5T_STD_U32LE*
*<currentTags> has file datatype H5T_STD_U64LE*
*attribute: <currentTags of </taggedptclsCell>> and <currentTags of </taggedptclsCell>>*
*size: [4] [4]*
*position currentTags of </taggedptclsCell> currentTags of </taggedptclsCell> difference *
*------------------------------------------------------------*
*[ 1 ] 205 0 205 *
*[ 2 ] 2 205 203 *
*[ 3 ] 3 0 3 *

So, h5diff is saying the values in the second file are (204, 0, 205, 0) when in fact they are (204, 205, 2, 3) as shown in my h5dump excerpt above.

Thanks,
Dave

On Feb 23, 2012, at 12:51 PM, Jonathan Kim wrote:

Hi Dave,

According to the verification, h5diff 1.8.7 had a bug and h5diff 1.8.8 is correct.
The h5diff 1.8.7 didn't catch such differences from attributes and it got fixed for h5diff 1.8.8.
The warning is simply informational purpose from the type size difference, so user can be aware of the detail.

If you check data in the 'charge' attribute of the '/taggedptcls' dataset from both files, you will see those attributes contain the difference data.

Jonathan

On 2/22/2012 9:30 PM, Dave Wade-Stein wrote:

The two files being compared are not in fact, different. But I've noticed that h5diff 1.8.8 fails when comparing H5T_STD_U32LE to H5T_STD_U64LE (see bold text below). When I see that error message, I know it's going to be wrong.

dws@qawin32 /winsame/dws/vorpalall/vptests/tests/ptcls
$ C:/winsame/contrib-vs9/hdf5-1.8.8-par/bin/h5diff -v taggedParticles2p_taggedptcls_2.h5 C:/winsame/dws/vorpalall/vptests/vpresults-win32/ptcls/taggedParticles2p/taggedParticles2p_taggedptc ls_2.h5 /taggedptcls
dataset: </taggedptcls> and </taggedptcls>
attribute: <charge of </taggedptcls>> and <charge of </taggedptcls>>
0 differences found
*Warning: different storage datatype*
*<currentTags> has file datatype H5T_STD_U32LE*
*<currentTags> has file datatype H5T_STD_U64LE*
attribute: <currentTags of </taggedptcls>> and <currentTags of </taggedptcls>>
size: [4] [4]
position currentTags of </taggedptcls> currentTags of </taggedptcls> difference
------------------------------------------------------------
[ 1 ] 289 0 289
[ 2 ] 2 289 287
[ 3 ] 3 0 3
3 differences found
...

Now if I use h5diff 1.8.7 to diff those same files, I get the correct answer (and no complaint about datatypes):

dws@qawin32 /winsame/dws/vorpalall/vptests/tests/ptcls
$ C:/winsame/contrib-vs9/hdf5-1.8.7-ser/bin/h5diff -v taggedParticles2p_taggedptcls_2.h5 C:/winsame/dws/vorpalall/vptests/vpresults-win32/ptcls/taggedParticles2p/taggedParticles2p_taggedptcls_2.h5 /taggedptcls
dataset: </taggedptcls> and </taggedptcls>
attribute: <charge of </taggedptcls>> and <charge of </taggedptcls>>
0 differences found
attribute: <mass of </taggedptcls>> and <mass of </taggedptcls>>
0 differences found
attribute: <numPtclsInMacro of </taggedptcls>> and <numPtclsInMacro of </taggedptcls>>
0 differences found
attribute: <numSpatialDims of </taggedptcls>> and <numSpatialDims of </taggedptcls>>
0 differences found
attribute: <ptclEnds of </taggedptcls>> and <ptclEnds of </taggedptcls>>
0 differences found
attribute: <time of </taggedptcls>> and <time of </taggedptcls>>
0 differences found
attribute: <vsLimits of </taggedptcls>> and <vsLimits of </taggedptcls>>
0 differences found
attribute: <vsNumSpatialDims of </taggedptcls>> and <vsNumSpatialDims of </taggedptcls>>
0 differences found
attribute: <vsTimeGroup of </taggedptcls>> and <vsTimeGroup of </taggedptcls>>
0 differences found
attribute: <vsType of </taggedptcls>> and <vsType of </taggedptcls>>
0 differences found

I see this problem on both 32-bit and 64-bit Windows. Has anyone else seen it?

Dave

Dave Wade-Stein, Ph.D.
Software Developer II
Quality Assurance and Releases Group
Tech-X Corporation
dws@txcorp.com <mailto:dws@txcorp.com>

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