Patch release.
Description:
- Reorganize RELEASE.txt to better highlight changes
since 1.8.5.
- Update version to hdf5-1.8.5-patch1
- Generate release tarballs (repo changed to 'released').
Description: aix -q32 default to a memory limit that some HDF5 tests would
fail in malloc.
Solution:
Temporary hardset
RUNSERIAL=${RUNSERIAL="env LDR_CNTRL=MAXDATA=0x20000000@DSA"}
to bypass this problem until the test programs are fixed. Though -q64 binary
has a higher default memory limit and does not need this patch, it is applied
the same for the sake of simplicity since it is a temporary fix.
Tested:
in uP, both -q32 and -q64 modes. No h5committest since this applies to the
AIX platform only.
Bring r19298 from 1.8 branch to 1.8.5 branch:
Bring r19297 from trunk to 1.8 branch:
Whack a few more memory errors exposed by valgrind.
Make the debugging dump output a little bit prettier.
Tested on:
FreeBSD/32 6.3 (duty) w/debug
(h5committested on trunk)
Bring r19823 & 19824 from 1.8 branch back to 1.8.5 branch:
r19823:
Bring r19278 from trunk to 1.8 branch:
More fixes to memory allocation, etc. exposed by valgrind.
r19824:
Add note about correcting valgrind issues.
Tested on:
FreeBSD /32 6.3 (duty) w/debug
(too minor to require h5committest)
Bring r19274 from 1.8 branch to 1.8.5 branch:
(Except for clear-memory #ifdef in src/H5SM.c that depends on
changes to data structures)
Bring r19272 & 19273 from trunk to 1.8 branch:
Close out various resource leaks and usages of uninitialized memory that
were flagged by valgrind. [There's still some more valgrind warnings, but
it's better now... :-/ ]
Also clean up warnings and code formatting.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode (build only)
(h5committested on 1.8 branch)
- Bring revision 19078 from coverity branch to 1.8.5 branch
to be included in patch release.
Description:
This fix frees saved ID structures in the H5I interface
when the library shuts down.
Tested:
h5committest
is shared now. The only situation that requires copying the data is when the metadata cache
evicts and reloads this attribute. The attribute structure will be different in that
situation.
Tested on jam.
Added make install error on FREE_BSD (static only) to known problems in RELEASE.txt.
Fixed install-examples issue for CYGWIN.
Added '_' to sed script for solaris version to avoid losing name of compilers.
Tested on amani, jam, and linew with h5committest.
- Add an install rule to copy compiled fortran module files
- Only build the xlatefile utility if testing and tools are enabled
- Don't do MPI HAVE_XXX checks until MPI_FOUND is true
- Install needs H5version.h & H5overflow.h to be copied
- Add debug information flags to debug compile and link lines for win32 Intel compiler
Rename '--follow-links' to '--follow-symlinks'
Description:
The '--follow-links' option is to follow symbolic links (soft and external).
Make the name more intuitive and specific to the feature.
Merged from hdf5 1.8 branch r18874.
Tested:
jam, amani
Description:
Previously, it was possible for a chunk to be flushed due to chunk operations in
the callback from H5B_iterate in H5D_chunk_prune_by_extent. Because flushing
the chunk can force it to be reallocated if it is filtered, this can change the
contents of the chunk b-tree in the middle of H5B_iterate. Because H5B_iterate
uses a locally cached copy of the b-tree, this causes subsequent operations
to be passed incorrect data. Rewrote H5D_chunk_prune_by_extent to avoid
H5B_iterate entirely.
Also fixed a bug in the dataset expand algorithm that could cause extra chunks
to be created.
Tested: jam, linew, smirom (h5committest)
Correct function enter macro and add 'done' label, for routine that is
only invoked when configured with --enable-debug=all.
Tested on:
Mac OS X/32 10.6.3 (amazon) w/debug & production
(too minor to require h5committest)
any more. Changed algorithm of creating mask which now sits
at the least significant bits. Display data by down shift
first and then mask it for display. Changed the variable
names to reflect the new purpose better.
Tested: AlbertPax (linux)
Fixed a bug (1822) in the H5DSdetach_scale function when 0 bytes
were allocated after the last reference to a dim. scale
was removed from the list of references in a VL element of the
DIMENSION_LIST attribute; modified the function to comply
with the Spec: DIMENSION_LIST attribute is deleted now when no
dimension scales left attached.
Platforms tested: jam with electric fence, amani amd linew
Add bug fixes for Tools.
Description:
Added list from bugzilla:
1726 - NPOESS: h5repack loses attributes for datasets of type H5T_REFERENCE
1814 - NPOESS: h5repack doesn't handle references to the groups as an
element of a dataset
1817 - h5copy fail to copy dangling link by specifying link path directly
1793 - h5ls on a non-existent file gives 0 return code
Tested:
not need, just text update.
Program failued in FreeBSD and Windows machines because uint is a local
backward compatibility extension of Linux. Changed them to the proper
"unsigned int".
Tested: FreeBSD (liberty,duty), h5committested.
Fixed file cleanup during make distclean / make check.
Description:
The h5jam Makefile and the h5importtestutil.sh script both included cleanup
steps that removed "*.txt" from the directory. This resulted in the new
CMake specific configuration file, CMakeLists.txt, getting blown away by
make distclean (for h5jam) and make check (for h5import).
I've removed the *.txt from the h5jam Makefile as the directory looks to be
getting cleaned appropriately without it, and I've modified the h5import
script h5importtestutil.sh to point to the specific .txt files to clean.
Tested:
jam
Update RELEASE.txt
Description:
Remove outdated known issue (should have been removed
from 1.8.4, whoops) from RELEASE.txt
Tested:
doc only, none needed.
Fix memory leaks
Description
Added a routine to free memory which addresses a memory leak
when variable length strings are used as fill values.
Also added some minor tweaks to the H5I 'save ID structures' mechanic.
Tested:
h5committest and valgrind (on jam/amani) to confirm freed memory.
Added note about use of volatile for variables.
Added blurb to release notes about fixing strict-aliasing problems.
Tested on:
None - trivial change to comment.
Install packed-bits feature for h5dump.
tools/h5dump/h5dump.c:
Added lots of error checking into parse_mask_list() to catch and
flagged packed-bits argument errors. For now, the packed bits
are limited to 1 byte (8 bits) range.
tools/h5dump/testh5dump.sh.in
Added 10 new packed-bits test to verify normal operation and argument
error detection.
tools/lib/h5tools.h:
tools/lib/h5tools_str.c:
tools/lib/h5tools.c:
Only name changes of the packed-bit global variables to reflect
the nature of the variable better, IMO.
Tested: albertPax (linux)
------------------------------------------------------------------------
Install packed-bits feature for h5dump.
Added gent_packedbits() to generate the HDF5 test data
file, packedbits.h5, for packed-bit feature test.
Tested: albertPax (linux)
------------------------------------------------------------------------
Install packed-bits feature for h5dump.
testfiles/packedbits.h5:
New HDF5 test data file. Generated by h5dump/h5dumpgentest.
testfiles/tpbitsLengthPositive.ddl:
testfiles/tpbitsMaxExceeded.ddl:
testfiles/tpbitsSigned.ddl:
testfiles/tpbitsOffsetNegative.ddl:
testfiles/tpbitsUnsigned.ddl:
testfiles/tpbitsMax.ddl:
testfiles/tpbitsIncomplete.ddl:
testfiles/tpbitsOverlapped.ddl:
testfiles/tpbitsLengthExceeded.ddl:
testfiles/tpbitsOffsetExceeded.ddl:
Expected output files created to test various
components of the packed-bits feature.
testfiles/tpackedbits2.ddl:
testfiles/tpackedbits.ddl:
Previous output files no longer used.
Tested: albertPax (linux)
Correct error in H5C_resize_entry() where protected entry sizes were
not updated if the entry being resized was both pinned and protected.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r18768 from trunk to 1.8 branch:
Correct a mis-merged patch when marking an entry dirty.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
(h5committested on trunk)
Description:
- When a property class id is given to PropList(id), create new prop
list, but when a property list id is given, make a copy of it.
- Fixed operator= to use setId() properly.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
Install packed-bits feature for h5dump.
Allen has installed the feature in the NPOESS feature branch.
I ported it back to the v1.8 branch for v1.8.5 release.
tools/h5dump/testh5dump.sh.in:
Added tests for the packed-bits feature.
tools/h5dump/h5dump.c
tools/h5dump/h5dump.h
Added code to parse and handled the packed-bits request.
tools/lib/h5tools.h
tools/lib/h5tools_str.c
tools/lib/h5tools.c
Added code to print packed-bits.
tools/testfiles/tpackedbits2.ddl
tools/testfiles/tnofilename-with-packed-bits.ddl
tools/testfiles/tpackedbits.ddl
Expected output files for packed-bits feature.
Tested:
h5committested the NPOESS branch.
Tested in the linux VM machine in my Dove.
Bring r18740 from trunk to 1.8 branch:
Bring r18738 from metadata journaling 'merging' branch to trunk:
Switch H5AC_resize_pinned_entry() to work on protected entries as well,
and rename to H5AC_resize_entry()
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
(h5committested on trunk)
Description:
Closed a temporarily opened datatype to clean up memory leak,
in getTypeClass.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
Bring r18725 from trunk to 1.8 branch:
Bring r18724 from metadata journaling 'merging' branch to trunk:
Rename H5[A]C_rename to H5[A]C_move_entry.
Tested on:
FreeBSD/32 6.3 (duty) w/debug
(h5committested on trunk)
Bring r18721 from trunk to 1.8 branch:
Bring r18720 from metadata journaling merging branch to trunk:
Bring changes from metadata journaling branch to 'merging' branch:
Rename H5[A]C_mark_pinned_or_protected_entry_dirty() to
H5[A]C_mark_entry_dirty() and get rid of H5[A]C_mark_pinned_entry_dirty().
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r18716 from trunk to 1.8 branch:
Bring r18715 from metadata journaling merging branch to trunk:
Changes to further align trunk with state of metadata journaling branch.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Improve configure's large-file support control.
Description:
Modified configure to now attempt to add defines necessary for
supporting largefiles on all systems, instead of solely on linux. This
is in response to user requests to enable largefile support on Solaris
by default, as well as to give extra control on AIX (instead of just
jamming the necessary flag into the config files).
The old --enable-linux-lfs flag is being deprecated in favor of the
--enable-largefile flag (enabled by default), which can be used on all
platforms. --disable-linux-lfs can still be used to disable largefile
support (on linux) when the --enable-largefile flag is not specified.
On systems where large files cannot be supported in this manner,
configure will report as such.
Tested:
h5committest
AIX (NCSA's blue_print machine)
duty, liberty, and linew.
Bring r18702 from trunk to 1.8 branch:
Bring r18672 from metadata journaling "merging" branch to trunk:
Mostly changes to move to only using one 'user data' parameter for
calls to H5AC_protect(), along with some minor reformatting code cleanups.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.3 (amazon) in debug mode
Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
the data conversion test from unsigned long long to long double. The GCC on Cygwin seems to
have rounding problem when doing conversion from unsigned long long to long double (Please bug
#1813).
Tested on jam. I'll test it on Cygwin after this checkin.
Added missing overloaded function getObjTypeByIdx to return type name
as a char*.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
Bring r18664 from trunk to 1.8 branch:
Add a few H5Tequal() calls to make certain that the native datatype
constructed with H5Tget_native_type() is identical to the memory datatype
created from the struct in memory.
Tested on:
Mac OS X/32 10.6.3 (amazon) in debug mode
Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
(h5committested on trunk)
Tweak H5detect to be even more careful about its actions, to allow
gcc 4.5 to use '-O3'. Also, minor code cleanups in H5Tfloat.c
Tested on:
FreeBSD/64 6.3 (liberty) w/gcc 4.5 & production mode
(h5committest not necessary/appropriate)
Description:
longjmp do not necessary restore signal that is blocked during the signal
handling. This caused the Alignment test to fail quietly, resulting in wrong
alignment information which will cause failures later.
Solution:
One can use sigsetjmp/siglongjmp to restore signal handling but not all systems
such as Cray XT or VMS supports sigsetjmp. Backup solution is to use
sigprocmask to reset the signal. Again, some systems may not support it either.
Added code to try the first and then the second solution. Also added tests
to verify if the signal_handler routines are working properly. Finally, added
code to print results of the verification (in form of comments) to H5Tinit.c
for inspection in case of failure.
(Note that many platforms do not have alignment limits at all and ALIGNMNET
code never raise the SIGBUS or SIGSEGV errors. In those cases, it does not
matter whether the signal handlers work or not. Again, this can be deduced
from the results comments near the end of the H5Tinit.c. If the sum of signal
handlers called equals the total of verify, it means ALIGNMENT does not raise
any signals.)
Tested: htcommittested (linew is not accessible), jam(serial), Redstorm.
Added check in H5Rcreate for space_id = -1 and is region reference type.
Added test of H5R package API parameters to testhdf5 test, these test only the public API parameter checks.
Tested: local linux
Bring r18650 from trunk to 1.8 branch:
Bring back various minor tweaks & cleanups from the revise_chunks
branch.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
(h5committested on trunk)
Fix for Bug 1793 - h5ls on a non-existent file gives 0 return code
Description:
Merged from hdf5 trunk r18642.
After the fix, h5ls returns 1 (EXIT_FAILURE) if non-existent file is given.
Tested:
jam
Bring r18634 from trunk to 1.8 branch:
Clean up compiler warnings.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
(h5committested on trunk)
Bring r18630 from trunk to 1.8 branch:
Fix remaining aliasing problems and enable optimizations w/gcc now. This
addresses the remaining issues for Bug#1398.
Tested on:
Mac OS X/32 10.6.3 (amazon) in debug mode
Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
(h5committested on trunk)
Bring r18627 from trunk to 1.8 branch:
More progress toward addressing Bz#1398: add 'volatile' keyword to floating-
point types when detecting their properties. Also, minor code formatting
cleanups.
Tested on:
Mac OS X/32 10.6.3 (amazon) w/debug)
(h5committested on trunk)
Bring r18625 from trunk to 1.8 branch:
Checkpoint progress on Bz#1398 - strict aliasing issues. (Lots of compiler
warnings & code cleanups also)
Tested on:
Mac OS X/32 10.6.3 (amazon) in debug mode
(h5committested on trunk)
Bring r18618 from trunk to 1.8 branch:
Add new internal object header routines to query the header chunk that
a message is in, and to lock/unlock a message into a chunk (so it doesn't get
moved into another chunk during allocation/free events).
Also, move dataspace message to beginning of object header messages
added to a dataset's object header, so it can be locked into chunk #0 (when
performing SWMR operations).
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
(h5committested on trunk)
Bring r18612 from trunk to 1.8 branch:
Clean up compiler warnings & code formatting
Tested on:
Mac OS X/32 10.6.3 (amazon) w/debug
(too minor to require h5committest)
Bring r18610 from trunk to 1.8 branch:
Clean up compiler warnings & code formatting issues.
Tested on:
Mac OS X/32 10.6.3 (amazon) w/debug)
(too minor to require h5committest)
Bring r18608 from trunk to 1.8 branch:
Simplify object header allocation routines, and clean up some compiler
warnings.
Tested on:
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
(h5committested on trunk)
Bring r18600 from trunk to 1.8 branch:
Increment reference count on object header when "fake" object header
chunk proxy is returned from H5O_chunk_protect(). Also, clean up the
interface to H5O_chunk_unprotect by removing the unnecessary 'oh' parameter.
Tested on:
Mac OS X/32 10.6.3 (amazon) w/debug
(h5committested on trunk)
Autotool Upgrade / Libtool Bug Fix
Description:
Updated autotools referenced in bin/reconfigure as follows:
Autoconf 2.64 --> Autoconf 2.65
Automake 1.11 --> Automake 1.11.1
Libtool 2.2.6a --> Libtool 2.2.6b-mcg
The referenced libtool version is a custom version of 2.2.6b. It
has been tweaked to fix a bug in libtool that occurs
when using PGI 10.0 compilers. A check incorrectly categorizes
the C++ compiler as version 1.0 instead of 10.0, and the link
line is subsequently set up incorrectly and fails to compile.
A patch has been made available and will be included in the next
release of libtool, but in the meantime I've applied the patch to a custom
installation as indicated above. This bin/reconfigure now references
the custom installation, and the resulting configure script will correctly
categorize the PGI 10.0 C++ compiler.
Ran bin/reconfigure to regenerate configure and makefiles.
Tested:
jam and amani with PGI 10.0 compilers.
h5committest
Bring r18571 from trunk to 1.8 branch:
Bring r18542 from metadata journaling "merging" branch to trunk:
Bring new object header pin/unpin & protect/unprotect routines and
split-out object header chunk proxy changes from metadata_journaling branch to
"merging" branch, along with some other minor tweaks to clean up compiler
warnings, etc.
Also: clean up chunk protect/unprotect calls when allocating or freeing
space in a chunk, optimize metadata accumulator code to avoid some re-reading
of information from the file, refactor H5O_pin/H5O_unpin from way they are done
on the merging branch back to way they were previously done on trunk, other
minor code cleanups, etc.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
(h5committested on trunk)
Bring r18564 & r18565 from trunk to 1.8 branch: clean up compiler warnings
and whitespace issues.
Tested on:
Mac OS X/32 10.6.3 (amazon)
(too minor to require h5committest)
Allow 'save returned ID structures' mechanism to be toggled per ID type.
Also added initialization of new fields omitted in a previous commit.
Tested:
h5committest, and full check-vfd on linew, amani, and jam.
Description:
Attempting to copy an object with NULL references (all bytes zero) with the
H5O_COPY_EXPAND_REFERENCE_FLAG flag set would cause a failure or an assertion
(depending on whether it was in debug mode). Changed copy routine to detect
NULL references (object and region) and avoid attempting to expand the reference
in this case.
Tested: jam, linew, amani (h5committest)
When gcc is used in the AIX platform, it failed to compile tconfig.c
because it does not recognize the __int64 type. The ibm-aix has the
sizeof __int64=8 cached, as if all compilers supported this type.
Solution:
Removed the cached value for the sizeof __int64 so that during
configure, gcc can report it does not support it and not to use
it in the source code.
Tested:
NCSA Blue which is an AIX machine, using gcc or xlc compiler.
(The gcc still have failure but is being fixed as separated bugs.)
Bring r18525 from trunk to 1.8 branch:
Bring r18523 from metadata journaling "merging" branch to trunk:
Bring metadata journaling branch into closer correspondence with trunk:
extract data structure freeing routines from metadata cache client 'destroy'
callbacks.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r18520 from trunk to 1.8 branch:
Bring r18519 from metadata journaling "merging" branch to trunk:
Converge metadata_journaling branch and trunk: separate destroy routines for data structures from cache callbacks.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
(h5committested on trunk)
PGI v10.2 in Red Storm Qual complained about the H5_IS_API macro with the
following message when -Mbounds is used:
PGC-S-0053-Illegal use of void type
The compiler did not like to treat the literal strings as arrays.
The -Mbounds option is used when --disable-production is used.
Solution:
Casted all the literal to (char *).
Tested:
h5committest passed.
Red Storm Qual passed with the fixed H5_IS_API macro though it has other
failures later. Will be fixed in another batch.
Fix Bug 1730 (in 1.8)
Description:
This is a fix for Bug 1730. Note that this fix is only going into 1.8,
as there is a more desired fix prepared for the trunk, but we don't
want that one in 1.8 for compatibility reasons.
This change adds a mechanism to the H5I interface to save returned
ID structures for immediate re-use if needed. This addresses a potential
performance issue by delaying the case when the next ID to be
registered has grown so large that it wraps around and needs to be
checked to see if it is available for distribution again.
Tested:
h5committest, and manually on jam, amani, liberty, others.
Bring r18505 from trunk to 1.8 branch:
Move code to free superblock data structure into separate routine, in
preparation for upcoming metadata journaling -> trunk merging.
Tested on:
FreeBD/32 6.3 (duty) w/debug
(h5committested on trunk)
Bring r18502 from trunk to 1.8 branch:
Bring r18501 from metadata journaling "merging" branch to trunk:
Extract data structure 'destroy' routines from metadata cache client
'destroy' callbacks.
Tested on:
FreeBSD/32 6.3 (duty) w/debug
(h5committested on trunk)
Bring r18498 from trunk to 1.8 branch:
Bring r18497 from metadata journaling "merging" branch to trunk:
Extract data structure 'destroy' routines from metadata cache client
'destroy' callbacks.
Tested on:
FreeBSD/32 6.3 (duty) w/debug
(h5committested on trunk)
Bring r18494 from trunk to 1.8 branch:
Bring r18491 from metadata journaling "merging" branch to trunk:
Extract data structure 'destroy' routines from metadata cache client
'destroy' callbacks.
Tested on:
FreeBSD/32 6.3 (duty) w/debug
(h5committested on trunk)
Testlibinfo.sh failed again.
Solution:
Removed the const from H5libhdf5_settings definition, again.
Revamp the whole setting so that H5lib_settings.c is compiled
individually, just like H5Tinit.c. Hope this will take care
of the problem once for all.
Tested:
Amani using --disable-shared with --enable and --disable-embedded-libinfo.
Will test this on the AIX platform after commit (cannot run bin/reconfigure
in the AIX platform and it is too clumsy to try to ssh files back and forth
and incurred "svn merge inconsistency" later too.
Pretty confident this fix should work in all other platforms.
Bring r18484 from trunk to 1.8 branch:
Bring r18483 from metadata journaling 'merging' branch to trunk:
Remove unused symbol table entry dirty flag
Tested on:
FreeBSD/32 6.3 (duty) w/debug
(h5committested on trunk)
recent changes to the embedded library generation code does not quite work
for the AIX system. The strings command of AIX does not display the embedded
library information be default.
Solution:
Changed the H5libhhdf5_setting[] to be an extern variable. Also removed the
const qualifier so that strings can see the variable data.
Tested:
Blue-print (with embedded-libinfo enabled and disabled).
Bring r18460 from trunk to 1.8 branch:
Fold metadata journaling changes into the trunk: mostly tweaky
small stuff, also removed the H5F_t* field from the H5G_entry_t struct.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Bug1727 - NPOESS: h5copy should copy region references
Description:
Merged from hdf5 trunk r18447.
Tested and added test cases from previous checkin r18321
Reference Manual and tool's usage section for '-f ref' option is updated
for more comprehensibility.
Tested:
jam
Description:
Modified algorithm for extending a dataset with early allocation so it only
deals with the new chunks. Formerly, it would loop over all chunks, checking
to see if each existed in cache and on disk, causing major performance issues
with large numbers of chunks.
Tested: jam, linew, amani (h5committest)
Resolve windows build issue from previous checkin r18427
Description:
The previous checkin was for bug1814 - NPOESS: h5repack doesn't handle
references to the groups as an element of a dataset
Tested:
jam
Fix for bug1814 - NPOESS: h5repack doesn't handle references to the groups
as an element of a dataset
Description:
Merged from hdf5 trunk r18425
handles object reference to named-datatype as well.
Add test cases.
Tested:
jam
Bring r18413:18420 from trunk to 1.8 branch:
- unify srcdir query, etc.
- Move libhdf5.settings string out of H5Tinit.c
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.2 (amazon) in debug mode
Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Removed header file testhdf5.h from C++ tests to eliminate a non-standard
problem on OpenVMS. It wasn't essential.
Also, moved dsets.cpp from a standalone program into testhdf5.cpp
to be consistent with the rest of the tests.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
Will ask Ray to test on OpenVMS.
add test cases for h5copy - copy external links with/without ‘–f ext’
option (relate to bug 1733)
Description:
merged from hdf5 trunk (r18398 and r18399)
Tested:
jam
Description:
The core file driver previously matched files only based on the name used to
open them, even when a backing store is used. This caused problems in the
failing test when it traversed an external link to itself, and did not recognize
that it was the same file. Similar tests in links.c were skipped when the core
file driver was used. The failure was previously masked by inappropriate file
flushes caused by external link traversal. Added code to the core file driver
to keep track of low level file information of the backings store to allow for
accurate recognition of duplicate files. Also re-enabled all links.c tests for
the core file driver.
Tested: Fedora (core and sec2 drivers; no time for full commit test, will
monitor daily tests)
Bring r18391 from trunk to 1.8 branch:
Clean up compiler warnings, check error values and fix whitespace.
Tested on:
FreeBSD/64 6.3 (duty) w/debug
(too minor to require h5committest)
Bring r18388 from trunk back to 1.8 branch:
Bring changes from Coverity session from branch into trunk:
r18378:
Fixed coverity issues 207 and 322. Pointer hdr was checked for NULL after being
asserted and dereferenced. Check was removed.
r18379:
Fix coverity issues # 88 and # 435.
r18380:
Fixed Coverity issue # 85. Added check of returned pointer for NULL before use.
r18381:
Resolve coverity issues # 214 and # 215
r18382:
Issue 131: Add null checks to allocations and check for free in error handling
r18383:
Issue 421:
Reorganized code to make intention clearer. Also, set local variable fl to NULL
after transfer to tail. Heap->freelist will take care of all allocations
r18384:
Coverity #249 and #250 - STRING_ATT_CHECK wasn't allocated before being used
and freed in function test_write_vl_string_attribute and
test_read_vl_string_attribute.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & prod
(h5committested in daily tests)
Bring r18385 from trunk to 1.8 branch:
Tweak fix in r18372 to reset other messages read in also.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & production
(too minor to require h5committest)
Description:
Support for expanding external links was not implemented in H5Ocopy, even though
a flag existed for H5Pset_copy_object to enable this. This patch implements
this feature.
Tested: jam, amani, linew (h5committest); Fedora
Description:
Previously, the library would reopen the source file when traversing an external
link if unable to find the target file otherwise. This has been corrected.
Also moved the call to H5F_flush from H5F_try_close to H5F_dest, so the file is
only flushed when the last identifier for the file is closed. This prevernts
situations where the library could attempt to flush a file with protected
metadata.
Tested: jam, amani, linew (h5committest); Fedora
Bring r18357 from trunk to 1.8 branch:
Bring r18356 from metadata journaling merge branch to trunk:
Converge metadata journaling branch with trunk with a bunch of v1 B-tree
changes:
- Remove H5ACprivate.h header from H5Bprivate.h header
- Revise v1 B-tree client callbacks
- Get rid of H5B_serialize() by bringing it into H5B_flush()
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Bring r18346 from trunk to 1.8 branch:
Bring Coverity fixes back from branch to trunk:
r18336:
Fix coverity issues 275, 276, 277, 323, 432, 433, and 434
r18337:
Fix Coverity issue #106: release free space section node on error
r18338:
Fixed Coverity #94 - In H5P_register, new_class wasn't closed when there's an
error after it's created.
r18339:
Fix Coverity #185 - In test_conv_str_1, BUF wasn't freed when there's an error
in this function.
r18340:
Correct error in r18337 that wasn't releasing indirect fractal heap block
early enough.
r18341:
Close nodes if any failed in the middle of allocating new nodes. Coverity 140
and 141
r18342:
Correct [another] problem w/r18337.
r18343:
Fix coverity items 185, 20, and 21.
r18344:
Fix Coverity 213 - In H5FD_family_close, the double pointer file->memb was
dereferenced without NULL checking
(We believe).
r18345:
Fix Coverity issue # 210; removed NULL check after pointer dereferenced in
H5HFdblock.c. Also assigned NULL to pointer in H5Pint.c to fix segmentation
fault.
Tested on:
FreeBSD/32 6.3 (duty) w/debug)
(h5committested on trunk)
directory. OpenVMS couldn't open a file through symbolic link. This macro is mainly used
in test/links.c for the function call external_symlink and in src/H5F.c.
Tested on OpenVMS.
------------------------------------------------------------------------
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
int main(void)
{
int file1, file2;
/* Create a symbolic link to the file 21b.c */
if(symlink("[LU.hdf5_1_8_2_5.test.tmp2]21b.c", "[LU.hdf5_1_8_2_5.test.tmp]sym1") < 0)
printf("symlink failed\n");
/* Create the file 21b.c */
if((file1 = open("[LU.hdf5_1_8_2_5.test.tmp2]21b.c", O_CREAT | O_TRUNC | O_RDWR)) < 0)
printf("1st open failed\n");
if(close(file1) < 0)
printf("close failed\n");
/* Open the 21b.c through the symbolic link */
if((file2 = open("[LU.hdf5_1_8_2_5.test.tmp]sym1", O_RDWR)) < 0) {
int errsv = errno;
printf("2nd open failed, errno=%d\n", errsv);
}
if(close(file2) < 0)
printf("close failed\n");
return 0;
}
Bug1727 - h5copy: add test cases for object and region references
Note:
merged from hdf5 trunk 18319 and 18320
File added:
tools/h5copy/testfiles/h5copy_ref.out.ls
tools/h5copy/testfiles/h5copy_ref.h5
Tested:
jam
Bring r18302 from trunk to 1.8 branch:
Tweak allocation of attribute tables created from densely stored attributes
to allow for better cleanup on errors (like when the type of corruption from
Bz#1755 is encountered).
Also, add some code to h5dump to display an error message when the
attribute iteration for an object fails.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & production
(h5committested on trunk)
Bring r18300 from trunk to 1.8 branch:
Bring Coverity fixes from branch to trunk:
r18282:
Fix Coverity issue #428 by wrapping testing calls with if(pass) {} block.
r18283:
Fix Coverity issue #425 by wrapping test calls in if(pass) {} block
r18284:
Issue 166: init_error() malloc'd 3 pointers in initialization and never freed
inc ase of errors. Init pointers to NULL, check allocation results and free
allocations in error block
r18285:
Fix Coverity issue #410 by wrapping test calls with if(pass) {} block.
r18286:
Issue 165: custom_print_cb() needed allocations freed in error block.
r18287:
Fix coverity issue # 409
Added if (pass) checks around calls to flush_cache. Additionally,
added a check for file_ptr = NULL after call to setup_cache.
r18288:
Fix coverity# 107 free fh in H5HF_close() correctly before exit the function
even when failure occurs.
r18289:
Fix Coverity issue #429: correct failure return values to match return type
from routine.
r18290:
Fix Coverity issue #103: release allocated indirect section on error
r18294:
Issue 153, 152: Check allocations and free allocations in error block. Also
cleaned up hid_t identifer that were opened in error block.
r18295:
Fix coverity# 101 free new_loc in H5HF_man_iter_start_entry() correctly before
exit the function even when failure occurs
r18296:
Fix coverity# 100 free down_loc in H5HF_man_iter_down() before exit the function
when failure occurs
r18297:
Fixed coverity issues 54, 55 and 216. Correctly handle the various ways that
allocation of attr_name can fail in test_attr_basic_write.
r18298:
Fix coverity# 119 free object in H5HG_read() before exit the function when
failure occurs
r18299:
Fix coverity issue #112:
Add cleanup during error handling of H5MP_create.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & production
Misc. Linux configurations (on original checkins)
Work for bugzilla 1754: h5diff: support comparing through links.
Description:
merged from hdf5 trunk (18164, 18165, 18166, 18167, 18170, 18266, 18273)
Tested:
h5committest (jam, amani and linew)
Bring r18275 from trunk to 1.8 branch:
Remove incorrect encoding of fractal heap IDs for dense attribute storage
and dense shared object header message storage.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & production
(h5committested on trunk)
Bring r18271 from trunk to 1.8 branch:
Clean up the file closing behavior a little more.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & production
(too minor to require h5committest)
to open corrupted files. The problem turned out to be some memory leak when the library
failed to open the file. The solution is simply moving some code around to their proper
places - moving H5AC_unpin_entry(f->shared->sblock) in H5F_dest of H5F.c and moving
H5G_name_free(root_loc.path) in H5G_mkroot of H5Groot.c.
Tested on jam with development and production modes - simple change.
Description:
In certain cases, removal of an object in a v1 b-tree would cause the leftmost
key in the right neighbor to be overwritten. While this did not pose a problem
for group b-trees, with chunked datasets it would overwrite the offset value
of the neighbor's leftmost child, causing corruption. Reworked the code to
differentiate between b-trees whose children are fundamentally associated with
their left key and those who are associated with their right key.
Tested: jam, linew, amani (h5committest)
Bring r18256 from trunk to 1.8 branch:
Bring changes from Coverity fixing branch to trunk:
r18235:
Fixed coverity 114:
if (NULL ==_dest)
H5MM_free(dest);
r18236:
Close Coverity issue #28 (again :-) by working through the logic of the
routine more thoroughly to eliminate the goto statements. (LK & QK)
r18237:
fixed coverity 133:
if (NULL==_dest && NULL==ret_value && NULL != dest)
H5MM_free(dest);
r18238:
Fix coverity items 421 and 422. Added assertion that the heap's free list is
NULL when entering H5HL_fl_deserialize, guarateeing that the free list will
always be linked in even on failure.
r18239:
Fix coverity item 268. Changed H5MM_xfree(read_buf) to read_buf =
H5MM_xfree(read_buf) so that read_buf isn't manipulated after it's been freed.
r18241:
coverity fix: use correct free functon H5FL_FREE()from the previous fix
r18242:
Coverity fix 139: Free dst correctly in H5O_sdspace_copy().
r18243:
Fix Coverity issue #417 by checking for NULL return value from
setup_cache() (LK & QK)
r18244:
Coverity Fix 132: free dest correctly in H5O_efl_copy()
r18245:
Issue 121: H5S_hyper_make_spans() cannot deal with counts of 0. However,
H5Sselect_hyperslab() API does allow a count of 0.
Therefore, simply throw an error if this function encounters a count of 0.
r18246:
Check file_ptr to address coverity issue # 418
r18247:
Fixed coverity 113:
if (sequence)
H5MM_xfree(sequence);
r18248:
Coverity issue #414 by checking for NULL return from setup_cache() (LK & QK)
r18249:
fixed coverity 274: moved H5FL_FREE(H5A_t, attr); to a line above so that if
attr is null, it will not free it.
r18250:
Fix coverity issue #86.
Check return of malloc function to ensure non-null before continuing.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & production)
(h5committested in daily tests on branch)
Larry asked me to revert an accidental change he made on Friday.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & production
(too minor to require h5committest)
Bring r18252 from trunk to 1.8 branch:
Rename test macros that are [nearly] identical to source code macros to
have "TEST" in their names, to avoid conflicts during compilation. (And add
comment to originals in source code, to keep them in sync).
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & production
up041 machines (at Sandia)
Bring r18230 from trunk to 1.8 branch:
Bring r18229 from metadata journaling "merging" branch into trunk:
Bring r18227 from metadata_journaling branch to the merging branch:
Small cleanups and move v1 cache maintenance macros into package header
file, to better align with changes to v2 cache.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r18244 from trunk to 1.8 branch:
Bring revisions from Coverity session from hdf5_1_8_coverity branch to
trunk:
r18214:
Issue 423: cache_ptr was not initialized. if global 'pass' was false,
cache_ptr could be used. Extended scope of if(pass) block to include whole
function-flush_cache().
r18215:
Fix coverity item 317. Removed unreachable code in H5B2_hdr_alloc.
r18216:
Fixed Coverity issues 57 & 67. Checked oid_count > 0 before memory allocation
and oid_list != NULL before dereferencing.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & production
(daily tested on Coverity branch already)
Bring r18205 & r18222 from trunk to 1.8 branch:
Add new H5Oexists_by_name() routine.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & production
(daily tested on trunk already)
Bring r18212 from trunk to 1.8 branch:
Bring revisions from Coverity fixing branch to trunk:
r18184:
Fixed Coverity issue 373. Allocated memory freed in line 762 in case of error.
r18185:
Fixed Coverity issues 357 & 358. Added check for NULL pointer before use.
r18186:
Fix coverity item 65. Added code to h5unjam to correctly handle failures in
read() and write, and also to correctly handle writes that write less than
requested.
r18187:
Fix coverity items 115 and 116. Added code to H5Tenum.c to correctly close
opened datatypes in case of failure.
r18188:
Fixed Coverity issue 46. Check that dataset->shared is not null when freeing
memory after error.
r18190:
Fix coverity item 95. Added code to H5T_create_vlen to correctly close
allocated datatype in case of failure.
r18191:
Fixed Coverity error 59. Checked sfirst for -1 value before use in line 10533.
r18192:
Fix Coverity items 121 and 28
Added Asserts:
121: assert that all dimensions of count have values greater than zero.
28: assert curr_span pointer is not null before dereference.
Note: still need too add checks in hyperslab APIs that fail
when count values are zero, and appropriate tests.
r18194:
Fixed Coverity issues 61 & 62. Checked variable snpoints for value < 0 in line
218.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & production
(already daily tested on coverity branch)
Removed assert() statement when HDrealloc() returned NULL in H5MM_realloc().
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug
(too minor to require h5committest)
a bug report (#1608) saying h5repack failed to do that sometimes. But I couldn't reproduce it.
So I added this test and closed the report. The test is in the function test_copy_dcpl in dsets.c.
Tested on jam, amani, and linew.
The previous implementation did not work for WIndows.
Moved the macro definition of HDGetTestVerbosity from testhdf5.h
to h5test.h.
Removed as much as possible macro definitions that use HDGetTestVerbosity
directly.
Tested: Jam (serial and parallel). Did not run h5committest since this
is a trival change that is portable.
Bring r18171 from trunk to 1.8 branch (with appropriate tweaks):
Bring r18169 from 'merge_metadata_journaling' branch back to trunk:
Converge changes on metadata_journaling branch and trunk:
- Remove H5F_t* parameter from H5HL_unprotect()
- Remove H5F_t* parameter from H5HL_dirty()
- Remove H5F_t* parameter from H5O_unprotect()
- Bring changes to metadata caching routines back:
- H5AC_pin_protected_entry()
- H5AC_resize_pinned_entry()
- H5AC_unpin_entry()
- H5AC_mark_pinned_entry_dirty()
- H5AC_mark_pinned_or_protected_entry_dirty()
- Revise internal H5C routines to drop H5F_t* and/or H5C_t* as
parameter where possible
- Revise tests to follow internal routine changes
Also, other minor changes to speedup the 'cache' test.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.2 (amazon) in debug mode
Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
Bring r18159 from trunk to 1.8 branch:
Bring Coverity fixes from 1/22/10 session to trunk:
r18137:
219: Initialized hid_t to -1 and added close to error block.
189-191: Initialized line to NULL and added free line, and close fp to error block.
r18138:
19: Moved code block for printing that the number of enums is empty to the error block. (Would never have been executed otherwise)
r18139:
Fix coverity item 58. Moved code related to displaying the parent of a repeated
group to the else(isRoot) section, as the root group has no parent.
r18140:
218: Initialized ret_value variable to -1. Because of throw Exception in default case of switch, the coverity problem would not have executed anyway. Good pratice is to initialize variables.
r18141:
Fix coverity item 92. Added code to H5E_register_class to free cls in case of
an error.
r18142:
Fix coverity item 91. Added code to H5E_create_msg to free msg in case of an
error.
r18143:
fixed issue 14,
took away "if" and used #ifndef_xxx.
r18144:
Fix coverity item 110. Added code to H5Eget_minor to free msg_str in case of
an error.
r18145:
fixed coverity #18 removed "aligned", it is always NULL.
r18146:
Fix coverity item 109. Added code to H5Eget_major to free msg_str in case of
an error.
r18147:
Fixed coverity #81 and #82, Check for bad pointer(s), but can't issue error, just leave
r18148:
Fix coverity item 97. Added code to H5FD_fapl_open to free copied_driver_info
in case of an error.
r18149:
Fix coverity item 96. Added code to H5FD_dxpl_open to free copied_driver_info
in case of an error.
r18150:
Fix Coverity issue #29: Protected cache_ptr dereferences with "if(pass)"
block
r18151:
Fix coverity item 93. Added code to H5FL_fac_init to free factory and new_node
in case of an error.
r18152:
Fix coverity items 98 and 99. Added code free allocated space in case of
error.
r18155:
124: Freed head pointer before jumping to done. There was no error handling block and normal exit used same path out.
120-123: Freed list of lists in error handling block.
r18156:
Fix coverity issues 179, 180, 181, 182, 183, 184, 186, 320, 407. These were resource leak issues where allocated memory was not freed, generally in the case of tests that failed.
Tested on:
Mac OS X/32 10.6.2 (amazon) debug & production
Bring r18157 from trunk to 1.8 branch:
Bring back changes from Coverity session on 1/15/10:
r18111:
Fix Coverity issue #130: make certain that the cache gets freed on error.
r18112:
Fix Coverity issue #43 by making cache testing calls protected by 'pass'
variable.
r18113:
Fix Coverity issue #129 by releasing the cache on error.
r18115:
Coverity #45 fix: patched an error check in H5Screate_simple to prevent future dereferencing of a NULL point.
Added a verification in test/th5s.c.
r18116:
Fix Coverity issue #43 by releasing cache on error.
r18117:
Coverity #362,363 by adding HGOTO_DONE, freeing allocations and associated changes. REsolving coverity results #364-368, 369, 370-372, 377, 379, and 380.
r18118:
Fix Coverity issue #42: assert that cache & test specification pointer are
valid.
r18122:
Coverity #362,363 by adding HGOTO_DONE and freeing allocations. This also takes care of #357,358.
r18123:
Coverity #359-361, 373-376: Added HGOTO_DONE(FAIL) statement after checking allocation for NULL. Verified allocation is freed in done block.
r18128:
Fixed coverity issue #10 -- removed dead code.
Tested on:
Mac OS X/32 10.6.2 (amazon)
GetTestVerbosity() is called many times during tests. Implemented a more
efficient macro version HDGetTestVerbosity.
Tested: Jam (serial and parallel). Did not run h5committest since this
is a trival change that is portable, I am 99% sure.
Additional fix relted to the fix of bug1672.
Description:
The fix of bug1672 caused some changes of output which required modifying
some test cases. After some discussion, restoring the changes of the test
cases was decided. After many experiments for the solution, this fix was
made so the code which improved performance can stay.
Tested on Jam.
Fix for bug1749: Incorrect code in diff() function for links compare
Also removed duplicated redundant code, which improves performance.
Description:
When comparing file1 to file2 and both files contain same soft-links and/or
external-links, if file2's target object path name is longer than file1's
target object path name, the current code allocates memory buffer
incorrectly, so it could end up buffer overflow or wrong result.
Tested on Jam.
Bring r18109 from trunk to 1.8 branch:
Bring r18076-18096 from hdf5_1_8_coverity branch to trunk:
r18076:
Correct Coverity issue #1 by removing dead code
r18077:
Fix coverity item 142. When an error occurred while copying a linked list in
H5S_point_copy, the library would not free the partially allocated list. Added
code to free the list in this case.
r18078:
Correct Coverity issue #2 by removing impossible to reach code.
r18079:
Correct #3 by removing impossible to reach code.
r18080:
Correct Coverity issue #4 by removing impossible to reach code.
r18081:
fix coverity 26 , check (dblik->parent) before calls H5HF_man_iblock_detach().
r18082:
Fixed coverity issues 321 and 316.
321: freed sm_buf in error handling to remove resource leak.
Also set sm_buf to NULL after other instances in which
it is freed to prevent double free.
316: initialized nmembs to 0.
r18083:
Correct Coverity issue #6 by removing debugging knob from error reporting code.
r18084:
Fix coverity item 269 + others. When a error occurred in a function using the
h5tools error framework, the "past_catch" variable would not be set to true
because that statement was before the label that goto jumped to. This could
cause a failure in the cleanup section to go back to the start of the section,
freeing variables twice, etc.
Moved the label infront of past_catch=TRUE.
r18085:
fixed coverity #27, check if (heap) before use heap->obj....
r18086:
fixed coverity #28, check curr_span not null before use it at if(curr_span &&
(io_bytes_left==0 || curr_seq>=maxseq))
r18087:
Correct Coverity issue #7 by cleaning up correctly on error
r18088:
Correct Coverity #8 by removing unchanged variable checking code.
r18089:
Correct Coverity issue #9 - remove impossible to reach code.
r18090:
Correct Coverity issue #11 by removing impossible to reach code. Also clean
up some minor style issues.
r18091:
Fix coverity items 314 and 318. Changed the improper assertion of the return
value of a library function to a check, and a return(void) on failure.
r18092:
Fix coverity item 70. Changed the improper assertion of the return value of a
library function to a check, and a return(void) on failure.
r18093:
Correct Coverity issue #12 by removing dead code.
r18094:
Correct Coverity issue #16 by removing debugging code.
r18095:
Fixed coverity issue # 271.
Removed redundant checking and freeing of sm_buf1 and sm_buf2.
r18096:
Correct Coverity issue #17 by refactoring test to remove dead code.
Also, removed previous "coverity" statements in comments, we'll review
those issues again and see if we can figure them out, now that we have more
experience with Coverity.
Tested on:
Mac OS X/32 10.6.2 (amazon) debug & prod
The mixed use of RUNTEST (original) and RUNTESTS (new) caused
confusion. E.g., the timings in test/ was still using the old
$RUNTEST. It made more sense to use $RUNTEST which is used
by the dejagnu feature of automake. So, I changed all
$RUNTEST or $RUNTESTS to $RUNEXEC.
config/commence.am & config/conclude.am are the two files
that got changes. Also fixed an error in test/Makefile.am.
The rest are changed by bin/reconfigure.
Tested: h5committested.
h5tools error framework, the "past_catch" variable would not be set to true
because that statement was before the label that goto jumped to. This could
cause a failure in the cleanup section to go back to the start of the section,
freeing variables twice, etc.
Moved the label infront of past_catch=TRUE.
Tested: Fedora
321: freed sm_buf in error handling to remove resource leak.
Also set sm_buf to NULL after other instances in which
it is freed to prevent double free.
316: initialized nmembs to 0.
Bring r18072 from trunk to 1.8 branch:
Bring r18071 from metadata journaling merge branch:
Refactor local heap routines with changes from metadata journaling
branch, along with other misc. changes as the changes on the metadata journaling
branch are being converged with the current state of the trunk.
Tested on:
Mac OS X/32 10.6.2 (amazon) debug & prod
Linux/64 2.6 (amani) prod
FreeBSD/64 (liberty) prod
trunk in r17751, but was not ported to 1.8 because that feature (compress group
fheap) had not beed added to 1.8 yet. This fix should have been ported to the
cgfh branch at the time, but it was overlooked.
Tested: Fedora (too small for commit test)
Bring r18045 from trunk to 1.8 branch:
Slush changes back & forth between trunk, the merging branch and the
metadata journaling branch to level them out to a reasonably common set of code
to work from for the next set of more significant changes.
Tested on:
FreeBSD/32 6.3 (duty) w/debug
(h5committested on trunk)
Bring r18039 from trunk to 1.8 branch:
Minor code cleanups, to align better w/ongoing metadata journaling
convergence.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug
(too minor to require h5committest)
Bring r18037 from trunk to 1.8 branch:
Bring r18035 from merge_metadata_journaling branch to trunk:
More "brush clearing" convergence between metadata_journaling branch
and the trunk.
Tested on:
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
(h5committested on trunk)
Bring r18031 from trunk to 1.8 branch:
Bring r18030 from merge_metadata_journaling branch to trunk:
Bring "brush clearing" changes (whitespace & style issues, mostly) from
metadata_journaling branch to the "merging" branch, to converge the trunk and
the metadata_journaling branch.
Also, some other minor cleanups along the way.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
(h5committested on trunk)
(The test is in test_exit_definitions.) Their document says
it's supposed to be 2. I commented it out for further
consideration.
Tested on jam - simple change.
Bring r18011 from trunk to 1.8 branch:
Bring Coverity changes into the trunk: (also other minor cleanups)
r17991:
Fix Coverity items 175 and 176. Fixed memory leak on error in print_enum in
H5LT.c.
r17993: (r17992 was not a Coverity change)
Close Coverity issue #206: inconsistently checking whether dt->shared was
non-NULL after H5T_alloc() returned a valid 'dt' value (which should guarantee
that dt->shared is valid).
r17994:
Fix Coverity item 149. Fixed file handle leak on error in H5FD_stdio_open.
r17995:
Fixed Coverity issues 154 to 161:
Added H5MP_close routine to error handling in the event *mp has not been
freed before error.
r17996:
Close Coverity issue #126: potentially leaking merged_spans on routine failure.
r17997:
Fix Coverity items 147 and 148. Fixed resource leaks on error in H5FDloc.c.
r17998:
Coverity issue 269-272:
Added integer result variable to functions that could return negative.
Assigned to unsigned after checking.
Added H5E_BEGIN_TRY block around H5Tclose and removed H5E_THROW in the
catch block.
Checked buffer is NULL before free. Changed HGOTO_ERROR outside of the if
block to H5E_THROW.
r17999:
Close Coverity issue #127: release temporary spans in more generic manner.
(Also add error checking to previous fix)
r18000:
Resolved Coverity issues 211 and 212 in H5T.c. Added comments to ignore
Coverity warning regarding not checking pointer for NULL, as we are using
an assert which catches the issue.
r18001:
Fix Coverity item 146. Fixed resource leak on error in H5O_layout_copy.
r18002:
Fix Coverity items 143 and 145. Fixed resource leaks on error in
H5D_compact_copy and H5D_contig_copy.
r18003:
Close Coverity issue #192: close file on error
r18004:
Fix Coverity issue #125: release temporary spans on error
r18005:
Resolved Coverity issues 5, 25, and 83 (in H5T.c):
Separated embedded functions in order to check for NULL on return of
H5I_object before passing into H5T_copy.
Check to see if new_dt is NULL within error handling before
dereferencing it.
Ignore Coverity's dead code warnings as the checks that lead to the code
are machine dependent.
r18006:
Coverity 63,70,73: Checked result of function before assigning to an unsigned
variable.
r18007:
Coverity 78,79: added continue statement if H5Pget_filter2 returns negative.
r18008:
Fixed Coverity issue # 138:
Added support in error handling to free dst pointer (if allocated) on error.
r18009:
Whitespace & coding style cleanup
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & production
(h5committested on trunk)
Bring r17981 from trunk to 1.8 branch:
Abstract "print header" code into separate routine.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug
(too minor to require h5committest)
Bring r17980 from trunk to 1.8 branch:
Bring Coverity changes into the trunk: (also other minor cleanups)
r17955:
Fix Coverity item 24. Add missing error condition to
H5AC_ext_config_2_int_config.
r17956:
Fix Coverity item 24. Improve error checking in H5A_compact_build_table_cb.
r17957:
Fix Coverity item 150. Fix warning in H5A_compact_build_table_cb.
r17958:
Fix Coverity item 117. Fix error handling in H5B_shared_new.
r17959:
Fix Coverity item 209. Added an assertion for leaf->shared in
H5B2_cache_leaf_dest.
r17960:
Fix Coverity item 208. Added an assertion for internal->shared in
H5B2_cache_internal_dest.
r17961:
Fix Coverity item 89. Reworked the code to avoid array overrun in
H5C__autoadjust__ageout__insert_new_marker.
r17962:
Fix for coverity Resource_leak 195,203,204,205.
r17963:
Fix Coverity item 44. Prevented potential NULL dereference in H5D_btree_debug.
r17964:
Fix Coverity issues #197, 198 & 199: memory not being released. (Also
clean up other resource leaks in nearby and/or similar code).
r17965:
Fix Coverity issue #151: release resources on error
r17966:
Fix Coverity issue #187: Remove leftover code remnant from prior bugfix
which was causing resource leak of open files.
r17967:
Fixed Coverity issues # 193 & 194. Removed unnecessary memory allocation and
added comparison of length of path parameter to the size of the destination
buffer in h5import.h/h5import.c.
r17968:
Fix Coverity item 144. Fixed memory leak on error in H5D_chunk_copy.
r17969:
Fix for coverity Resource_leak #196.
r17970:
Coverity 167-173:
Initialized pointer of buffers.
In error handling, closed types and free memory.
Tested on:
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
(h5committested on trunk)
Bring r17978 from trunk to 1.8 branch:
Simplify checking for detecting variable-length strings.
Tested on:
Mac OS X/32 10.6.2 (amazon) debug & production
Too minor to require h5committest
compound type, it says it's a VL type. We want to tell user a VL string is a string. But
internally we treat it as a VL type. I added a flag as a parameter of H5T_detect_class. It
tells whether the caller is the public function H5Tdetect_class. I also added a detection for
VL string in the private function for the compound case (or array or nested VL type).
Tested with h5committest.
Bring r17971 from trunk to 1.8 branch:
Allow the core VFD to properly support opening backing store files through
symbolic links and have the external links in the file be treated in the same
way as for the sec2 driver.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r17953 from trunk to 1.8 branch:
Bring Coverity changes into the trunk:
r17877:
Error 266: Uninitialized memspace set to -1. Changed malloc and free to HDmalloc and HDfree. Removed unused dtype var.
r17878:
Error 265: Uninitialized mem_space set to -1. Changed malloc and free to HDmalloc and HDfree.
Error 267: Uninitialized smspace set to -1. Changed malloc and free to HDmalloc and HDfree.
r17879:
Error 242: Uninitialized aid set to -1.
Error 243: Uninitialized sid set to -1.
Uninitialized tid set to -1 for consistency
r17880:
Error 242: reinitialized aid to -1 after close to be ready for reuse.
Error 243: reinitialized sid to -1 after close to be ready for reuse.
reinitialized tid to -1 for consistency after close to be ready for reuse.
r17881:
use valgrind to check there is a memory leak. The fix is to free ptrstr in line 5838 at xml_dump_group() of h5dump.c after it is used. run the valgrind after the fix, no memory leak for that part of the code.
r17882:
Fix Coverity items 256 and 269.
r17883:
Error 222-230: initialized hid_t vars to -1 after close to be ready for reuse.
Also added H5Tclose for tid in gent_bigdims
r17884:
Bug fix (Coverity run2, view 23, dead code)
(this is pair-program done by Albert, Elena and Larry).
Confirmed and fixed the deadcode in hyperslab read branch of function
diff_datasetid.
(Discovered other bad code that diff_datasetid() should be recoded.
Bug 1693 is entered for this.)
r17906:
Fix Coverity item 260.
r17907:
262: Initialized hid_t's dtype, dtype_tmp and file to -1. Initialized H5T_t * dt to NULL.
r17908:
Fix Coverity item 261.
r17909:
Fix Coverity item 248.
r17910:
Revise fix for Coverity item 248.
r17911:
Resolved coverity issues #s 263, 162, 163, 164. All issues in dsets.c. Initialized fid and did hid_t's. filter_corrupt function was returning in the middle of an if statement, bypassing free calls. Updated error handling to free buffers and hid_t's appropriately.
r17912:
(done by Larry and Albert)
Cleanup Coverity view warnings (#231-241) about
using uninitialized variables. Initialized all
of them.
r17913:
Resolved issue 251 and 264. Initialized tid2 to -1 and initialized buffers that were freed in case of an error.
r17914:
Resolved coverity issues 66, 220, and 221:
66: Negative Return assignment ignored
220,221: Initialized hid_t's.
r17915:
Fix Coverity item 247.
r17916:
Fix Coverity item 246.
r17917:
Fix Coverity item 245.
r17918:
Fix Coverity item 244.
r17919:
Coverity Issue #84: Moved asserts in H5T_cmp to the top of the function, and converted them to HDassert. Coverity complaining about using potentially NULL pointer without checking it. Want to see if Coverity will accept Assertions as acceptable checking before using the value.
Tested on:
FreeBSD/32 6.3 (duty) w/debug
(h5committested on trunk)
Bring r17951 from trunk to 1.8 branch:
Skip symlink test for external links when not using the sec2 VFD.
Tested on:
Mac OS X/32 (amazon) w/various VFDs
(too minor for h5committest)
Bring r17943 from trunk to 1.8 branch:
Finish refactoring v2 B-trees so that they can have client callback
context provided to the encode/decode callbacks.
Tested on:
FreeBSD/64 6.3 (liberty)
(h5committested on trunk)
Bring r17939 from trunk to 1.8 branch:
Handle external links from symlinked files by adding another check to
look for "child" files for links from the actual location of the "parent" file,
instead of from the location of the symlink.
Tested on:
FreeBSD/32 6.3 (duty)
(h5committested on trunk)
Fix potential problem similar to Bug1672 (getting garbage values)
Description:
This will resolve the potential problem like Bug1672 when comparing
attributes. It improves the performance by not calling diff_array
twice. (diffing time in half). Little clean up on comment lines.
Refer to the Bug fix 1672. (svn revision 17921 on 1.8 branch)
Tested on:
linux32 (jam) , linux64 (almani), solaris (linew)
Added the xlc-* and mpcc_r-* BASENAME patterns to be recognized as IBM
compilers so that the ibm compiler options can be added properly.
This allows non-system-default compiler command names (e.g. xlc-m.n.k.l)
be recognized.
(need to figure out a better way to recognize it is an IBM compiler
and its version information.)
Tested: LLNL AIX machine.
Bring r17924 from trunk to 1.8 branch:
Add detection for POSIX lstat() routine to configure script (mostly for
non-UNIX/Linux machines) and add macro wrapper for it.
Alphabetatize the system/library calls we test for, to make them easier
to read.
Removed the sigaction() detection & macro wrappers, since it's not
used by the distribution currently.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r17922 from trunk to 1.8 branch:
Improve error reporting for read/write failures.
Tested on:
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
(h5committested on trunk)
Fix Bug1672 - Display garbage value on LE machine for BE data.
Description:
Casuing by calling diff_dataset twice when -r or no option was given.
Change to call it once which fix the problem.
It also improves the performance. (diffing time in half)
According further test, it also occurred on BE machine as well and it
seems occruing only with the BE data attached to Bugzilla.
Don't know how the file was created. Anyway this fix will prevent
from diffing with garbage values in similiar potential case.
Tested on:
linux32 (jam) , linux64 (almani), solaris (linew)
Bring r17893 from trunk to 1.8 branch:
Remove old shim H5B2 routines from refactoring, rename new routines to
old routine names and switch all users of the H5B2 interface back to the old
routine names now that the switch to using the more current open -> <operation>
-> pattern is used for all the H5B2 code. This is the final change before
adding a context to the H5B2 client encode/decode callbacks.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r17891 from trunk to 1.8 branch:
Switch the shared object header messages code to use the refactored
v2 B-tree routines. (this should be the interface that is using them)
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r17889 from trunk to 1.8 branch:
Switch a bunch of misc. places in interfaces that were already
converted to use the refactored v2 B-tree routines to use the refactored v2
B-tree routines.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r17887 from trunk to 1.8 branch:
Convert dense attribute storage to use refactored v2 B-tree routines.
Also fix some minor typos in the dense group handling code.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5commitested on trunk)
Bring r17885 from trunk to 1.8 branch:
Convert 'huge' fractal heap object management code to use refactored
v2 B-tree routines.
Also, switch internal representation of 'sizeof_addr' and 'sizeof_size'
in files to be uint8_t's instead of size_t's, since they are stored in single
bytes in the file format.
Various other minor compiler warning cleanups and error call tweaks.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk
Bring r17873 from trunk to 1.8 branch:
Change dense group storage to use refactored v2 B-tree interface. Also
tweak dimension sizes for dataset in test down so it doesn't blow out the stack.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r17863 from trunk to 1.8 branch:
Switch HSYS_GOTO_ERROR() & HSYS_DONE_ERROR() macros to use printf-like
functionality for displaying system error messages.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.2 (amazon) in debug mode
Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Bring r17860 from trunk to 1.8 branch:
"Normalize" object names for external links, making them into the same
form as used for soft links.
Begin the process of adding more printf-like information to library
error reporting. HGOTO_ERROR() and HDONE_ERROR() macros can now use the last
parameter (a string) like a printf() formatting string and pass extra
parameters with additional information. (For example, see the HGOTO_ERROR
macros in H5FD_sec2_read() in src/H5FDsec2.c)
Bring the underlying H5E_printf_stack() routine from trunk to 1.8
branch also.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.2 (amazon) in debug mode
Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Bring r17848 from trunk to 1.8 branch:
Further refactoring v2 B-trees so that they can get context to the
encode/decode client callbacks:
- Switch tests to using refactored routines
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.1 (amazon) in debug mode
Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Bring r17842 from trunk to 1.8 branch:
Further refactor v2 B-tree code toward being able to pass context info
down to encode/decode client callbacks:
- Separate H5B2_create call to return H5B2_t structure
- Make loading the v2 B-tree header pick up the client class from the
ID stored in the file. Simplify some internal API calls as a
result.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.1 (amazon) in debug mode
Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Bring r17838 from trunk to 1.8 branch:
Further refactoring of v2 B-tree code, moving toward being able to pass
a context information to a client's encode/decode callbacks.
Also, clean up of other minor compiler warnings and code formatting
issues.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.1 (amazon) in debug mode
Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Some systems, like AIX poe, interpret exit(134) the same as if the process has
really been interrupted by the abort signal and prints extra messages that
confuse test script which is looking for matching output.
Solution:
Changed it to exit(6) which still has the "appearance" of an abort signal which
carries the value of 6 in Unix systems.
Tested: LLNL Up both serial and Parallel.
Bring r17749 & 17785 from trunk to 1.8 branch:
17749:
Refactor v2 B-tree code to bring it further in line with how the fractal
heap code works, to make forthcoming modificaions easier. Also minor tweaks to
the fractal heap code to clean it up a bit more also.
17785:
Further refactor v2 B-tree code to bring it closer to modern data
structure designed in the library, mainly by introducing a H5B2_t type so that
the v2 B-tree could be held open, but not require the B-tree header to be
protected the whole time. A few other minor tweaks as well.
Also, remove unused 'dirty' flag from fractal heap header.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.1 (amazon) in debug mode
Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
TOOLTEST file_space.ddl -B file_space.h5
by accident (copied from the trunk version).
Removed it.
Tested: jam. (skipped h5committest since it is
a trivial change of removing an action line.
The file_space.ddl and file_space.h5 do not exist
in this branch. (that was how I discovered my mistake.)
h5cc link-line reordering
Description:
Re-ordered flags in h5cc such that LDFLAGS appears after hdf5 library
include path. This is to ensure third party library locations don't
interfere with locating the correct version of hdf5 library.
I have Elena's permission to bring into 1.8 before anything else (so it
can be tested via daily tests ASAP), though the hope is to propagate
everywhere.
Tested:
quickly by hand on jam, daily tests should catch elsewhere.
Tests to verify the bug fixed are installed.
Test: v1.8.4 passed all tests on
Jam (default and with --disable-depreacted-symbol), Amani (v16API),
Linew (default).
This should be good for v1.8 too.
Description:
H5HG_load made improper assumptions about the ordering of object indices, namely
that they are in order. Not only is this not guaranteed by the file format
spec, but this condition can be violated if id's "wrap around" which can happen
when overwriting VL data. H5HG_load has been fixed to handle any order of
indices. Also fixed some other bugs involving allocation of global heaps in
memory.
Tested: jam, linew, amani (h5committest)
Description:
The H5TB API makes some improper assumptions about the order of compound
datatype members. Namely, it assumes that members remain in the order in which
they were inserted. Unfortunately, this assumption is inherent in the design of
the interface. The library has been patched so that this assumption holds in
situations relevant to H5TB.
Tested: jam, linew, amani (h5committest)
Description:
Calling H5Tcommit_anon on a file with read only access would cause an
assertion failure. Added a check to H5T_commit to return a failure in
this case. Removed redundant check in H5T_commit_named.
Tested: Fedora 11 (very minor change)
Description:
Calling H5Tcommit1 or H5Tcommit2 on a file with read only access would cause an
assertion failure. Added a check to H5T_commit_named to return a failure in
this case.
Tested: Fedora 11 (very minor change)
Bring r17740 from trunk to 1.8 branch:
Refactor v2 B-tree code to take creation parameters to H5B2_create() as
a struct (instead of individual arguments), call the client's class "cls"
instead of "type" internally, and add client class name to client class struct.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.1 (amazon) in debug mode
Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Bring r17737 from trunk to 1.8 branch:
Fix error in dataset's chunk index v1 B-tree debugging code to correctly
pass userdata down to B-tree cache load routine.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.1 (amazon) in debug mode
Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Bring revisions 17649, 17657 and 17658 from trunk to 1.8 branch:
17649: Refactor v2 B-trees to pin the B-tree header in the cache instead
of using separate reference counted data structure.
17657: Refactor the v2 B-tree code to use an open & close call
internally, in preparation for making those part of the library
private APIs for dealing with v2 B-trees.
17658: Rename 'H5B2_t' -> 'H5B2_hdr_t' and 'bt2' -> 'hdr' in preparation
for make v2 B-tree open/close routines library private (instead
of static).
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.1 (amazon) in debug mode
Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
===
The following patch to h5copy.c on or near line 173 makes the
tool substantially more useful...
*flag = (*flag) | fla;
Because the command-line option parsing permits multiple '-f' arguments,
this will have the effect of or'ing the flags together so one can do
someting like....
~/tmp/hdf5-1.8.1/tools/h5copy/h5copy -i multi_ucd3d.h5 -s block5 -o gorfo -d foo
-f shallow -f soft
Mark C. Miller, Lawrence Livermore National Laboratory
email: mailto:miller86@llnl.gov
===
Also fixed to exit failure if no command option is given.
Tested: Jam
Comment says Error exit code is -1 but actual code use 1.
Changed it to EXIT_FAILURE (1) and exit(0) to exit(EXIT_SUCCESS) for
better coding.
Tested: jam.
Error exit code of -1 is illegal (exit code is unsigned).
Changed it to EXIT_FAILURE (1).
Also changed exit(0) to exit(EXIT_SUCCESS) for better coding.
Tested: jam.
Description:
Fixed CommonFG::getComment and CommonFG::getLinkval to provide
default values for buffer size to improve usability.
Added test file tlinks.cpp, which only contains test for getLinkval
and will expand when C++ wrappers for H5L functions are implemented.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
The error started out as an erroneous test of using v16 API via
source code. (See bug 1264). It was implemented as:
#include "hdf5.h"
#define H5_USE_16_API
That was incorrect and generated warnings in Linux but error in AIX
for redefining macro H5_USE_16_API.
I corrected it yesterday to pass AIX by moving H5_USE_16_API up as:
#define H5_USE_16_API
#include "hdf5.h"
This is the proper way to turn on v16API and it passes all normal
tests. I knew it would not work if somehow v16API is disabled
but hoping it can be fixed later. Well, it broke last night
under --disable-deprecated-symbols.
Removed the #define H5_USE_16_API and let Raymond fix it after
the release.
#define H5_USE_16_API
was inserted AFTER #include <hdf5.>, too late was it to take
effect. Instead, it caused a macro redefinition, flagged as an error
by AIX.
Fixed by moving it before the <hdf5.h>.
Tested: Jam.
Configure Cleanup
Description:
Make all AM_CFLAGS visible in CFLAGS during configure so all checks
have full visibility of any set flags.
Tested:
h5committest
-qmoddir=. because -qmoddir defaults to current directory already.
-static because it is not mentioned in "man xlf". Don't know it was a typo
or just an obsoleted option.
Removing both of them produced no ill or visible effects.
Tested: Up of LLNL
added a signal handler to the tcheck_version to intercept the abort signal from
H5check_version. Some systems would prints extra messages and/or core dump if
the abort signal is not handled. This eliminates those unwanted side effect.
Tested: h5committested.
The file failed to compiled in AIX which flags syntax error.
Fixed by making the statements more explicitly compare with NULL
and added a missing trailing semi-colon.
Tested:
Tested in AIX (Up at LLNL) only. The changes are trivial and should
be portable to all platform.s
configure cleanup
Description
1. Removed check that disables shared libraries when pgcc is used. Apparently
they previously did not work with libtool 1.5.14 and on mir, neither of
which is in use anymore. Testing on jam and amani appear fine, so this
check is unnecessary.
2. Removed check that disables shared C++ libraries when -xarch is used to
enable 64 bit mode. We now use m64 flag to build 64 bit binaries, so
we shouldn't explicitly disable shared C++ libraries if -xarch is
discovered.
3. Removed old configure output summary section from configure.in, since
we now use the libhdf5.settings file.
4. Updated powerpc-ibm-aix5.x config file to once again put c99 flag into
H5_CFLAGS (and thus NOT get into h5cc), as decided in our dev meeting.
Tested:
h5committest
full build with pgcc on jam / amani
xlf90 and mpxlf90_r respectively. The fortran 90 compilers support
free format source files. This allows the removal of -k so that
the default compiler command is cleaner.
Tested: AIX Up at LLNL.
(Note: mpxlf90_r does not work but this could have been an undetected
old problem.)
Platforms tested: jam (trivial change)
Note: Most of the Fortran compilers create module files with "mod" extension.
In the past, I believe, there were systems (Cray?) that used different
extensions. We should add those to the current fix when we find them.
Merge from Trunk
Description:
Merging all of my CFLAGS-related changes from trunk to 1.8
This includes revision #s: 17616, 17625, 17627, 17639, and 17643.
Tested:
h5committest and some additional checks on our FreeBSD as well
as NCSA's machines.
Bring r17624 from trunk to 1.8 branch:
Don't allow reads to change or add to the metadata accumulator, since
they might be speculative and could bring raw data into the metadata
accumulator.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.1 (amazon) in debug mode
Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
There was a typo in the H5Pget_preserve that it was returning the wrong value.
Fixed. Also added a test in test/cmpd_dset.c to verify the correctness of
H5Pset_preserve and H5Pget_preserve.
Tested:
h5committest plus jam serial.
Bring r17604 from trunk to 1.8 branch:
Correctly invoke generic property list class callbacks all the way to
the root of the class hierarchy.
Tested on:
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
(h5committested on trunk)
The ph5diff tests printout incorrectly reporting they are running
h5diff when it actually is running ph5diff.
Fixed.
Tested: Jam (parallel), linew (serial)
No H5committest since it is a shell script and Jam tests both
serial and parallel h5diff for Linux while Linew tests Big
endian platform.
Bring r17599 from trunk to 1.8 branch:
Minor code cleanups, based on cleanups in the compress_group_fheap
branch.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Fixed bugzilla #1061
Description:
Added a check for NULL before accessing a pointer
Also, removed a few warnings about returning values
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
Description:
When copying a dataset using a vlen inside a compound, the various dataset
copying callbacks would allocate a background buffer but would not use it when
converting from disk to memory, only memory to disk. This caused an assertion
failure as compounds always need a background buffer. These callbacks have
been modified to use the background buffer for both conversions.
Tested: jam, linew, smirom (h5committest)
Bring r17573 from trunk to 1.8 branch:
Fix several errors in code, which was not compiling... :-(
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Makefile Bug Fix
Description:
Added $(EXEEXT) extension to H5detect when it's executed to generate
H5Tinit.c so it works correctly on platforms that require the full
extension when running executables.
Tested:
h5committest, mingw, and user-verified (via submitted patch).
Configure Fix
Description:
Modified configure to set FC and CXX to "no" when fortran and c++ are
not being compiled, respectively. This will prevent configure from running
some checks on these compilers when they are not being used.
This fixes a problem that was occuring when FC and/or CXX are set to
a nonexistant or invalid compiler. Even if the languages were disabled,
a libtool test would fail, thus preventing libtool from properly linking
any libraries, yet configure would not flag an error message due to this
because the languages were disabled.
Tested:
- h5committest (jam, smirom, linew)
- manually eyeballed configure output and logfile.
Correct compile warnings and rename fiels to match the rest of the
test files in this directory.
Note: this is currently failing for srcdir builds!
Tested on:
FreeBSD/32 6.3 (duty)
Bring r17553 from trunk to 1.8 branch:
Bring general fixes/improvements from file_free_space branch back to
trunk.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.8 (amazon) in debug mode
Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
r17543 | acheng | 2009-09-28 23:43:22 -0500 (Mon, 28 Sep 2009) | 8 lines
New test: (Bug ID 1656):
Add new tests (tcheck_version, testcheck_version.sh) to verify H5check_version()
does issue warnings and abort accordingly.
Changed H5check_version() to suppress the warning message totally if
$HDF5_DISABLE_VERSION_CHECK is 2 or higher. (Old behavior treated 3 or higher
the same as 1, that is to print a warning and allows the program to continue.
Tests:
H5committed tested plus jam serial tested.
Description:
H5Ppublic.h listed H5Pget_filter_by_id1 and H5Pget_filter_by_id2 as returning
H5Z_filter_t, when in fact they return herr_t. The header file has been
corrected to indicate that they return herr_t.
Tested: jam
Description:
At several places in H5Pint.c properties were being compared using memcmp, not
using the registered "cmp" callback. This could cause memory checkers to
report uninitialized memory errors, and could conceivably cause runtime errors
if memcmp reported false equality (for example if a value pointed to by the
property changed).
The code has been changed to always use the cmp callback. Tests have been added that check this in all the places that previously used memcmp.
Tested: jam, linew, smirom (h5committest)
Bring r17524 from trunk to 1.8 branch:
Switch to using system call wrapper macros instead of "raw" system calls.
Tested on:
Mac OS X/32 10.5.8 (amazon) w/debug & production
(too minor to require h5committest)
Add backward compatibility test to make certain that the 1.8 library
handles encountering a file with a fixed array chunk index gracefully.
Tested on:
FreeBSD/32 6.3 (duty) w/production
(too minor to require h5committest)
sure the stat function behaves as we expected. This test is skipped on some system because
the modification time from stat is the same as the last access time (We know OpenVMS behaves
in this way).
Tested on jam. I've tested the same change for the trunk on jam, smirom, and linew.
My account for OpenVMS expired. I'll test it once I have it back.
Test failed with libhdf5.so not found in MacOS which uses a different
suffix (*.dylib) for shared lib.
Solution:
Added code to setup shared lib file suffix according to OS types.
Tested:
Tejeda, jam, linew.
Description:
Build failed when embedded-info is not enabled. Fixed.
testlibinfo.sh output was ugly, did not prepare the case of embedded-info
not enabled. Fixed. Also changed NOT to test test binary even if static-exec
is enabled.
Tested:
jam (with and without embedded-info enabled). Did not test in other
platforms since these were script changes that are platform independent.
Stage 2 implementation of embedded library information feature.
H5.c: added code to print the embedded library information when there is
a library versions mis-match occurs. This ensures the library information
string is included in the executable.
Also modifies the code so that the Library mismatch warning string is
included only once in the executable.
H5private.h:
Added a global reference to the libinfo string variable to prepare
for possible stage 3 implementation of a public API.
test/testlibinfo.sh.in:
A new test added to verify the library information is indeed included
in the executables.
configure.in:
configure:
Added entry to auto-generate test/testlibinfo.sh.
H5detect.c:
Modified the libhdf5settings generating code to allow it to insert the
strings to a file other than stdout. This maybe needed in stage 3
implementation.
MANIFEST:
updated with the newly added file of testlibinfo.sh.in.
Tested:
h5committest passed. Also passed jam in serial mode.
returned from the system function stat is the same as the last access time, making it
impossible to test whether the file is modified.
Tested on jam for the same change in the trunk - simple change.
Merged changes in the trunk/fortran to 1.8.
svn merge -r 17222:17485 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran
Brings bugfixes into 1.8 for:
Bug [1652] h5lget_info_by_idx_f missing/broken functionality
and
Bug [1653] H5_LINK_* values defined in H5f90global.f90 are incorrect
Tested: jam (ifort)
smirom (gfortran)
linew (f90)
" Use "--use-system-epsilon" for system EPSILON
" Use "-p" or "-d" for whatever user's choice of epsilon
" Use "-p 0" or "-d 0" for strict equality (same as default)
Bring r17463 from trunk to 1.8 branch:
Add another regression test for userblock+alignment usage, and correct
[another] issue with the combination. *sigh*
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r17461 from trunk to 1.8 branch:
Fix a few more problems when the user block is not aligned properly.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r17459 from trunk to v1.8 branch:
Correct bad interaction between non-zero userblocks with non-zero
alignments.
Also add some additional range checking and tests for invalid userblock
sizes.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Merge from trunk
Description:
Merged revisions 17228 and 17440 from trunk to 1.8
Specifically, this brings support of --enable-static-exec flag into 1.8
Tested:
Manually on jam, linew, smirom, liberty, plus h5committest.
Currently, there is no automatic regression test that exists due to
portability issues. Behavior is both different and undefined on certain
systems (and while 'nm' command seems to exist on all machines, behavior
is confirmed to be different on Mac, possibly others). Solution will be
to set up some sort of framework in daily tests to build statically,
remove shared paths, and verify executables can function.
Updating autotools
Description:
Bring revisions 17345 and 17357 from trunk to 1.8, specifically:
- Automake upgraded to 1.11
- Autoconf upgraded to 2.64
- bin/reconfigure script edited to use new versions (on jam), and
run to generate new configure script and Makefile.in's.
- configure.in script edited to add "_cv_" to all AC_CACHE_VAL strings
(in order to comply with new autoconf standard).
- bin/install-sh script replaced with new version as provided
by automake.
Tested:
- All issues on trunk were resolved, so only tested on jam and linew. Any
other outliers should be caught by daily tests.
Bring r17429 from trunk to 1.8 branch:
Remove unnecessary v2 B-tree 'retrieve' callback from v2 B-tree clients.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committest performed on trunk)
Bring r17408, 17411, 17412, 17413 & 17414 from trunk back to 1.8 branch:
r17408:
Move flush operation on mounted file hierarchy into H5Fmount module.
r17411:
Make H5AC_flush just flush the cache and make H5AC_dest perform the
proper parallel synchronization before destroying the cache. Also, further
discriminate between 'closing' and 'non-closing' actions in H5F_flush.
r17412:
Seperate 'flush' functionality from 'destroy' functionality at the
H5F level also.
r17413:
Remove vestigial intermediate routine for flushing file and move it
into API routine. Also, remove private, unused (now) 'H5F_FLUSH_DOWN' symbol
from public header file.
r17414:
Flush the core VFD's buffer before closing the file, also flush the
metadata accumulator before reseting it. Write the driver info message out
in the superblock flush routine more directly, instead of using wrapper
routine, since the wrapper routine won't work when the superblock is being
shutdown.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committest performed on trunk)
detects the conversion working, a macro is set. If there's problem with this conversion like
Pathscale compiler, skip the test.
Tested on jam. Need to verify it on pathscale machine.
Bring r17402 & r17403 from trunk to 1.8 branch:
r17402:
Switch from using a 'flags' parameter to the flush routine(s), to just
using a single 'closing' boolean parameter, since that's all we're doing with
the flags anyway and this makes things more obvious.
r17403:
Eliminate 'closing' flag to dataset flush routine, since all cached
dataset information has already been flushed when a file is closed and the
datasets themselves will be closed (and the dataset caches destroyed).
Skip calling more flush routines when the file is closing, in preparation
for eventual separation of the 'flush' concept from the 'shutdown the cache'
concept.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committest performed on trunk)
Bring r17400 from trunk to 1.8 branch:
Refactor H5F_flush into two routines, one which handles the recursion/
iteration necessary to handle mounted files; and one which just handles the
flush operation for a single file.
Also, remove H5F_FLUSH_INVALIDATE and switch all code to depend on
H5F_FLUSH_CLOSING.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r17393 and r17398 from trunk to 1.8 branch:
Bring back more changes from the file free space branch to the trunk. (17393)
First set of changes to move VFD 'truncate' call out of H5F_flush and defer
it until the file is closed. (17398)
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r17388 from trunk to 1.8 branch:
Correct error in freespace test which was relying on free space section
to be valid after the library had taken ownership of it (and therefore could
free it).
Also correct some checking for return values of H5FS internal routines
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committest performed on trunk)
configure.in. The Pathscale compiler on Sandia's Linux machine misinterprets the values of
unsigned long as negative during the conversion to float, when the first bit of unsigned long
is on.
Tested on jam. Need to test it on Sandia's machine.
Bring r17376 from trunk to 1.8 branch:
Make similar change to windows VFD as sec2 VFD, when converting from
a family file to a single file.
Tweak file sizes expected for parallel tests.
Tested on:
FreeBSD/32 6.3 (duty) w/debug
(h5committested on trunk)
Bring r17365 from trunk to 1.8 branch:
Final merge of changes from sblock_mdc branch back to trunk. The
superblock is now managed by the metadata cache.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committest performed on trunk)
Bring r17336 from trunk to 1.8 branch:
Bring more changes from the file_free_space branch into the trunk.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committested on trunk)
Bring r17351 from trunk to 1.8 branch:
Clean up code (to align w/future sblock_mdc branch changes), tweak
tests for [slightly] easier debugging, fix memory leak when copying chunked
datasets with I/O filters, fix memory leak of free space section when it was
exactly the right size to use for extending an existing block in the file.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committest performed on trunk)
Bring r17341 from trunk to 1.8 branch:
Tweaks to comments, to better align with changes on sblock_mdc branch
Tested on:
Just eyeballed, only tweaks to comments
Bring r17331 from trunk to 1.8 branch:
Bring back more changes from file free space branch.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committest performed on trunk)
Bring r17324 from trunk to 1.8 branch:
Bring more improvements/changes back from file_free_space branch
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committest performed on trunk)
Bring r17319 from trunk to 1.8 branch:
Bring more superblock manipulation & aggregator changes from file free
space branch.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committest performed on trunk)
t_file.c: replace the old variable, color, with a more meaningfule name of
is_old.
t_mpi.c: use the official mpi_file_delete, instead of remove, to delete a file
in MPI environment.
Tested:
Only jam in parallel as changes are trivial.
Bring r17313 from trunk to 1.8 branch:
Bring back various minor code cleanups from the file free space branch
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.8 (amazon) in debug mode
Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Bring r17302 from trunk to 1.8 branch:
Correct errors on machines (like Windows) that don't have C99 named
initializer support.
Tested on:
Mac OS X/32 10.5.7 (duty)
Windows build (by Allen)
Bring r17284 from trunk to 1.8 branch:
Remove unneccessary dest. layout information from chunked dataset copying
routine.
Tested on:
Mac OS X/32 10.5.7 (amazon) debug & production
h5committested on trunk
Bring r17281 from trunk to 1.8 branch:
Further refactoring of the dataset layout information, to separate the
storage information from the layout info.
Tested on:
Mac OS X/32 10.5.7 (amazon) debug & production
h5committested on trunk
Bring r17272 from trunk to 1.8 branch:
Finish pushing contiguous storage size from 'layout' into 'storage"
data structure.
Tested on:
Mac OS X/32 10.5.7 (amazon) w/debug & production
Too minor to require h5committest
Bring r17269 from trunk to 1.8 branch:
Refactor how serialized size of layout message is computed, slightly.
Tested on:
Mac OS X/32 10.5.7 (amazon) debug & production
FreeBSD/32 6.3 (duty) debug
Too minor to require h5committest
Clean up various compiler warnings from IRIX64 build
Tested on:
Mac OS X/32 (amazon) debug & production
(yes, I know it's not an IRIX64 system :-)
Too minor to require h5committest
Bring r17264 from trunk to 1.8 branch:
Refine how we store the chunk index address in the layout storage
structure.
Tested on:
FreeBSD/32 6.3 (duty) debug
Mac OS X/32 10.5.7 (amazon) debug & production
Too minor to require h5committest
Bring r17261 from trunk to 1.8 branch:
Refactoring dataset layout information to segregate the constant items
from the variable items (at least from a storage standpoint).
Tested on:
FreeBSD/32 6.3 (duty)
(h5committest performed on trunk)
Bring r17243 from trunk to 1.8 branch:
Refactor how the layout message is created/written/read in the
dataset's object header.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(change h5committested on trunk)
Description:
- Revised DataSet::write to pass in correct string buffer
- Added member function DataSet::getInMemDataSize() to simplify
getting the dataset's data size in memory.
- Added private functions for reading fixed- and variable-len
string data: p_read_fixed_len and p_read_variable_len.
- Added tests to write/read array of strings to datasets.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
Bring r17230 back from trunk to 1.8 branch:
Various minor tuneups noticed in working on the revise_chunks branch.
Tested on:
Mac OS X/32 10.5.7 (amazon) debug & production
full testing done on trunk before bringing change back.
Description:
Divided Attribute::read into specific private functions for fixed-
and variable-len string data: p_read_fixed_len and p_read_variable_len.
Added test to write/read array of strings to attributes.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
Description:
Divided Attribute::read into specific private functions for fixed-
and variable-len string data: p_read_fixed_len and p_read_variable_len.
Added test to write/read array of strings to attributes.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
PathScale was mistaken as the Gcc compiler such that gcc flags were added
to it but PathScale did not honor many of them. (e.g. -Wvariadic-macros,
-Wold-style-definition, -Winit-self, -Wvariadic-macros, -Wmissing-include-dirs,
-Winit-self, -Wc++-compat)
Solution:
Added a pre-condition to detect pathScale compiler before Gcc is
accepted.
Tested:
Sandia Glory where PathScale compiler is available.
gfortran is more likely installed with gcc now.
Tested:
jam and amani which covers both linux and linux64.
No h5committest because this is gnu compiler specific, usually
applicable to Linux.
to undefined and let the caller functions decide the location of the datatype. For
H5Tdecode, it should mark the datatype as in memory. For other callers like H5Dopen or
H5Aopen, they should makr it as on disk.
Tested it on jam, smirom, linew.
Bring r17152 from trunk to 1.8 branch:
Clean up some minor formatting and misc. errors noticed while working on
fixed array code merge.
Tested on:
Mac OS X/32 10.5.7 (amazon)
Too minor to require h5committest
Bring r17148:17149 from trunk into 1.8 branch:
Refactor how chunked dataset information is computed, moving it earlier and
avoiding more recomputation.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.7 (amazon) in debug mode
Mac OS X/32 10.5.7 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Bring r17146 from trunk to 1.8 branch:
Bring a bunch of misc. improvements & tweaks from the revise_chunks
branch back to the trunk, so that future merges won't be so painful.
Tested on:
FreeBSd/32 6.3 (duty)
(h5committested on trunk)
Bring r17138 from trunk into 1.8 branch:
Disable use of temporary file space allocation when using a parallel VFD,
until we've made changes to broadcast the new address of the metadata when it
is relocated down into 'normal' file space.
Tested on:
Mac OS X/32 10.5.8 (amazon)
(h5committested on trunk)
replaced it with H5Aopen in this round. I also updated some hard-coded numbers with some
macros.
Tested on jam only. I have tested the same change for the trunk.
the attribute structure wan't set correctly. It caused some confusion in H5A_read. This
flag was actually redundant because the library can alwasy check if the data buffer is
present. To fix it, I removed the "initialized" flag in the attribute structure and let
H5A_read check the data buffer.
I tested it on jam only but have tested the same change for the trunk on jam, smirom,
and linew.
Description:
Previously, when H5Z_filter_info was called for a filter that was not present,
it would succeed and return the information from one position past the end of
the pipeline, possibly causing a segfault. This affected at least
H5Pget_fitler_by_id1/2, and possibly other API functions. Fixed to properly
return failure.
Tested: jam, linew, smirom (h5committest)
Bring r17038-17039,17045,17062 from trunk to 1.8 branch:
Switch fractal heap direct & indirect blocks to use temp. space alloc.
Improvements to metadata accumulator
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.7 (amazon) in debug mode
Mac OS X/32 10.5.7 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Bring r17010,17017,17021-17022,17029-17031,17035 back from trunk:
"temporary" file allocation space changes.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.7 (amazon) in debug mode
Mac OS X/32 10.5.7 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
bug fix: h5repack was not applying a requested contiguous layout for a dataset with filters
added a test to the C program test (not to the script), that verifies the layout and filters
tested: linux
Add a run to the h5repack shell script to read a family file
The file used for input is located in the common source tools for testfiles, in tools/testfiles
Modified the h5repack shell script to read files from this location (h5repack reads its input files from a dedicated testfiles location in h5repack/testfiles)
Changed the h5diff open file call to use h5tools_fopen, so that it can open all file drivers
Tested: linux
Description:
When using H5T_copy on committed datatypes that are already open, H5T_copy would
properly use the already existing shared struct, but would still deep copy all
of the fields in that struct. This would cause memory leaks, and in the case of
a compound containing a vlen (or reference), the change in size would cause the
size of the resulting type to be set to an incorrect value. Changed H5T_copy to
properly avoid deep copies when using a reopened shared struct.
Tested: jam, linew, smirom (h5committest), purify on jam
Bring revision 17019 from trunk to 1.8 branch:
Break out the configure check for fseeko & ftello from lseek64/fseek64/
ftruncate64, since the check for the latter routines is not a valid check for
the former routines.
Tested on:
(h5committested on trunk)
Bring r17002 from trunk to 1.8 branch:
Rename H5O_protect/H5O_unprotect to be H5O_pin/H5O_unpin, since that's
what that are actually doing.
Add counter of the number of times the object header is pinned, to allow
H5O_pin/H5O_unpin to be called reentrantly.
Tested on:
Mac OS X/32 10.5.7 (amazon) w/debug & prod
h5committest already run for trunk version of change
Bring r16973 back from trunk to 1.8 branch:
Refactor chunk cache entry information to remove some [actually] unused
fields.
Tested on:
<tested on trunk>
#1522 (B1) h5ltread_dataset_string_f error with g95
ISSUE: h5ltread_dataset_string_f causes library assertion with g95.
SOLUTION: convert the fortran string buffer to a C buffer with HD5f2cstring, and pass this string to the C function
TEST: added a test call in the fortran test lite program
DOCS: added the note in RELEASE.txt "- Lite: the h5ltread_dataset_string_f and h5ltget_attribute_string_f functions had memory problems with the g95 fortran compiler. (PVN - 5/13/2009) 1522
tested: linux g95, windows fortran intel 11
Modifying default cache configuration, and adding an #ifdef to allow for a
separate default configuration when parallel is enabled. This is being
modified in order to address an observed performance problem with the
current default configuration.
Description of Changes:
- increasing maximum cache size from 16MB to 32MB
- increasing maximum entry size from 10MB to 32MB
- decreasing min_clean_fraction from 0.3 to 0.01 in serial case
- increasing flash_multiple from 1.0 to 1.4 in serial case
Tested:
jam
Skipped the test of
TESTING $H5DIFF -v $SRCFILE9 $SRCFILE10
TOOLTEST h5diff_100.txt -v $FILE9 $FILE10
again because they still hanged.
Do not turn it back on until it is proven fixed.
Also, want to verify if this is the only tests that hang or
if other tests may hang or if any non-thg machines may hang.
Tested:
jam-pp since it is a simple shell-script change.
Merge these trunk revisions which occurred during the 1.8.3 release code
freeze back to the 1.8 branch:
From Quincey: 16845 16847 16849 16851 16858 16869 16897
From Ray: 16859 16880
From Allen: 16863
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
1. I added 'install' command in end of build.com.
2. I commented out the test for h5copy and h5import in build.com. There're some
failures in the test. I recall h5import has been having problem for some time.
h5copy test is new. I need to verify with Elena.
3. I commented out the copy command for *.com in the examples directory because they
don't exist.
Tested on OpenVMS.
Adding dependency to h5repack test script.
h5repack.sh needs h5repacktst to run first.
Tested:
Problem only appeared on Glory, but tested the dependence
manually on jam by trying to run only the script and checking
that it first ran the h5repacktst test program.
If the AR command has embedded shell separators such as the case of
"AR = ar -X 64", $AR ends up as a blank.
Solution:
Put quotes around the command substitution string to protect against embedded
separators. Applied the same to both AR and RANLIB assignments.
Tested:
At Up (AIX 5.3) only because that was where I discovered the error
when AR is ar -X 64
In Up (AIX system), the insert_libhdf5_settings() infinite looped because
it never found EOF. Man getc in another system said:
"If the integer value returned by getc() is stored into a variable of
type char and then compared against the integer constant EOF, the com-
parison may never succeed, because sign-extension of a variable of type
char on widening to integer is implementation-defined."
Solution:
Changed inchar from type char to int fixed the problem.
Morale of the story: RTFM or HTCW (heed the compiler warnings).
Tested:
Up (AIX 5.3).
Added member function Attribute::getInMemDataSize() to simplify
getting the attribute's data size in memory. Used this new function
in Attribute::read to get the fixed-len string attribute data.
Added tests to tattr.cpp.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
Embed the content of libhdf5.settings into the hdf5 executables so that an
"orphaned" executables can display (via the Unix strings command, for example)
the library settings used to build the executables.
This is a prototype implementation. Much improvement is needed.
configure.in:
Added the --disable-embedded-libinfo option to disable this feature.
configure:
src/H5config.h.in:
Generated by autotools like automake.
src/H5detect.c:
Implement insert_libhdf5_settings() to insert the contents of
libhdf5.settings into the library as an extern string variable so that it
is included in all HDF5 executable. Much improvement is needed.
fortran/src/Makefile.in:
Auto-generated by bin/reconfigure. (i.e., I did make any changes to cause
its direct regeneration).
Tested:
Jam serial, using default and --disable-embedded-libinfo, configure options.
Description:
Previously, there was no versioning for H5Z_class_t. This prevented applications
written for 1.6 using custom filters from being able to use the 1.8 library.
There is now an H5Z_class1_t and H5Z_class2_t to enable compatibility. H5Zregister is
*not* versioned, it determines which version of the struct has been passed in by the
value of the first field (id or version, both are ints).
Tested: jam, linew, smirom (h5committest), jam (--with-default-api-version=v16)
Description:
Three new tests were added to the h5repack test script in rev.16802. This checkin brings those new tests to Windows as well.
Tested:
VS2005 on WinXP x64
Description:
When writing data to a dataset, the data transform was performed after type conversion.
This caused an error if the file type was non-native. This has been changed so data
transforms are always performed on the memory type.
Tested: jam, linew. smirom (h5committest)
Description:
h5repack previously would not take named datatypes into consideration when copying
datasets and attributes. This would cause extra anonymous datatypes in the target file
at best, and cause errors halfway through the repacking at worst. h5repack should now
always handle named datatypes correctly. Named datatypes are also now converted to the
native type when -n is given.
Tested: jam, linew, smirom (h5committest)
- Updated bin/reconfigure to use latest version of automake (1.10.2).
Regenerated Makefile.in's by running bin/reconfigure.
- Added libtool version numbers to c++, fortran, hl, hl c++, and hl fortran
libraries.
Tested:
jam, liberty, smirom
For gcc v4.3 and v4.4, with production mode,
if -O3 is used, H5Tinit.c would fail to compile. Actually bad H5Tinit.c is
produced.
If -O (same as -O1) is used, H5Tinit.c compiled okay but test/dt_arith
would fail with:
Testing hard normalized long double -> signed char conversions time: comm
and terminated abnormally
When -O0 (no optimizatio) is used, H5Tinit.c compilete okay and all tests
passed.
Solution:
Changed the config/gnu-flags to use -O0 for gcc v4.3 and 4.4 for production
flags for now so that build and tests would work. Still need to investigate
if the error is due to Gcc optimization bug or our code errors.
Tested:
In liberty with gcc43 and gcc44. Also, tested in jam and smirom with
older versions of gcc.
There are no gcc 43 or 44 compilers installed in other THG machines that
I know.
Fixed to pass parameters to H5Awrite/H5Aread correctly so that
all Attribute::write and Attribute::read methods work correctly
for both fixed-length and variable-length string attributes.
Added more test cases.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
source directory. Since the test opens the files with write mode, it's safer to make copies of
the original files. I added the copying step in test_family_compat in vfd.c. I changed the
Makefile.am to clean up the copied files. I created a new family_v16_00000.h5 with v1.6 library.
Tested on jam - supposed to be simple change.
Use environment variable instead of command parameter to test
the install via $DESTDIR test.
Tested:
Jam by hand. (no h5committest which does not test this change.)
Added a Make target of check-all-install to test the correctness of
installing via the prefix= or $DESTDIR options.
Platforms tested:
h5committested and jam serial mode. Then test check-all-install by hand.
- h5diff new flag, -c, --compare, list objects that are not comparable.
PVN - 2009/4/2 - 1368
- h5diff new flag, -N, --nan, avoids NaNs detection. PVN - 2009/4/2
Description:
The H5L interface was not marked as uninitialized when H5L_term_interface was
called. This caused the interface to not initialize itself later on. This
prevented external links from working after calling H5close, because they were
never re-registered.
Tested: jam, smirom, linew (h5committest)
Description:
Changed H5G_mkroot to be tolerant of files with symbol table information cached
but no symbol table in the root group. Also changed H5G_mkroot to properly
clean up in case of an error, and changed H5G_stab_is_valid to properly detect
errors in H5O_msg_read.
Tested: jam, linew, smirom (h5committest), jam (--disable-strict-format-checks)
Description:
Versions of the library between 1.3.0 and 1.6.3 have a bug which prevents them
from opening any file that does not have the root group's symbol table
information cached in the root group's entry in the superblock. Prior to 1.8
this was not an issue as this information was always cached. However, 1.8.0
stopped writing this information (which is not required by the file format
specification), and these older versions can therefore not read files created or
last written by versions 1.8.0 to 1.8.2. This fix modifies the library to once
again add this information to the superblock (when using the old file format).
Tested: jam, linew, smirom (h5committest)
#1538 (B2) Problems with Dim Scale APIs reported by Mathworks
ISSUE2: the scale index input/output parameter value passed to H5DSiterate_scales was not always incremented (it returns the scale index current iteration).
SOLUTION FOR ISSUE2: modified the cycle in H5DSiterate_scales so that the scale index is always incremented
TEST: added some test cases with calls to invalid indices and H5DSiterate_scales with return scale indices and visitor data
tested: linux
Description:
Factory free lists were formerly implemented as block free lists. This was
inefficient as factories can only be one size, and implementing them as blocks
(which can be variable size) wasted computation and space. They have been
rewritten with a separate implementation, which is simlar to regular free lists
except they can be dynamically created and destroyed.
Tested: jam, linew, smirom (h5committest)
Description:
Changed Skip list package to use a deterministic skip list. This allows the
skip list package to avoid calling rand() and srand(), even on machines without
rand_r(). There is no longer a p-value or maximum level for skip lists.
Tested: jam, smirom, linew (h5committest)
#1538 (B2) Problems with Dim Scale APIs reported by Mathworks
ISSUE: When some functions are called with an invalid dimension index (for example, greater than the rank of the dataset) the function does not immediately fail, rather asserts down the code.
SOLUTION: added this check for H5DSdetach_scale, H5DSset_label, H5DSget_label (the other functions have this check) . H5DSiterate_scales also added a check for an invalid dimension scale index
TEST: added some test cases with calls to invalid indices
DOCS: Nothing added
STATUS: done for 1.9, 1.8. closed bug
tested: windows, linux
Description:
Previously, H5Lcopy and H5Lmove would (through H5L_move) improperly apply the
"create intermediate groups" property to the source path traversal, and not the
destination. Fixed it to apply the property to the destination and not the
source. Also fixed H5Lcreate_ud to reject internal link classes without
throwing an assertion.
Tested: linew, jam, smirom (h5committtest)
Fixed warnings from absoft's compiler for !DEC$ statements.
Solution: There should not be a space after !DEC$ statements, removed the spaces.
Platforms tested:
Jam with gcc and f95
#1521 (B2) H5DSdetach_scale memory leak
ISSUE: Purify (Windows Visual Studio 6) complains of a memory leak in H5DSdetach_scale call regarding a H5Aread call (stack is H5A_read, H5T_convert, H5T_conv_vlen, H5T_vlen_seq_mem_write, H5MM_malloc).
SOLUTION: When a scale is detached from a dataset, the variable length structure length field is decreased in one entry. The associated pointer must be reallocated with the new length.
DOCS AND TEST: Nothing added
tested: linux
note : lots of weird warnings of the type
../../../../hdf5/tools/h5repack/h5repacktst.c:3919: warning: will never be executed
appear on the same code as 1.9 for the 1.8 branch
tested: linux
#1402 (B1) h5repack does not preserve creation order indexing.
ISSUE : h5repack does not handle group creation order flags.
ACTION: call H5P(g)(s)et_link_creation_order functions when handling groups, add new groups with these flags to the test generation program, and verify results in the test program.
TEST: in the test program, function that compares property lists, added code to verify groups
DOCS: Added the note to RELEASE.txt: "h5repack now handles group creation order. PVN - 2009/4/2 - 1402".
some argument check in the internal function H5I_find_id and took out the assertion check.
I also removed the argument check in H5Iis_valid because it's in H5I_find_id now.
Tested on jam and linew - simple change.
1. #1501 (B1) tools bug if dataset is larger than H5TOOLS_BUFSIZE limit.
ISSUE : the tools use the following formula to read by hyperslabs: hyperslab_size[i] = MIN( dim_size[i], H5TOOLS_BUFSIZE / datum_size) where H5TOOLS_BUFSIZE is a constant defined of 1024K. This is OK as long as the datum_size does not exceed 1024K, otherwise we have a hyperslab size of 0 (since 1024K/(greater than 1024K) = 0). This affects h5dump. h5repack, h5diff
SOLUTION: add a check for a 0 size and define as 1 if so.
TEST FOR H5DUMP: Defined a case in the h5dump test generator program of such a type (an array type of doubles with a large array dimension, that was the case the user reported). Since the written file commited in svn would be around 1024K, opted for not writing the data (the part of the code where the hyperslab is defined is executed, since h5dump always reads the files). Defined a macro WRITE_ARRAY to enable such writing if needed. Added a run on the h5dump shell script. Added 2 new files to svn: tools/testfiles/tarray8.ddl, tools/testfiles/tarray8.h5. NOTE: while doing this I thought of adding this dataset case to an existing file, but that would add the large array output to those files (the ddls). The issue is that the file list is increasing.
TEST FOR H5DIFF: for h5diff the check for reading by hyperslabs is H5TOOLS_MALLOCSIZE (128 * H5TOOLS_BUFSIZE) or 128 Mb. This makes it not possible to add such a file to svn, so used the same method as h5dump (only write the dataset if WRITE_ARRAY is defined). As opposed to h5dump, the hyperslab code is NOT executed when the dataset is empty (dataset is not read). Added the new dataset to existing files and shell run (tools/h5diff/testfiles/h5diff_dset1.h5 and tools/h5diff/testfiles/h5diff_dset2.h5 and output in tools/h5diff/testfiles/h5diff_80.txt).
TEST FOR H5REPACK: similar issue as h5diff with the difference that the hyperslab code is run. Added a run to the shell script (with a filter, otherwise the code uses H5Ocopy).
FURTHER ISSUES: the type in question ("double") has a different output cross platforms (e.g on liberty some garbage number is printed at some array locations)
SOLUTION: defined an "int" type for this test. However the printing of such an array has a bogus output at least in one platform (FreeBsd), so eliminated the test run altogether and filed a bug report on this
Description:
Due to a bug in H5F_super_read, every time a file with a user block was opened
it would grow by the size of the user block. The bug has been fixed, and
comments have been added to clarify when an eoa address should be relative and
when it should be absolute.
Tested:
jam, linew (h5committest)
v1.8 library, v1.8 library writes the driver info block in the superblock. But v1.6
doesn't write it. This caused the data after the superblock to be overwritten. The
solution is to use a flag to indicate when the original file doesn't have the driver
info, v1.8 library doesn't write it either.
Tested on jam. I have some trouble to access smirom and linew using h5committest.
#1047 (B1) The h5lt info routines are returning data in transposed form. ISSUE : the dimension array of the function h5ltget_dataset_info_f was not transposed (because of C-FORTRAN storage order, the FORTRAN function calls the C function with the same name). SOLUTION: transpose the array. ACTION: add a test case.
added the note
Fortran High-Level APIs:
------
- Lite: The h5ltget_dataset_info_f function (gets information about a dataset)
was not correctly returning the dimension array (PVN - 2009/3/23)
tested: linux
Description:
Some files apparently exist in the wild which have corrupt symbol table messages
on the root group. These files can be opened by 1.6 (which uses the cached
information in the superblock) but not by 1.8. This patch fixes 1.8 and 1.9 so
they can now open these files, and will correct them if necessary. Also fix
some potential (rare) problems with array datatype versions.
Tested: jam (parallel; h5committest not working on linew or smirom)
1. #1487 (B1) DS memory leaks ISSUE 1: On a "go to" error condition, previously allocated buffers were not freed. NOTE: these are "potential" memory leaks because typically the error conditions do not occur, so the potential memory leaks also do NOT occur. ISSUE 2: A function used to read dimension scales realistic data (topography of the North Atlantic, latitude and longitude) was being called without the data buffer being freed. SOLUTION FOR ISSUE 1: added "free" calls for the allocated buffers on the error sections. SOLUTION FOR ISSUE 2: added a "free" call after the read_data function, after using the buffer (on a H5Dwrite and H5Screate_simple). The read_data function reads both data and dimensions from the ASCII data files. DOCS: no docs added. Done for 1.9 and 1.8 STATUS: Closed bug
tested: h5committest
Bring r16574 back from trunk:
Clean up many compiler warnings and make test return non-zero exit code
when a failure is detected.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(other platforms tested on trunk)
When reading the compression parameter keyword, the compression type read flag was incorrectly set to read, removed this line of code
in->configOptionVector[COMPRESS] = 1;
Modified one configuration file to have the COMPRESSION-TYPE GZIP
Keyword.
Entered a bug description fix of
- h5import: By selecting a compression type, a big endian byte order was being
selected (PVN - 2009/11/3)
tested: linux
Bug Fix
Description:
Fixing BZ #1381. The --includedir=DIR configure option, which is used to
spceify installation location of C header files, did not work correctly as
the path was hard-coded into config/commence.am. I'm presuming this is
because an older version of automake didn't know where to put C header
files. In any case, removing this line now defaults the includedir to the
same directory that it is currently hard-coded to, and also fixes the
configure flag which allows for customization of this value.
Tested:
jam, liberty
Bug Fix
Description:
Removing the code from configure which strips the '-g' flag from CFLAGS
when in production mode. The current default CFLAGS in production mode
does not include '-g', as intended, but we should allow users to
override this and enable '-g' by setting the CFLAGS environment
variable if desired. Note that this applies to FCFLAGS and CXXFLAGS
as well.
Tested:
kagiso, linew, liberty
test the correctness of the data when the fill value is defined or not. The
library should let the chunks bypass the cache depending on the size of the
chunks and whether to write fill value to the chunks.
Tested on jam - simple change.
Bring v16532 back from trunk to v1.8 branch:
Pass the chunk "user data" to H5D_chunk_unlock(), so that chunks with
an address already aren't reallocated.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committest not needed here, performed on trunk)
Description:
In some situations it was possible for the fill value to not be written to parts
of a chunked dataset, particularly when extending and/or shrinking. Prior to
the fix for the chunk cache (1015) these bugs would have been exceedingly rare.
Tested: jam, smirom, linew (h5committest)
have 2 expected outputs for 2 h5ls runs depending if run on a big or little endian machine. Configure.in was modified to export a variable carrying endianess information to testh5ls.sh. This script then compares the current run with 2 expected outputs, one for a big-endian machine (linew was used to generate the output), other for little endian (jam was used to generate the output)
the way h5ls prints types, it starts searching for NATIVE types first. One solution would be h5ls not to detect these native types, using for example the same print datatype function that h5dump does, that would make the output look the same on all platforms ("32-bit little-endian integer" would be printed instead). Drawback, this "native" information would not be available. Other solution is to have not one but 2 expected outputs and make the shell script detect the endianess and compare with one output or other
tested: jam, linew
creation order in querry function but there's no creation order indexed in the file, the library tried
to build and sort a table of all links. To optimize it, let the library use the B-tree for names of
links.
Tested with h5committest.
bug fix: TESTING2 macro introduced recently for the test suite (it adds an extra space at the beginning of output, for indentation) was already available for HL and caused compilation problems on AIX. Replaced the name with TESTING_2
tested: h5committest
Bring r16499 back from trunk:
Cache chunk info for newly created chunk.
Tested on:
FreeBSD/32 6.3 (duty)
(Tests included in upcoming revise_chunks branch changes)
Bring r16488 back from trunk:
Clean up code and eliminate resource leaks. Also avoid "null" I/O when
chunk doesn't exist and we can skip it.
Tested on:
Mac OS X/32 10.5.6 (amazon)
(too minor to require h5committest)
Bring r16483 back from trunk:
Clean up (i.e. remove) more internal calls to H5E_clear_stack(), along with
some other minor code cleanups.
Tested on:
Mac OS X/32 10.5.6 (amazon)
(too minor to require h5committest)
Description:
The meaning of the "nbytes" field in H5D_rdcc_t was not clear, and some places
assumed it was the maximum size of the chunk cache, while some assumed it was
the current size of the chunk cache. The end result was that only 1 chunk could
be held in cache at a time. This field has been replaced by "nbytes_max" and
"nbytes_used". Performance of cached I/O should improve greatly.
Tested: jam, smirom (h5committest)
file handles.
Description:
An attribute's "oloc" field which specifies the file it resides in was located
in the attribute's "shared" structure. So when an attribute was opened multiple
times all of the handles for that attribute pointed to the same file id, even if
different file id's were used to open the different handles for the attribute.
The "oloc" has been moved to the top level H5A_t struct.
Tested: jam, smirom (h5committest)
Description:
Since the new object header format, it has been possible for a situation to be
created where none of the messages are large enough to hold a continuation
message and there are no null messages to merge with. This makes it impossible
to add a new object header chunk. This case will now be handled by moving every
message in the last chunk to the newly allocated one, except for null messages
which are deleted.
Tested: jam, smirom (h5committest)
Description:
When an attribute was created with a datatype or dataspace that was shared in
the same object header that the attribute was in, the attribute could not be
deleted. Changes made to ensure that the attribute can be deleted both when the
attribute is in the object header and when it is shared in the heap. Object
header message decode routines now take an "open_oh" parameter to enable them to
avoid opening the same object header twice.
Tested: jam, smirom (h5committest)
on disk, the library still loaded it in the cache, which is redundant. I changed it to bypass the
cache and added a test in dsets.c.
Tested on jam and smirom.
Bug fix: for compound types, the not comparable test for members was not done
Solution: for compound types, recursively apply that check
Two new cases are added
1) the compound type has a different number of members. Message printed is
<obj1> has X members <obj2> has Y members
Where X and Y are the number of members of each compound type being compared
2) the compound type has not comparable types (for example a double and an int at the same index)
In this case the message
Comparison not possible: object1 is of class1 and object2 is of class2
Is replaced with
Comparison not possible: object1 has a class1 and object2 has a class2
Modified the test generator program to have these 2 cases
Added a shell run for these 2 cases
Tested: h5committest
The failure was caused by some over active sanity checking code in
unlock_entry(). In essence the code did not consider the possibility
that under certain, very unusual circumstances, an entry could be flushed
to disk during the H5AC_unprotect() call. Instead, it simply failed
if a dirty entry was marked clean after the call to H5AC_unprotect().
This bug in the test code was exposed by recent changes to the default
cache configuration made as part of the "metadata blizard" bug fix.
Fixed the bug by adding code to detect when an entry is flushed during
the call to H5AC_unprotect(), and not trigger a failure if a dirty entry
is marked clean after a call to H5AC_unprotect() if the entry has been
flushed.
In passing also found and fixed another test bug in which expunged
entries were erroneously marked as dirty in the test code's independant
register of entry status.
Tested parallel on Phoenix (AMD64 Linux) and Jam.
No further testing, as the fix was tested extensively prior to checkin
on the 1.9 branch.
Bring r16435 from revise_chunks branch back to 1.8 branch:
Expand object copy tests for chunked datasets to include 1-D datasets
with an unlimited dimension. (Fix typo in comment for test/links.c)
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(more thoroughly tested already on revise_chunks branch)
Description:
A user discovered that the HDF5 1.8.2 Windows release binaries were missing a few of the HDF5 tools. This is due to the Windows install script, which simply didn't include them. This commit fixes the install script to include h5copy, h5mkgrp, and h5stat
Tested:
VS2005 w/ WinXP, build and install only
Description:
In svn rev. 16197, H5fortran_flags.f90 was removed from HDF5. This checkin removes references from our Windows projects, and will allow us to successfully build HDF5 Fortran on Windows.
Tested:
VS2005 w/ IVF 9.1 on WinXP
#1449 Change set_extent test to use standard standalone test framework
Call h5_fixname (with an array of test filenames) for generating the
filename to create and then call h5_cleanup() when the tests pass, to delete the files
created and close the FAPL from h5_fileaccess().
Defined a macro
#define TESTING2(WHAT) {printf(" Testing %-62s",WHAT); fflush(stdout);}
Similar to TESTING, except that it has a initial indentation space.
The effect is for nested loop tests
Testing with old file format:
Testing with fill value, no compression PASSED
tested: windows, linux
Bring r16417 from trunk to 1.8 branch:
Bring closer to standard standalone test format, add checks for using
the latest file format and close dataset ID leaked.
Tested on:
FreeBSD/32 6.3 (duty)
(too minor to require h5committest)
Bring r16414 from trunk into 1.8 branch:
Eliminate some more calls to H5E_clear_stack() from within library code.
Clean up some warnings & comments also.
Tested on:
Mac OS X/32 10.5.6 (amazon)
(Too minor to require h5committest)
h5repack.bat - added test to match script file from rev 16402
set_extent.vcproj - added WS2_32.lib for change to set_extent from rev 16406
Tested:
Vista32, XP32, XP64 using VNET, VS2005 VS2008
#1449 Change set_extent test to use standard standalone test framework
use a fapl obtained by h5_fileaccess to the call of H5Fcreate
and redo the test calls with
h5_reset();
fapl = h5_fileaccess();
nerrors += do_ranks( fapl ) < 0 ? 1 : 0;
nerrors += test_external( fapl ) < 0 ? 1 : 0;
nerrors += do_layouts( fapl ) < 0 ? 1 : 0;
tested: windows, linux
Bring r16401 back from trunk:
Correct error introduced in r16353 with layout version, and add test
so it gets caught earlier.
Tested on:
FreeBSD/32 6.3 (duty)
Too minor to require h5committest
Bring r16394 back from trunk:
Rename H5O_msg_read_real -> H5O_msg_read_oh, to be more consistent with
other routines in library.
Move H5O_msg_read_oh and H5O_msg_exists_oh from package to private
header file, so other routines in library can use them.
Tested on:
FreeBSD/32 6.3 (duty)
Too minor to require h5committest
Description:
Attribute object copy routines have been moved from H5Oattr.c to H5Aint.c.
These routines are now shared between compact and densely stored attributes.
New routines written to support the copying of dense attributes. This patch wasmostly written by Peter Cao.
Tested: jam, smirom (h5committest)
Description: When attempting to copy an object with a message shared in its own
object header, the library attempts to protect the same object header twice.
Previously, it was possible for the object header to be protected with write
access in one or both of these protects, which would be illegal. The library
should now always protect with read only access in this case. The conditions
for fixing incorrect datatype versions have been made weaker to support this
change. The version will only be corrected if the object header the datatype
is in is modified.
Tested: jam, smirom (h5committest)
Bring r16367 back from trunk:
Refactor internal address encode/decode routines slightly, to allow for
more flexible use.
Tested on:
Mac OS X/32 (amazon)
FreeBSD/32 (duty)
(too minor to require h5committest)
Description: H5Tset_order will now properly reject H5T_ORDER_NONE for most
datatypes. Previously this could cause major problems as the file could not be
flushed.
Tested: jam, smirom (h5committest)
bug fix
a new line was not inserted at the end of output, causing diff to complain between linux and frebsd
tested: linux (freebsd tested on the trunk)
Bring r16354 back from trunk:
Refactor internal layout information, making it easier to add another
type of chunk index.
Tested on:
FreeBSD/32 (duty)
(other configurations tested with original change)
#1368 (E1) h5diff: implement "not comparable" messages. Implemented RFC. The new option is <-c, --compare List objects that are not comparable>
added some test cases
tested: windows, linux
Description: H5Tinsert will now detect when a compound type that was previously
not packed becomes packed due to out of offset order insertion of a member.
H5Tinsert will now attempt to keep members sorted by offset order. This should
improve performance of H5Tinsert in all cases due to the fact that it no longer
needs to check every other member for overlapping, and should improve
performance of H5Tpack and possibly type conversion when compounds are packed
out of order.
Tested: jam, smirom (h5committest)
Bug Fix
Description:
Removing some unnecessary headers from test/cache.c which snuck their way
into one of my previous check-ins ... thanks to Allen for catching this
while testing on windows.
Tested:
Windows, Linux
The test "h5diff -v h5diff_hyper1.h5 h5diff_hyper2.h5" sometimes hangs in THG
machines. Skip it until its hanging is resolved.
Tested: Jam pp only since it is a simple script change.
Code Cleanup
Description:
- Pulled out repetetive cache stats code into its own new macro.
- Converted HDasserts in verification macros to if / HGOTO_ERROR statments
in order to keep code consistent.
Tested:
jam (also tested smirom/liberty in trunk)
Improvement
Description:
Modified the warning messages from the Version mismatch checking to suggest
the users to try recompiling or checking the shared lib setting.
Platforms tested:
Tested in Jam only since it was just a simple text string changes.
Add a mention to the usage that the default minimum size for compression is 1024 bytes
M - is an integer greater than 1, size of dataset in bytes (default is 1024)
#bgz 1426
tested: windows, linux
Added an option to avoid dealing with NaNs
-N, --nan Avoid NaNs detection
Note: there is no shell script run for datasets with NaN because the output is non portable (different results and NaN strings for different systems)
Tested: windows, linux
Print a message of
Storage: information not available
When displaying storage information for VL and dataset region types
Added 2 shell runs that display this information
#818
Tested: windows, linux
Description:
If a compound type was packed except for some extra space at the end, H5Tpack
would not modify the type and the extra space would remain. Changed
H5T_is_packed to fix this behaviour.
Tested: jam, smirom (h5committest - linew down)
Bring r16306 back from trunk:
Add detection of C99 "designated initializers" to configure script and
use new H5_HAVE_C99_DESIGNATED_INITIALIZER macro to conditionally compile
default layout variables in src/H5Pdcpl.c
Also, minor code cleanups, etc.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(Other platforms tested on revise_chunks branch)
Bug Fix
Description:
Removed problematic debugging statement and switched one remaining TRUE
verbose statement to FALSE in cache_common.c
Tested:
jam, liberty
svn merge
Description:
merging revision 16290 from trunk to 1.8
(revision 16290 contains the code that maintains a min_clean_fraction
of the metadata cache in serial).
Tested:
smirom, jam
chunk size as the same size of the size of the hyperslab used to read the chunks.
The size of the hyperslabs are defined as the size of each dimension or a
predefined constant, whatever is smaller. This assures that the chunk
read fits in the chunk cache. (PVN - 2008/11/21)
- H5Dset_extent: when shrinking dimensions, some chunks were not deleted.
(PVN - 2009/01/8)
Description: Added H5Pset/get_elink_cb to allow the user to specify a callback
function to be called whenever an external link is traversed. Added
H5Pset/get_elink_acc_flags to allow the user to specify the file access flags
to use to open the target file of an external link. All these properties are set on a LAPL.
Tested: jam (trunk version tested with h5committest)
Bring revision 16278 back from revise_chunks branch:
Update layout information in DCPL to unify all information in one
underlying property and switch to using H5O_layout_t for storing it, which
simplifies things considerably.
Also, fix many compiler warnings.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(Original patch tested on many machines)
The Tail command in jam (a newer linux) does not accept the +2l option.
It ended up wiping most of the release_doc/RELEASE.txt file contents.
Replaced the "tail +2l" by "sed -e 1d".
Tested:
Tested in Jam to verify it functions properly again.
Modified H5Dset_extent so that it fails when called for compact datasets and contiguous with no external storage
new test program: It adds tests for several ranks, use of fill value or not, compression, different fill value allocation times, use of different storage layouts, and external files
tested: windows, linux
Bug fix
PG compiler complains about array out of bounds (a rank of zero was not checked)
Adding a scalar dataset to the test generator program. this case is run on a previous existing run, the case was added to 2 existing files
Tested: windows, linux
Updated command files in order to build in a batch queue;
added lines that define compiler qualifiers and location
of the zlib library in case one has to build manually in
a current directory.
Deleted command file in the vms/tools/h5ls directory that
is no longer needed.
Platforms tested:
VMS server (build passed; tests are running now)
to the beginning of the file. Otherwise, the file might be re-extended later on Open VMS.
Also updated the return value for the HDlseek to be more appropriate.
Tested on Open VMS.
Bring r16204 back from trunk:
Moved v1 B-tree debugging routines into separate module and thinned
out header files a bit.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
Too minor to require h5committest
On Open VMS, if the last read or write put the file pointer beyond the current file size
(it happens when an object is deleted), the file can be extended when it's truncated.
Tested on VMS.
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
Bring r16182 back from trunk:
Rename internal routines, variables, macros, typedefs, etc. for chunked
dataset storage from "istore" to some variant of "chunk" or "btree".
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
Bring r16180 back from trunk:
Rename the current chunk indexing routines module for B-tree indices
to better reflect their purpose, and to make the upcoming extensible array
index module fit in better.
Tested:
FreeBSD/32 6.3
Too minor to require h5committest
Description:
One open() call with O_CREAT flag did not have the third required argument.
Solution:
Added the right third argument. Also changed all open() calls to HDopen
macros for more portable coding.
Tested:
h5committested.
Test the non deletion of a chunk for the case chunk_offset == dimension by shrinking first, then expanding to original size and compare buffers of initialized values
Tested: windows, linux
close & re-open the file for the test of non-default B-tree internal 'K' value (There was a bug where a non-default B-tree internal 'K' value was not being stored in the file)
this is a rewrite of the old set_extent.c test program
tested: windows, linux
16132
some chunks were not deleted for some cases, the comparison to check for chunk offsets outside of the new dimensions was
chunk_offset[ i ] > dimension [ i ]
and it must be
chunk_offset[ i ] >= dimension [ i ]
16133
H5TBdelete_record was not handlong correctly records at the end of the table
added a ckeck that avoids to read these records if they are not needed (for pushing down the table)
16143
add a test for recent fixes of H5Dset_extent
tested: windows, linux
was not updated automatically and therefore
was always outdated. Modified h5vers script to update
the version for the VMS configuration file as we do for
the similar windows file.
Platforms tested:
kagiso with bin/h5vers
Switch H5Gcreate -> H5Gcreate2 and H5Gopen -> H5Gopen2, so that they aren't
switched with the API compability flags are changed
Tested on:
Mac OS X/32 10.5.5 (amazon)
Linux/64 2.4 (smirom) w/API compability
Description:
Recently a new source file, H5Pdapl.c, was brought to the 1.8 branch. This checkin also adds it to the Windows Visual Studio projects.
Tested:
None needed, very minor.
Description: Fixes a problem in H5F_close_mounts where it wouldn't correctly
reshape the "child" array when unmounting files. Test added for this case.
Also fixed a potential bug in H5F_unmount where that routine reshapes the child
array. (Port to 1.8)
Tested: kagiso linew smirom (h5committest)
a typo in a configuration file for Mac checked in on
October 31 (rev 16008). Since this change affects only Fortran
users on Mac Intel and doesn't affect daily tests on any platforms,
I am checking in the fix.
Platforms tested:
pahra with Intel compilers
Description: H5Ovisit and H5Ovisit by name will now check for a positive return
value from the first callback. Test added for this case.
Tested: kagiso
Description:
On Windows/Visual Studio, there is no function ftruncate. As a result, we have redefined the H5ftruncate macro to use _chsize_s. However, this function also doesn't exist on Visual Studio prior to 2005. Previously we had an #ifdef to support VS 6.0 with the lesser chsize function. This checkin changes the #ifdef to also include VS.NET, since we still support it for HDF5 1.8 branch.
Tested:
VS.NET on WinXP
When -b was requested and no -o (file name) binary output was made to stdout
Had a check after command line parsing to verify if -o is present, otherwise exit
Tested: windows, linux
Compilation on all daily test platforms fails due to missing "(";
fixed.
Platforms tested:
co-login
kagiso with --with-default-api-version=v16 and
--with-default-api-version=v16 --disable-deprecated-symbols
compilation flags.
Description:
The h5dump test script was recently updated to add the new -b syntax. This update also adds and modifies the neccessary tests for Windows.
Tested:
VS2005 on WinXP
Introduced a new feature in the tools library regarding command line parsing
In the definition of arguments, an "*" means that the switch can or can not have an optional argument. This "*" is put in the code regarding the letter definition, and it is transparent to the user (e.g b* instead of the previous b: ), where ":" notes a required argument after the letter (and no ":" or "*" notes no argument, mandatory)
Used for the h5dump binary option -b
It can be now
1) -b (defaults to NATIVE)
2) - b NATIVE
3) - b FILE
4) -b LE
5) -b BE
Note: the keyword NATIVE replaces MEMORY
This feature (-b with no argument) was tested with the sequence of h5dump to binary (NATIVE) then h5import to generate an HDF5 file from the binary file and h5diff to compare the 2 HDF5 files
Tested: windows, linux
Description:
In June, we discovered a bug in Windows which only affected specific timezones with the mtime test. This bug was promptly fixed, but never documented. This checkin adds a note to the release document.
Description:
Change the Windows h5repack test script so that the h5diff format matches the latest changes. In particular, don't send the -c option.
Tested:
None, very minor
Oops, I accidentally only did "svn commit" instead of "svn commit -m" as
instructed.
"ported revisions 15958 to 15959 (Added missing wrappers for H5Rdereference)
from trunk."
Description: Adding the SZIP path to LD_LIBRARY_PATH within configure was
inadvertently blowing away anything already in LD_LIBRARY_PATH. This
fixes that, which solves, among other things, the problem where
configure failed to learn how to print 'long long' on cobalt.
Tested: full make check install: kagiso, smirom
configure / make / h5ls test only : cobalt, linew
check whether the macros H5_USE_16_API works properly. There used to be a problem to compile
if H5_USE_16_API is defined in the application program (see bug #1264).
Tested on kagiso - simple change.
use of
H5_PRINTF_LL_WIDTH
in the definition of
#define HSIZE_T_FORMAT "%"H5_PRINTF_LL_WIDTH"u"
the printing of "unknow u" in tg-login3.
for unsigned long long was a configure bug fixed by rev 15942
tested: tg-login3
Description: Added a new function, H5O_alloc_shrink_chunk, which removes all
null messages from a chunk and shrinks the chunk appropriately. Modified
H5O_merge_null to call this function when a null message is created with a size
>= 64k. Tests added for this functionality.
Tested: kagiso, linew, smirom (h5committest)
Bring r15937 back from trunk to 1.8 branch:
Correct error in metadata accumulator code which wasn't expanding the
metadata accumulator when adjoining (but not overlapping) I/O writes occurred.
Tested on:
Mac OS X/32 10.5.5 (amazon) in debug mode
Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
for some reason , the use of H5_PRINTF_LL_WIDTH to convert to a unsigned long long format, is not working in ia64 linux (tg-login3)
extra characters are printed, this time in h5ls
hardcoded the format defined in HSIZE_T_FORMAT to "%llu"
tested: windows, linux (kagiso), solaris, ia64 linux (tg-login3)
Description:
This checkin includes updates to Windows test scripts for h5copy, h5diff, and h5dump tools. Each represents minor changes to syntax which emulates the updates made to the general-platform test scripts.
Tested:
VS2005 on WinXP
Description: Libtool wasn't working on linew because the script was
not working with the Solaris Bourne shell. Libtool has built-
in detection to ensure that it uses an appropriate shell,
but our config/commence.am was hard coding this shell to be
/bin/sh. Removing this line allows the shell to be picked up
by configure, thus allowing libtool to use the correct shell
on linew (bash). This was initially added to correct for a problem
on an old machine (janus), so shoudn't be needed for machines
we currently support.
Tested: full make check install on kagiso and linew, compile only
on smirom, duty, and liberty.
Make the h5diff call compare only the source and destination objects, otherwise if we attempt to compare the all file, h5diff returns 1 for differences
Tested: linux
-This line, and those below, will be ignored--
M tools/h5copy/testh5copy.sh
Description: Improved external link traversal of h5dump. h5dump will now
properly avoid all cycles, even those spanning multiple files. Improvement
to the output of committed datatypes. Committed datatypes are now checked
for uniqueness (like other objects). Tests added for these cases.
Tested: kagiso, linew, smirom (h5committest)
Description:
1) configure now sets LD_LIBRARY_PATH before checking for presence of
SZIP encoder, so user does not need to set this. The path is then
saved and sent to Makefiles, and used when "make check-install" is
invoked, so user doesn't need to set this manually.
2) Upgraded libtool to version 2.2.6a
3) Rearranged tools build order as h5dump depends on existence of h5diff
and h5import. Since h5dump is a sister directory as opposed to a parent
of either, it doesn't know about the build rules of these tools, so
setting any sort of explicit dependency confuses automake as it won't
know how to build the tools. Instead, setting CONFIG = ordered forces
an in-order traversal of each tools subdirectory. (without it will also
traverse in order by default, but this should prevent gmake's -j option
from jumping ahead as well). 'make check install' should now be able to
be invoked after 'configure' without causing a dependency failure.
4) Removed H5_HAVE_LARGE_HSIZET macro from vms/src/h5pubconf.h, as this macro
has now been out of the code for some time. (vms pubconf needs to be
updated manually, which is why it was still hanging around).
Tested: kagiso, smirom, liberty
Note: h5diff looks to be causing failures in h5copy and h5dump tools tests,
though these were present before any of my changes. My changes only
affect build order and configuration setup, and shouldn't prevent
fixes for these failures coming in after this checkin. Other than these,
tests pass fine.
Bring r15868 from trunk to 1.8 release branch:
Correct a minor error in file free space allocation which was affecting
the 'multi' VFD and preventing some tests from fully working with it.
Wholesale revisitation of all the places where tests were disabled
with various VFDs and remove or correct all these so that _only_ the tests
which _really_ can't work with particular VFDs are skipped during a
'make check-vfd' test.
Tested on:
Mac OS X/32 10.5.5 (amazon) in debug mode
Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Bring r15861 back from trunk to 1.8 release branch.
Tested on:
Mac OS X/32 10.5.5 (amazon) in debug mode
Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
second file using the same datatype actually save it in the file, too.
Tested on kagiso. But the same change in v1.9 has been tested with h5committest.
Description:
In the external_set_elink_fapl2 links test, there is a large array of points which declared on the stack for testing. Previously, the array was 1000 x 1000, which was too large for Visual Studio to handle. As a result, we were getting stack overflows during the test. We've reduced the number to 400, as this seems to be below the limit. The exact number of points in the array isn't important to the test.
Tested:
VS2005 on WinXP
Purpose:
On Windows, we were getting compile errors because h5test.c includes a function with variable declarations in the middle of the call. The Microsoft C compiler demands that all variables be declared at the top of the function. This checkin simply moves the declaration to the top to satisfy Visual Studio.
Tested:
VS2005 on WinXP
Description:
Windows doesn't include a version of the system call ftruncate. There is a similar call, _chsize_s, which performs very similarly. Thus, we map HDftruncate to _chsize_s in our Windows header file, H5win32defs.h.
Tested:
VS2005 on WinXP
Description:
The testfiles used for the h5jam/h5unjam test were recently moved to a new directory. Update the structure of the Windows test script to compensate for the change.
Tested:
VS2005 on WinXP
Tested on Phoenix (serial)
Kagiso (parallel)
Linew (serial)
There were updates during my testing, but I decided to check in
regarless without further testing as my change is very localized.
1. Fixed segmentation fault in print_group_info()
2. Call print_statistics() in main() when objects/links are successfully traversed;
otherwise, return warning message.
Bring bck revision 15828 from trunk:
Skip some free space manager tests when using a VFD that doesn't
support the feature being tested.
Use a particular memory type with the file free space sections.
Uncomment the metadata aggregator feature for the fmily VFD, as it
appears to be working after the file free space changes.
Tested on:
FreeBSD/32 6.3 (duty)
h5committest not needed, change already tested on trunk...
Bring revision 15825 from trunk:
Fix various problems with a the core & sec2 VFDs.
Improve the h5_get_file_size() routine to handle files created with
VFDs that use multiple files.
Tested on:
FreeBSD/32 6.3 (duty)
Already tested on other machine, in trunk.
Description:
Many new source files were added from the freespace branch. This checkin adds the code to Windows as well.
Note: Some tests are still failing on Windows, but this checkin brings us closer to fixing them. In particular, freespace test fails on compile (Quincey is working on it), and the DLL links test fails at runtime (I'll look into it)
Tested:
VS2005 on WinXP
The custom rules for installing h5cc, h5fc, and the fortran modules in fortran
and in hl/fortran don't use $(DESTDIR). Added it to all those rules.
Tested: kagiso both serial and parallel with fortran and cxx enabled.
Tested by:
make install
make DESTDIR=/tmp/acheng install
diff -r /tmp/acheng/.../hdf5 hdf5
Description: Added -E option to h5ls. When set, this alows h5ls to enter
external files (currently only through an external link). The -r option by
itself will no longer allow h5ls to traverse external links.
Tested: kagiso, linew, smirom (h5committest)
Bring r15802 back from trunk:
Skip some file free space tests that deal with aligned allocations when
using the stdio VFD, which has its own allocation process that drops the
unaligned fragments instead of tracking them with the free space manager.
Tested on:
Mac OS X/32 10.5.5 (amazon) w/stdio driver
Bring r15800 back from trunk:
- File free space branch changes through r15794
Tested on:
Mac OS X/32 10.5.5 (amazon) in debug mode
Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Change H5Tcommit() call to H5Tcommit2() call, so that library builds with
the default API set to v16 work.
Tested on:
Linux/64 2.4 (smirom) w/default API set to v16
Description: Fixes a possible datatype id leak that could occur during compound
datatype conversion, or more precisely, when unregistering those conversions.
Datatype ids normally registered by the library are no longer visible to the
application via H5Fget_obj_ids and H5Fget_obj_count.
Tested: kagiso, linew, smirom (h5committest)
Description:
The testfiles were moved to a new directory for the h5copy tests. Update the Windows test script to use this new directory.
Tested:
VS2005 on WinXP
Description:
The test files used for the h5diff test script were recently moved to a new directory, and the format of the testing was changed. This checkin brings the changes to Windows as well.
Tested:
VS2005 on WinXP
Description:
These files were ported from the trunk to the 1.8 branch in rev. 15727. This checkin adds the new files to our Windows projects as well. In particular, we use H5_DBLE_InterfaceInclude (rather than *Exclude), and have replaced H5test_kind.f90 with H5test_kind_SIZEOF.f90.
Tested:
VS2005 on WinXP (only build)
Description:
The h5repack test files were added to a new testfiles/ subdirectory, and the test script update. This checkin brings those changes to Windows. We also re-enable a test for the userblock which was disabled for other reasons before.
Note: One h5repack test is still failing, but I think it's a minor error that Pedro and I can correct fairly easily later today.
Tested
VS2005 on WinXP
to use when opening the external linked target file.
1. Two new public routines are added to H5Plapl.c as well as
"del/copy/close" callbacks for the property itself.
2. Modify H5L_extern_traverse() to use the fapl set via
H5Pset_elink_fapl() and retrieve via H5Pget_elink_fapl().
3. Add 3 tests to links.c to verify H5Pset/get_elink_fapl().
Also fix the compiler warning for the "if condition" in
H5_build_extpath() of H5system.c.
Description:
The test script format was changed for h5import, including many file-name changes. This checkin brings those updates to Windows.
This checkin also disables a previously-added h5repack test for the userblock. The test is disabled for now because Windows cannot find the input file ublock.bin. The file is generated dynamically on other systems, but cannot be easily generated for use on Windows. We should re-enable this test in the future when ublock.bin is added to svn.
Tested:
VS2005 on WinXP
Bug fix#1281
The TEXTFPE was described in the usage (read floats in scientific notation) but was not implemeneted.
Solution:
remove TEXTFPE from the help system and have the TEXTFPE input type do
the same thing as TEXTPF currently does to support backwards compatibility (the format read for both TEXTFPE and TEXTPF is %f)
added a test
2)
renamed configuration files to have the extension .conf
tested: windows, linux
Description: The optimized "subset" compound conversion function would
improperly copy the "blank" space at the end of compound types. Modified
H5T_conv_struct_init to detect when the subset type has extra space at the end,
and calculate the size of the data that should be copied into the conversion
buffer for each element. Changes to the functions that implement these
conversions.
Tested: kagiso, linew, smirom (h5committest)
Bring r15676 back from trunk:
Centralize all macros for declaring "magic numbers"/signatures for
objects in the file into src/H5Fprivate.h, so it's easier to know what
values have already been defined, etc.
Tested on:
Mac OS X/32 10.5.5 (amazon)
Too minor to require h5committest
Description: Adds capability to h5ls to traverse external links when the -r
(recursive) option is given. Changes to the way absolute path names are patched
in h5trav.c. Changes to the way recursive traversal starting from a non-root
group is handled (which also fixes some preexisting issues). Tests added for
these cases.
Tested: kagiso, smirom, linew (h5committest)
Description:
Program would crash, complaining MPI calls were invoked after
MPI_Finalize() has occurred. Previously, H5close() before
MPI_Finalize() would remove the crash.
Solution:
It turned out that two H5 property objects (mpio_pl and acc_tpl)
were not closed before MPI_Finalize(). In the at_exit code,
HDF5 library attempted to close them by releasing the MPI Communicators
in them too. That was the error. Adding code to close them properly
before MPI_Finalize() took care things.
Tested:
Only in kagiso parallel. Did not run h5committest since
kagiso would have been the one running parallel test. This
part of code would not be compiled at all in non-phdf5 mode.
Bug fixes: change the options block size variable from int to hsize_t, to match the H5Pset_userblock call,
do not print print compression ratio when the requested filter is NONE
Tested: windows, linux
Description: Added configure test to see if pointer alignment restrictions are enforced (as in dereferencing an unaligned pointer causes an error). Added code in H5Tvlen.c to avoid dereferencing unaligned pointers, conditionally compiled based on the configure test. Added test case in dtypes.c which would previously cause such machines to fail.
Tested: kagiso, smirom, linew (h5committest); linew64
Temporary removed b2 from the --enable-debug=all list so that this option
will pass. "configure --help" lists the --enable-debug=all and users tend
to use it and end up with compile failures in the b2 debug code. Since this
bug will not be fixed soon, this is a temporary fix to let the configure and
build work.
Tested:
h5committest plus "--enable-debu=all" test in kagiso.
In nh5tget_offset_c:
(1) The return value type of H5Tget_offset was set to size_t where
it should be of type int.
(2) Was if offset was equal to 0 it returned the error code of -1 back to
Fortran, this was changed to return an error code of -1 when the
offset value is < 0.
In h5tget_norm_c:
(1) was if the return value of H5Tget_norm = 0 it would return an error
code to Fortran, but from enum of the return value:
typedef enum H5T_norm_t {
H5T_NORM_ERROR = -1, /*error */
H5T_NORM_IMPLIED = 0, /*msb of mantissa isn't stored, always 1 */
H5T_NORM_MSBSET = 1, /*msb of mantissa is always 1 */
H5T_NORM_NONE = 2 /*not normalized */
/*H5T_NORM_NONE must be last */
} H5T_norm_t;
only when -1 is returned is there an error, changed it to return an error only if the value of H5T_NORM_ERROR = -1.
Remove trailing whitespace from C/C++ source files, with the following
script:
foreach f (*.[ch] *.cpp)
sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end
Tested on:
Mac OS X/32 10.5.5 (amazon)
No need for h5committest, just whitespace changes...
When enable-debug is turned on, a special macro block H5_HAVE_INSTRUMENTED_LIBRARY inside HDF5 will be executed to check if some collective chunk IO test cases are being run with the correct settings(one link, multiple chunk etc.). However,when complicated derived datatype in some mpi-io packages are not supported, the library has to switch one link IO with/without the optimization to multiple chunk IO with/without the optimization. The current testsuite doesn't know this and generates a false assertion failure message.
This check-in fix this problem by providing a second property to avoid the false faiure message.
Tested at abe(NCSA linux cluster) and kagiso.
When enable-debug is turned on, a special macro block H5_HAVE_INSTRUMENTED_LIBRARY inside HDF5 will be executed to check if some collective chunk IO test cases are being run with the correct settings(one link, multiple chunk etc.). However,when complicated derived datatype in some mpi-io packages are not supported, the library has to switch one link IO with/without the optimization to multiple chunk IO with/without the optimization. The current testsuite doesn't know this and generates a false assertion failure message.
This check-in fix this problem by providing a second property to avoid the false faiure message.
Bring r15609 back from trunk:
Omnibus compiler warning cleanup & some formatting happiness.
Tested on:
Mac OS X/32 10.5.4 (amazon)
Too minor to require h5committest
rank 0 in job 77 honest1.ncsa.uiuc.edu_60945 caused collective abort of all ranks
exit status of rank 0: killed by signal 9
Up to this point, we decide to turn off the use of advanced MPI derived datatype features inside HDF5 so that complicated selection tests are ensured to be handled by HDF5. This check-in reflects this.
Description:
All of the Windows-specific Fortran DLL code has been moved to a new file, hdf5_fortrandll.def. This file needs to be added to the Windows hdf5_fortrandll project link properties.
Tested:
Vs2005 & IVF9.1 on WinXP
Description:
New h5repack tests were added in revision 15551 and 15557, and also the syntax of one test was changed. This was causing errors on Windows. This checkin should fix those errors.
Tested:
VS2005 on WinXP
Description:
In in Fortran source code, there was a great deal of code that was necessary for Windows DLLs, and ignored for others systems. To remove some of the bloat in the source code, we moved these definitions into separate *.def file, which will be used on by the Windows DLL project.
Tested:
VS2005 on WinXP
Note: The Windows project file will still need to be edited-- I will check that in soon.
-t T, --threshold=T Threshold value for H5Pset_alignment
-a A, --alignment=A Alignment value for H5Pset_alignment
2) bug fix
the printing of the dataset name was not done for references (verbose mode)
tested: windows, linux
Add a userblock to an HDF5 file during the repack. The user gives
give a filename and userblock size as command line parameters to
h5repack and the contents of that file are stored in the
userblock for the HDF5 file created by h5repack.
New flags to handle this -u and -b
Tested : windows, linux
Description:
The app_refdll project was set to link with static version of hdf5 and libtest projects, which were causing the build to fail, only in Visual Studio .NET 2003, and was previously overlooked. This corrects those errors.
Tested:
VS.NET on WinXP
when comparing attributes, a type ID was not properly closed
solution: close the Id on the iteration and continue instead of goto out of the cycle
tested: windows, linux
Bring rev. 15488 back from trunk:
Fix bug where library could core dump when an invalid location ID was
passed to H5Giterate() (and add test for this case).
Tested on:
Mac OS X/32 10.5.4 (amazon)
Too minor to require h5committest
> 1.
Description: Added a new field 'app_count' to H5I_id_info_t struct, to track
the reference count on an id due to the application. the old 'count' field
tracks the total. Generally any id visible to the application gets placed
in app_count. Added app_ref boolean parameter to H5I_inc_ref, H5I_dec_ref,
H5I_register, H5I_clear_type, and a few other functions, to specify whether
the operation(s) being performed on the id(s) are due to the application
(TRUE) or not (FALSE). Test added for this case.
Tested: kagiso, smirom, linew (h5committest)
datatype versions are encountered.
Description: The library now recognizes some problems with datatype versions in
H5O_decode_helper(), and, if not performing strict format checks, automatically
corrects them. Framework added for other message decode routines to
automatically correct file errors. Datatype version information added to
h5debug. Resolves bz#1236, 1266. Test files with incorrect datatype versions
corrected.
Tested: kagiso, smirom, linew (h5committest)
Description:
Moved mount table from top file structure to shared file structure. Moved
parent out of mount table and back into top file structure. mounted files can
now be accessed from any handle of the parent file. Changes to how files are
closed. Stricter cycle checking on mounted files. Removed unused function
H5F_has_mount().
Tested:
kagiso, smirom, linew (h5committest)
Description:
This commit is a major update to the Windows-maintained H5pubconf.h file. This file is statically-distributed because Windows cannot generate it dynamically as other platforms do. Previously, our Windows version contained a minimal subset of the macro definitions required. To update, I've gone through each macro (based on kagiso's output), and tested for the correct value on Windows. This allows us to better target code based on feature flags. It should also be easier to update in the future as changes are made to the configure script.
This commit also contains one small bug fix in h5ls.c. Some Windows-specific code was missing a local variable definition. The bug went unnoticed because Windows didn't define the feature flag correctly.
I've also made changes to the h5vers script. Whenever the version string is incremented (automatically by h5test after a snapshot), the strings in H5pubconf.h will also be updated.
Tested:
VS2005 on WinXP (32- and 64-bit)
VS.NET on WinXP 32-bit
h5vers tested under Cygwin
Description:
A new parameter was added to h5diff recently. We add a new test to the h5diff script, and change the syntax in which h5diff is called from the h5repack test script
Tested:
VS2005 on WinXP
Summary: when using h5diff to compare the results of h5repack (or other tools that copy one HDF5 file to another), a new option is needed to allow h5diff to make an "absolute" comparison of the 2 files. This is the "contents" mode explained in the usage below.
If this mode is present, objects in both files must match (must be exactly the same). If this does not happen, the tool returns an error code of 1 (instead of the success code of 0)
Changes to the h5repack test script: the call to h5diff was changed to include -c (maintaining the previous -q).
tested: windows, linux
Added missing comma, i.e.
WRITE(*, "("" subroutine i"" i2.2,""()"")") j
should be
WRITE(*, "("" subroutine i"", i2.2,""()"")") j
etc...
as noted in bug 1251 and NAG compiler.
Checked the write fix using Sun f95, g95, pgf90, gfortran, ifort, absoft and all gave the correct write output.
Description:
Accidentally left p_setId in public section in the previous checkin.
Moved it to "protected:" section.
Platforms tested:
Linux 2.6 (kagiso)
SunOS 5.10 (linew)
FreeBSD (duty)
Description:
Changed all subclasses' setId to p_setId and put back setId in
IdComponent. p_setId is used in the library where the id provided
by a C API passed on to user's application in the form of a C++ API
object, which will be destroyed properly, and so p_setId does not
call incRefCount. On the other hand, the public version setId is
used by other applications, in which the id passed to setId needs
to be closed properly by the application, so setId must call incRefCount
for the new object to prevent prematurely closing of the id.
Platforms tested:
Linux 2.6 (kagiso)
Still on going with these two platforms, but needed to check in before
daily tests start.
SunOS 5.10 (linew)
FreeBSD (duty)
changes.
Last round of check in fixed the problem when an attribute was opened twice and data was
written with one of the handles, the file didn't have the data. It happened because each
handle had its own object structure, and the empty one overwrote the data with fill value.
This is fixed by making some attribute information like the data be shared in the
attribute structure.
Tested on smirom, kagiso, and linew.
Description:
Enclosed some code that test reference counts in brackets so that
temporary objects will go out of scope before checking references.
This is to work around the issue where some C++ compilers destroy
temporary objects at different time than others.
Platforms tested:
SunOS 5.10 (linew)
Linux 2.6 (kagiso)
FreeBSD (duty)
Description:
A bug in reference counter was exposed when Ray fixed H5Awrite in
the main library. ::setId() called incRefCount when it shouldn't.
Made sure that id's reference counter is manually incremented
properly in copy constructor and operator= only. The main library
handles the rest.
Platforms tested:
SunOS 5.10 (linew)
Linux 2.6 (kagiso)
FreeBSD (duty)
Bring back r15367 from the trunk:
Add check to avoid mounting a file on a group twice, when the mounts
are done on the same HDF5 file, but opened with separate H5Fopen queries.
Also add new 'mounted' flag to the H5G_info_t struct, queried with the
H5Gget_info() API call, to allow applications to detect and avoid this
situation.
Tested on:
Mac OS X/32 10.5.4 (amazon)
Linux/64 10.5.4 (chicago)
Description:
This bug was previously fixed, but the fixed was modified slightly from the 1.8 branch and the trunk. The problem is that after we write a particular byte to manipulate the fill values, we need to write it back before reading and comparing to the expected value. The previous change makes the second write after the hyperslab is manipulated, so the initial hyperslab is still incorrect.
Tested:
VS2005 on WinXP (32- and 64-bit)
h5committest
the file didn't have the data. It happened because each handle had its own
object structure, and the empty one overwrote the data with fill value. This is
fixed by making some attribute information like the data be shared in the
attribute structure.
Tested on smirom, kagiso, and linew.
Description:
Write documentation for building HDF5 with the latest version of Visual Studio, 2008. The process is very similar to building with Visual Studio 2005, but with an automatic project-file conversion beforehand.
Also adapt commandline build scripts for Visual Studio 2008 as well.
Tested:
VS2008 on WinXP
Description:
When specifying library search path in Visual Studio, use the DLL folder for zlib. Previously we pointed to the "lib" folder, which was causing confusion.
Description:
Modify Windows documentation to support Intel Visual Fortran 10.1. We have tested it in our Virtual machines, and have fixed the problems we were encountering.
Also, add a new parameter to the hdf5build.BAT and hdf5bt.BAT build scripts to support IVF 10.1.
compound datatype. The size of compound type's member type wasn't updated. It's
fixed in this commit.
Tested on smirom. The same change was tested on three systems for v1.9.
Description:
On Windows, we manage dynamically-generated code through "post-build" steps in Visual Studio. However, the command for it wasn't checking to see if the code already existed, so it was re-generating in each build (and thus re-generating all dependencies). To overcome, we simply check if the source file exists before generating it.
Also, put all paths inside quotes so we can handle directory names with spaces.
Tested:
VS2005 on WinXP
Description:
A typo in the project output file name was causing Intel Fortran 10.1 to crash. The output file was set to "$(OutDir)\hdf5_fortranddll.dll " (three trailing spaces). IVF 9.1 ignored this error and continued gracefully. However, IVF 10.1 would simply crash. With this fix, we can now build on IVF 10.1 (so far..)
Tested:
VS2008 w/ IVF 10.1 on WinXP
Description:
The fillval test uses random input to test various fill cases. Certain boundary cases cause the test to fail, which produces sporadic errors on Windows. There is a bug filed for the issue here:
http://bugzilla.hdfgroup.uiuc.edu/show_bug.cgi?id=1155
We will disable the test until the bug is fixed.
Tested:
None, simply disabled.
Description:
Somehow, the ttsafedll project was setup to build by default in Visual Studio .NET project files. This causes build errors when the HDF5_EXT_PTHREAD variable isn't defined or the pthreads library path isn't setup. It should be disabled by default.
Tested:
VS.NET on WinXP
Description:
On Windows, certain users were having trouble with the "ohdr" test, which does some processing on object header messages. The errors were hard to reproduce on our machines, and we eventually determined that the errors were timezone-specific.
The bug is triggered on Windows when processing timestamps very near the "Epoch" (midnight on 1/1/1970)-- the mktime() function does some automatic adjustment on the time to correct for timezones. In the USA, the correction adds a few hours; in Europe, it subtracts, thus giving us times pre-Epoch.
This only affects Windows because the Windows mktime() function cannot handle times before 1970-- other systems seemingly can.
The fix is to simply create timestamps only as early as 01/02/1970. This way, any timezone adjustment will still be post-Epoch.
This bug only affects the ohdr test, and shouldn't be a problem in the library. The earliest timestamps that will actually be read will be around the time HDF5 was created (~1996-7, per Quincey).
Tested:
(tested in trunk)
VS2005 on WinXP
h5committest (kagiso, linew, smirom)
Bring back revision 15227 from trunk:
Small cleanups to copying datatypes
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.5.3 (amazon) in debug mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Bring back revision 15208 from trunk:
Add a "HDcompile_assert" macro for assertions that can/should be checked
at compile time, as opposed to run time. (And used it for a couple of simple
cases, to begin)
Tested on:
Mac OS X/32 10.5.3 (amazon)
Bring revision 15188 back from trunk:
Avoid leaking memory when copying the internal "shared" struct for
a named datatype when it's already been opened earlier.
Tested on:
Linux/64 2.6 (chicago)
Description:
As part of our Windows cleanup, we try to remove windows-specific tweaks in the source code. There are many instances where Windows code is introduces via ifdef's. We re-evaluate whether they are still required, and found that many of them are not. Others we change to "feature"-specific code, rather than Windows-specific.
Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagisopp, smirom, linew)
Description:
On Windows, the pthread_self function cannot be used to print the returned thread ID for debugging. Instead, we need a separate function, GetCurrentThreadId. To eliminate some Windows ifdef's in the code, we create two new function macros which can be used by all platforms. It is conditionally defined in H5win32defs.h, and globally in H5private.h.
Tested:
VS2005 w/ pthreads on WinXP
kagiso w/ pthreads
Description:
In library code, we try not to use system calls directly, but instead use the HD{function} macro instead. This way, we can map special versions of the call on particular systems. Previously, it was all done in H5private.h. However, in an effort to clean up platform-specific definitions, we move all of the Windows macros into a separate file, win32defs.h. This way, we can use the non-Posix versions that Visual Studio sends warnings about.
Some macros are set specifically in the platform-specific header files. Then, any macros left unset will be set by the "default" implementation in H5private.h.
This checkin also cleans up various source files to use the HD* macros when possible.
Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagiso, linew, smirom)
- h5dump: when doing binary output (-b), the stdout printing of attributes
was done incorrectly. Removed printing of attributes when doing binary
output. PVN - 2008/06/05
Description:
The projects testhdf5_1_8fortran[dll] which test the new fortran features in HDF5 1.8 were not registered as dependencies to the "all_fortran" pseudo-project. As a result, the projects would not be built if you simply build all_fortran in Visual Studio, rather than "Build Solution". This is a very minor cleanup, but is neccessary to be consistent in our projects.
Tested:
VS2005 on WinXP x64
Bring back revision 15146 from the trunk:
Correct the definition of the 'nbytes' variable in the in-memory version
of the B-tree key for chunks from 'size_t' to 'uint32_t', to match the
definitions everywhere else.
Tested on:
Mac OS X/32 10.5.3 (amazon) debug & production
Linux/64 2.6 (chicago) production
Description: Changing h5perf installation so only h5perf is installed when
parallel is enabled, while only h5perf_serial is installed when
parallel is disabled.
Tested: kagiso
bug fixes.
Description:
Added code to create an empty hdf5 (named h5diff_empty.h5) in order to test
if h5diff compares correctly an empty hdf5 vs. a non-empty one.
Tested:
Tested in kagiso of h5diffgentest itself.
Verified by h5dump that h5diff_empty.h5 was indeed empty.
Then "h5diff h5diff_empty.h5 h5diff_basic1.h5" returned 0 (should have
returned non-zero).
Brought revision 15133 back from trunk:
Fixed bug in h5ls that prevented relative group listings (like
"h5ls foo.h5/bar") from working correctly.
Tested on:
Mac OS X/32 10.5.3 (amazon)
Bring back revision 15131 from trunk:
Finish omnibus chunked dataset I/O refactoring, to separate general
actions on chunked datasets from actions that are specific to using the v1
B-tree index.
Cleaned up a few bugs and added some additional tests also.
Tested on:
Mac OS X/32 10.5.3 (amazon)
Linux/32 2.4 (chicago)
Description:
On Linux-like systems, we can get the ID of the current thread through a pthread_self. However on Windows, the return cannot be cast as a threadID, so we simply couldn't get the ID. Previously we simply gave up and printed a message that we couldn't get an ID. Instead, though, we can use the Windows-specific call to GetCurrentThreadId(), which achieves the same goal. This way we can provide better debug output with threadsafe features.
Tested:
VS2005 on WinXP
VS.NET on WinXP
(other platforms not tested because change is within _WIN32 ifdef)
Description:
Previously, we maintained some source files that are commonly generated dynamically on other systems. Now, we also generate them on Windows as well. We should remove them from the repository so old versions are not accidentally used.
Also, clean up the project files to organize generator programs.
Tested:
VS2005 on WinXP
VS2005 on WinXP x64
VS.NET on WinXP
Description:
In our Windows command-line build script, we now support building with Visual Studio .NET, although VS2005 is still the default. Building with VS.NET still imposes the same feature restrictions as through the IDE:
-- 64-bit builds are unsupported
-- Fortran is unsupported
Tested:
VS.NET on WinXP
VS2005 on WinXP
Description:
On Windows, we receive many compiler warnings because Microsoft has implemented many "security-enhanced" versions of POSIX functions. However, the old versions still exist, so the warnings can be ignored. By setting a preprocessor definition, we can disable many of these warnings. On a typical HDF5 build, this reduces the number of warnings from ~1500 to ~600
Tested:
VS2005 on WinXP
Description:
These changes are made via a user's suggestion, bugzilla bug #1164. These have all been tested in the trunk, and are stable/favorable changes.
In many of our project files on Windows, we have our linker setting set to ignore old link libraries-- either libc.lib or libcd.lib. This is a relic from converting project files from old versions of Visual Studio to newer ones, and is unnecessary. We remove the ignored library from the project files. This actually makes no difference in the output binaries.
In our debug project configurations, many of the projects were generating debug information for "Program Database and Edit & Continue". Other projects were using different settings, or none at all. We standardize to use "Program Database" setting, because it generates much smaller .obj files and cuts out unnecessary debug information.
Previously, there was Windows-dependent code inside H5detect.c, because not all projects could access the gethostname() function. However, we standardize our project-files to link with WS2_32.lib, so now this function is available. Thus, the Windows-specific code has been removed from H5detect.c.
Tested:
VS2005 on WinXP
VS.NET on WinXP
Description: While '-Wl,-rpath' information was being removed from compile
lines when using --disable-sharedlib-rpath, some information
was still hidden in another variable that never got reset and
thus snuck into the executables. This fix should take care of
that issue.
Tested: kagiso, smirom
Description:
Shortly before the release, we noticed that one of our h5dump xml Windows tests failed when used with a release tarball. This is because of the Unix-style EOL characters in the expected output. For the release, we simply skipped the test. However, we can instead convert the expected output to Windows EOL format, and run the test. This is a backport from the HDF5 trunk.
Tested:
VS2005 on WinXP
Added and updated instructions for Red Storm serial and parallel build.
RELEASE.txt:
Added Red Storm information. Also, rearranged order of entries according
to more recent first.
Description:
On test fails from the release tarball. Specifically, the h5diff xml test for tsaf.h5.xml. For some reason, fc (Windows diff utility) detects differences from the expected output if the file has unix-style end-of-line characters. It only happens for this test. I suspect it is because the file is so long, but it's too late to debug for the release. Simply comment it out until we can fix it.
Tested:
VS2005 on WinXP (32- and 64-bit)
Description:
The class hierarchy was revised to address the problem reported in
bugzilla #1068. Classes AbstractDS and Attribute are moved out of
H5Object. Class Attribute now multiply inherits from IdComponent and
AbstractDs and class DataSet from H5Object and AbstractDs.
In addition, data member IdComponent::id was moved into subclasses:
Attribute, DataSet, DataSpace, DataType, H5File, Group, and PropList.
Also fixed bugzilla 1045: revised Attribute::write and Attribute::read
wrappers to handle memory allocation/deallocation properly. (bugzilla 1045)
Platforms tested:
SunOS 5.10 (linew)
Linux 2.6 (kagiso)
FreeBSD (duty)
Description:
perf would crash at the end as it complained it was doing MPI calls after
MPI_Finalize() is called. I suspect the HDF5 library is making MPI calls
in the at_exit area. This should not happened.
Solution:
Added the H5exit() right before MPI_Finalize() fixed the problem.
But it needs to find out why HDF5 library is making MPI calls in
the at_exit() area. It should not.
Also, changed the temporay data file name from /tmp/test.out to
perftest.out, both to avoid multiple instance of this may use the
same /tmp/xxx name and also make the file name less generic.
Tested:
Kagiso PP.
Description:
The fortran Makefile.am used HDF_FORTRAN to indicate it is part of the
Fortran API source so that conclude.am will give fortran api prefix in the
test output. The symbox HDF_FORTRAN is also used in configure for a different
purpose (indicated --enable-fortran). They conflicted.
Similar problem for the symbol HDF_CXX.
Solution:
Changed all the involved Makefile.am to use "FORTRAN_API" instead. It is
a more appropriate name. Same for CXX_API.
Along the way, discovered that the Makefile.am of hl/fortran/test and
hl/cxx/test did not have those symbols at all. Added them in.
Platform tested:
Kagiso serial and h5committested (kagisopp, smirom, linew).
Description: Removing make target 'make check-perform'. The extra target is
unneeded because the tests don't take as long to run as initially
anticipated, and can be lumped in with 'make check'.
Tested: kagiso
Backport revision 15034 from trunk:
Correct another case of using 'size_t' for chunk sizes where 'uint32_t'
was necessary.
Tested on:
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN
Improvement.
Description:
src/libhdf5.settings was the initial configure summary and is installed.
Then configure is changed to dump a summary of the configure settings to
the output and also append it to src/libhdf5.settings. That created
two different output formats and duplicated information. This is the
initial attempt to clean up this confusion and unify the output format.
It is decided to use the src/libhdf5.settings template as the unified means.
This requires more macros symbols be defined. The following symbols are
all related to generating the src/libhdf5.settings file.
AC_SUBST(EXTERNAL_FILTERS)
AC_SUBST(MPE) MPE=no
AC_SUBST(STATIC_EXEC) STATIC_EXEC=no
AC_SUBST(HDF_FORTRAN) HDF_FORTRAN=no
AC_SUBST(FC) HDF_FORTRAN=no
AC_SUBST(HDF_CXX) HDF_CXX=no
AC_SUBST(CXX) HDF_CXX=no
AC_SUBST(HDF5_HL) HDF5_HL=yes
AC_SUBST(GPFS) GPFS=no
AC_SUBST(LINUX_LFS) LINUX_LFS=no
AC_SUBST(INSTRUMENT) INSTRUMENT=no
AC_SUBST(CODESTACK) CODESTACK=no
AC_SUBST(HAVE_DMALLOC) HAVE_DMALLOC=no
AC_SUBST(DIRECT_VFD) DIRECT_VFD=no
AC_SUBST(THREADSAFE) THREADSAFE=no
AC_SUBST(STATIC_SHARED)
AC_SUBST(enable_shared)
AC_SUBST(enable_static)
AC_SUBST(UNAME_INFO) UNAME_INFO=`uname -a`
The src/libhdf5.settings.in has CONDITIONAL's added to it too. The
untrue conditions turned into a "#" and these lines are cleaned by the
post processing script.
Platform tested:
h5committest on kagiso, smirom and linew. (smirom had failures not due to
my changes.)
if these are detected this syntax is used, otherwise the one in usage is used
there was another -i option for
-i L2, --indexed=L2 Minimum number of links in the indexed format
That was changed to -d
-d L2, --indexed=L2 Minimum number of links in the indexed format
Tested: windows, linux
Purpose: Configure Fix
Description: The test program h52gifgentst was getting installed in the bin
directory during 'make install', and it shouldn't. Make now builds
the program for use in testing but doesn't install it during
'make install'.
Tested: kagiso
Port revision 15015 back to 1.8 branch:
> Detect chunks that are >4GB before dataset gets created and return error
> to application.
>
> Tweak lots of internal variables that hold the chunk size/dimensions to
> use an 'uint32_t', instead of a 'size_t', so that the integer size is constant.
>
> Correct a number of our tests which were creating datasets with chunks
> that were >4GB and add some specific tests for >4GB chunk size detection.
>
> Minor whitespace & other code cleanups.
Tested on:
Mac OS X/32 10.5.2 (amazon)
Forthcoming testing on other platforms...
Description: The macro H5_HAVE_WINDOW_PATH is now defined to 1 only when
MinGW is in use. This is needed to fix the "links" test, and the
external link feature in the library.
Tested: kagiso
Description: The configure option --disable-sharedlib-rpath will disable
embedding of the '-Wl,-rpath' information into executables
when shared libraries are produced.
Tested: kagiso
Description:
-- INSTALL_Windows.txt:
-- Update szip version number to 2.1
-- Extra details for setting up 64-bit builds
-- Explain adding HDF5 link settings more clearly
-- Add link to FAQ
-- Misc. typos and formatting
-- INSTALL_Windows_From_Command_Line.txt
-- Add note about 64-bit support
-- INSTALL_Windows_Short_NET.TXT
-- Add notes detailing features unsupported on VS.NET
-- INSTALL_Windows_Short_VS2005.TXT
-- Add notes about extra features.
Description:
Small changes, such as commenting out an additional test and fixing the search path, have been added to the MinGW install instructions.
Tested:
MinGW on WinXP
Description:
We can dynamically detect the host architecture using the PROCESSOR_ARCHITECTURE variable. This allows us to setup our build paths accordingly and build 64-bit Windows binaries from the command line. This allows us to run autotests on 64-bit Windows as well.
Tested:
VS2005 on WinXP x64
VS2005 on WinXP x86
Description: Typo in the configure.in script. CC_VERSION should be set using
CC_NOFLAGS, but is currently using CC_NOFLAG, which does not exist.
Tested: kagiso (configure issue)
Description:
There were a number of small tweaks we needed to make to add the new fortran_1_8 code on Windows. We create new project files, add new source to them, add the test to our test suite, and fix a few typos in the Windows-specific source code.
Tested:
VS2005 on WinXP
The previous printing of
LINKCLASS 64
was removed
HDF5 "textlinksrc.h5" {
GROUP "/" {
EXTERNAL_LINK "ext_link1" {
TARGETFILE "textlinktar.h5"
TARGETPATH "dset"
DATASET "dset" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 6 ) / ( 6 ) }
DATA {
(0): 1, 2, 3, 4, 5, 6
}
}
}
}
}
There is no script test for this behavior so far, because test script uses complete paths that vary from test to test, making not possible to define a valid TARGETFILE in the file
tested: windows, linux, solaris
Description:
In the new tests merged from the fortran_1_8 branch, there is a test that fetches a dataset name in a small buffer. The call to H5G_get_name_by_addr wrote an extra byte off the end of the buffer. A simple and sufficient fix is to decrease the buffer size passed to strncmp by 1. This bug was only caught by Visual Studio 2005 with extra debug checks on.
Tested:
VS2005 on WinXP
kagiso
Description: Tests in perform directory were never getting run, and
h5perf* programs were not being installed.
Solution: Added another build option, 'make check-perform', which runs the
tests in the perform directory. Also modified the Makefiles in the
perform directory to install (with 'make install') h5perf when
parallel is enabled, and h5perf and h5perf_serial when parallel is
disabled
Tested: kagiso, smirom, linew
Usage is
-m T, --format=T
Where T - is a string containing the floating point format, e.g '%.3f'
The test consists of writing a number with 7 fractional digits (default precision display of %f is 6 digits) and have the 7 digits displayed with
-m %.7f fpformat.h5
Tested: windows, linux, solaris
Note: the output file was generated in linux, it may be possible that platforms other than the ones tested have a different representation of the number
Description: Test gcov script on kagiso
Solution: The bin/gcov script was not working on kagiso. The script was
retooled and now works correctly on kagiso, placing code coverage logs
into the generated gcov_logs directory when run.
Tested: kagiso
Description: added new autotool version information (updated libtool from
1.5.22 to 2.2.2 and automake from 1.10 to 1.10.1) to RELEASE.txt
Tested: none needed, documentation update only
Introduced a compression ratio = uncompressed size / compressed size
in the printing of the compression with 3 digits of precision per hdf-forum NASA developers suggestion
tested: windows, linux
Description:
Two new source files have been added, H5Dchunk.c and H5Dscatgath.c. This checkin adds the files to the Windows project files as well.
Tested:
VS.NET on WinXP
Description: Threadsafety is incompatible with c++ and with fortran, so if
the user specifies either at configure along with threadsafe,
throw an error.
Tested: kagiso (configure change only, doesn't affect build or testing).
Bring revision 14860 back to 1.8 branch, change log for rev 14860 is:
Omnibus raw data I/O revisions, with wide-ranging changes and
refactoring, in order to prepare for implementing "fast append" feature.
These changes remove the majority of the code duplication for raw data
I/O which has crept in over the last ten years and introduces a more object-
oriented design for operating on different types of dataset storage.
Description:
Omnibus raw data I/O revisions, with wide-ranging changes and
refactoring, in order to prepare for implementing "fast append" feature.
These changes remove the majority of the code duplication for raw data
I/O which has crept in over the last ten years and introduces a more object-
oriented design for operating on different types of dataset storage.
Chunked storage no longer has it's own I/O routines, it is now handled
as either contiguous (if chunk is not pulled into the cache) or compact (if the
chunk is cached in memory).
No bug or feature changes, at least intentionally... :-)
Tested on:
Mac OS X/32 10.5.2 (amazon) w/production
Description:
When building HDF5 with thread safety on Windows, the err_compat test was failing because our output was being parsed incorrectly. Rather than having a thread number in the error stack trace, there will be the string "some thread: no way to know the thread (IDs): from pthread on windows:". This checkin now takes this into account, and modifies the output accordingly.
Tested:
VS2005 on WinXP with Pthreads
Description:
Previously, our Windows projects for HL Fortran examples were using outdated library names for our cstub code. As a result, they wouldn't build correctly. This checkin brings them up-to-date.
Also, add hdf5_hl.lib as a dependency to hdf5_hl_fortran.lib. This goes un-noticed when building the complete VS solution, but should be required when only building hdf5_hl_fortran.lib
Tested:
VS2005 on WinXP
Description:
In the Windows Fortran example projects, the runtime library used for linking static-debug version was set incorrectly. This was a result of the project being upgraded from VS6 where we used Single-threaded libraries. Those libraries are no longer supported, so we use [Debug] Multithreaded [DLL] now instead.
Tested:
VS2005 on WinXP
Description:
Many new path-specific tests have been added via the "links" test. Because Windows' path format is non-standard, we need a special macro defined to handle it specially. Note that 2 tests still fail with this macro defined, but it should be fixed soon.
Tested:
VS2005 on WinXP
Description:
The ohdr_gentst project exists in order to re-create test input files that are distributed with the source. These projects aren't built by default on most platforms, and the source isn't distributed in release builds. To avoid confusion and bloat, we remove the Windows version of this project.
Tested:
None, only removed
Description:
In previous versions of Windows, the builtin 'FC' command (diff equivalent) didn't return proper exit status. As a work-around, we parsed the message returned to check status. This relies on English return messages.
In current Windows XP and Windows Vista, FC will return exit status as expected, so we can remove this workaround. Older platforms where we would need this workaround are no longer supported.
Tested:
VS2005 on Windows XP
Small test on Windows Vista
Description: Changing libtool from 2.2 to 2.2.2. The newer version was released
last week and I missed the announcement before upgrading to 2.2
yesterday afternoon.
The new version is installed in home1/packages/libtool/, and the
bin/reconfigure script was updated and executed.
Tested: h5committest (smirom, linew, kagiso)
Description: Updated bin/reconfigure script to reflect the new versions of
libtool and automake in the /home1/packages/ directory.
Rearranged configure.in script. For some reason, when using
libtool 2.2, the libtool script doesn't generate until
later in the configuration process, so I had to move
a test that parsed through the libtool script to a point
after where it was actually being generated.
Ran libtoolize on the project, and ran bin/reconfigure to
regenerate configure and Makefile.in's throughout.
Tested: kagiso, smirom, linew, tg-login
Description:
The ohdr_gentst project exists to dynamically generate the test files for ohdr test, which also exist in the repository. The test is only run on other platforms when the configure flag --enable-build-all is specified. Moreover, the source code ohdr_gentst.c is marked as _DO_NO_DISTRIBUTE_ in the MANIFEST.
As a result, there was a problem in the release tarball that the Windows projects would fail when trying to build this project. To correct this, we no longer build this by default. We will also need to release a FAQ/patch for the HDF5 1.8.0 release.
Tested:
VS2005 on WinXP
Description:
As pointed out by a user, we added an un-needed link directory for szip which is machine-dependent and, in his case, problematic. We can safely remove this reference because we already include the szip link directory elsewhere.
Tested:
None, simply removed
Fix bug which would incorrectly encode the member offsets for compound
datatypes whose size was between 256 & 511 bytes, when the "use the latest
format" feature was enabled.
Tested on:
Mac OS X/32 10.5.2 (amazon) w/debug
FreeBSD/32 6.2 (duty) w/production
Minor bug fix to H5Aget_num_attrs() to return error when an invalid
location ID is passed in.
Tested on:
Mac OS X/32 (amazon)
Too minor to require h5committest
Added 2 more parameters to H5HF_man_iblock_size() (parent iblock and parent entry)
for passing onto H5HF_iblock_man_iblock_protect().
This bug was there before but was revealed now by exercising the recursive part of the code from the new
"h5stat_newgrat.h5".
Tested on kagiso, smirom and linew with --disable-production.
-This line, and those below, will be ignored--
M src/H5HFiblock.c
M src/H5HFpkg.h
M src/H5HFstat.c
2. H5HFstat.c: Since H5HF_space_size() zeroed out fs_size, add "meta_size" to store
free-space size before adding to "heap_size".
3. h5stat_gentest.c: increase # of groups to get "h5stat_newgrat.h5" that contains
indirect block entries in fractal heap.
This is for testing the recursive part of the code in H5HF_man_iblock_size().
4. h5stat_newgrat.h5: the new .h5 file generated by h5stat_gentest.c.
5. h5stat_newgrat.ddl: expected output from new "h5stat_newgrat.h5".
Tested on kagiso, smirom, linew.
Description:
A small typo in the recent update to installhdf5lib.bat caused the C++ header files not to be installed for the debug version of the libraries. This corrects the issue.
Tested:
VS2005 on WinXP
Description:
The Windows suite of examples for HL C was a very small subset of the examples that exist for other platforms. Now we have all of the HL C examples-- integrated into the VS projects files, and batch test scripts.
Description:
Add hdf5 library as a dependency to hdf5_hl library in Windows project files
For some reason, the hdf5_hl library didn't have hdf5 listed as a dependency. This isn't normally a problem, because building "all" will build hdf5 library. However, when a user tries to build only hdf5_hl, hdf5 library wouldn't be built.
Although not technically required for compiling the library code, the hdf5 library is needed for linking any applications, so it's a natural dependency.
Tested:
VS2005 on WinXP
VNET on WinXP
Description:
Basically, remove the "hack" that we documented because we have a better fix now. With the latest changes, configure will avoid the cygwin bug, and no neccessary steps need to be taken by the user.
Description:
Purpose: Fix very minor typo in Windows h5import test script
Single-letter typo in the Windows test script was causing us to return the wrong error code in some cases.
Tested:
VS2005 on WinXP
Description:
Make the Windows copy_hdf.bat a little cleaner/safer, and produce useful output in installhdf5lib.bat
Previously, all of our build output would simply go to stdout/stderr for command-line builds. We can pipe this into a log file as a whole, but the complete logfile becomes very large very quickly. Instead, we give the user an option to place build results and test results into separate logs (or even the same). This will help keeping track of results in our automated testing.
Tested:
VS2005 on WinXP
Description:
We discovered that there was a problem with the latest cygwin DLL, in that it doesn't recognize the global variable 'timezone'. This is a problem on cygwin's side, not ours. Instead, we avoid the problem in configure with a case statement.
We didn't get this out in time for the release, but we can offer a patch instead.
Tested:
Cygwin on WinXP
All changes are in a cygwin 'case' clause, so shouldn't affect other platforms
Update.
What is done:
Moved the following three paragraphs to the Appendix part since they have old
information that are not relevant most recent machines or compilers.
"Large (>2GB) versus small (<2GB) file capability",
"Building and testing with Intel compilers"
"Building and testing with PGI compilers"
Tested:
eyeballed.
Updated section 4 for v1.8 release.
(May still check the v1.6 INSTALL to see if something can be adopted from
there. But this is good for v1.8 release.)
Tested:
Just eyeballed.
Updated for v1.8 release. (Not completed yet.)
Changes:
Moved the section 2. "Warnings about compilers" to Appendix A; renumbered
section 3-7 to section 2-6 and fixed all section references.
Updated Website names from ncsa.uiuc.edu to hdfgroup.org or hdfgroup.uiuc.edu.
Updated section 1-3 and some of section 4.
Tested:
Eyeball.
# Shared C++ libraries aren't universally supported.
ifCXX_SHARED_CONDITIONAL
else
AM_LDFLAGS=-static
AM_LDFLAGS+=-static
endif
bin_SCRIPTS=h5c++
@@ -64,6 +68,6 @@ mostlyclean-local:
fi
# Mark this directory as part of the C++ API
HDF_CXX=yes
CXX_API=yes
include$(top_srcdir)/config/conclude.am
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.