[svn-r16194] Purpose:

Bug Fix

Description:

    Resolved issues with broken sanity checks that were failing when the 'b2'
    debugging package was enabled (v2 b-tree debugging):

        - Fixed outdated assertions that would not compile. They now compile
          and function correctly.

        - Removed too far outdated assertions that would require too much 
          unnecessary refactoring of code in order to satisfy their
          initial purpose.

        - Re-enabled b2 debugging package when "--enable-debug=all" is
          specified on the configure line.

Tested:

    jam, smirom, linew
This commit is contained in:
Mike McGreevy 2008-12-15 12:39:20 -05:00
parent 8b971620b4
commit 379b5a7b01
4 changed files with 10 additions and 31 deletions

4
configure vendored
View File

@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in Id: configure.in 16121 2008-11-23 13:03:49Z hdftest .
# From configure.in Id: configure.in 16138 2008-11-30 13:38:02Z hdftest .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for HDF5 1.9.26.
#
@ -47294,7 +47294,7 @@ if test "X-$DEBUG_PKG" = X- ; then
fi
all_packages="ac,b,d,e,f,g,hg,hl,i,mf,mm,o,p,s,t,v,z"
all_packages="ac,b,b2,d,e,f,g,hg,hl,i,mf,mm,o,p,s,t,v,z"
case "X-$DEBUG_PKG" in
X-yes)
DEBUG_PKG="d,e,f,g,hg,i,mm,o,p,s,t,v,z"

View File

@ -2188,9 +2188,7 @@ if test "X-$DEBUG_PKG" = X- ; then
fi
AC_SUBST([DEBUG_PKG])
dnl Removed b2 temporary since b2 code has errors.
dnl all_packages="ac,b,b2,d,e,f,g,hg,hl,i,mf,mm,o,p,s,t,v,z"
all_packages="ac,b,d,e,f,g,hg,hl,i,mf,mm,o,p,s,t,v,z"
all_packages="ac,b,b2,d,e,f,g,hg,hl,i,mf,mm,o,p,s,t,v,z"
case "X-$DEBUG_PKG" in
X-yes)
DEBUG_PKG="d,e,f,g,hg,i,mm,o,p,s,t,v,z"

View File

@ -131,6 +131,9 @@ Bug Fixes since HDF5-1.8.0 release
Library
-------
- Fixed up some old v2 btree assertions that get run in debug mode that
were previously failing on compilation, and removed some of the
more heavily outdated and non-rewritable ones. (MAM - 2008/12/15)
- Fixed a bug that could cause problems when "automatically" unmounting
multiple files. (NAF - 2008/11/17)
- H5Ovisit and H5Ovisit_by_name will now properly terminate when the

View File

@ -3214,12 +3214,7 @@ H5B2_assert_leaf(H5B2_shared_t *shared, H5B2_leaf_t *leaf)
unsigned u,v; /* Local index variables */
/* General sanity checking on node */
HDassert(leaf->nrec<=shared->split_leaf_nrec);
/* Sanity checking on records */
for(u=0; u<leaf->nrec; u++)
for(v=0; v<u; v++)
HDassert((shared->type->compare)(H5B2_LEAF_NREC(leaf,shared,u), H5B2_LEAF_NREC(leaf,shared,v))>0);
HDassert(leaf->nrec<=shared->node_info->split_nrec);
return(0);
} /* end H5B2_assert_leaf() */
@ -3244,14 +3239,7 @@ H5B2_assert_leaf2(H5B2_shared_t *shared, H5B2_leaf_t *leaf, H5B2_leaf_t *leaf2)
unsigned u,v; /* Local index variables */
/* General sanity checking on node */
HDassert(leaf->nrec<=shared->split_leaf_nrec);
/* Sanity checking on records */
for(u=0; u<leaf->nrec; u++) {
HDassert((shared->type->compare)(H5B2_LEAF_NREC(leaf2,shared,0), H5B2_LEAF_NREC(leaf,shared,u))>0);
for(v=0; v<u; v++)
HDassert((shared->type->compare)(H5B2_LEAF_NREC(leaf,shared,u), H5B2_LEAF_NREC(leaf,shared,v))>0);
} /* end for */
HDassert(leaf->nrec<=shared->node_info->split_nrec);
return(0);
} /* end H5B2_assert_leaf() */
@ -3277,12 +3265,7 @@ H5B2_assert_internal(hsize_t parent_all_nrec, H5B2_shared_t *shared, H5B2_intern
unsigned u,v; /* Local index variables */
/* General sanity checking on node */
HDassert(internal->nrec<=shared->split_int_nrec);
/* Sanity checking on records */
for(u=0; u<internal->nrec; u++)
for(v=0; v<u; v++)
HDassert((shared->type->compare)(H5B2_INT_NREC(internal,shared,u), H5B2_INT_NREC(internal,shared,v))>0);
HDassert(internal->nrec<=shared->node_info->split_nrec);
/* Sanity checking on node pointers */
tot_all_nrec=internal->nrec;
@ -3323,12 +3306,7 @@ H5B2_assert_internal2(hsize_t parent_all_nrec, H5B2_shared_t *shared, H5B2_inter
unsigned u,v; /* Local index variables */
/* General sanity checking on node */
HDassert(internal->nrec<=shared->split_int_nrec);
/* Sanity checking on records */
for(u=0; u<internal->nrec; u++)
for(v=0; v<u; v++)
HDassert((shared->type->compare)(H5B2_INT_NREC(internal,shared,u), H5B2_INT_NREC(internal,shared,v))>0);
HDassert(internal->nrec<=shared->node_info->split_nrec);
/* Sanity checking on node pointers */
tot_all_nrec=internal->nrec;