Correct error in loading local heap prefix & data block from the file.
Sometimes the local heap's prefix could be loaded before the data block (e.g.
using H5Oget_info), but then when the data block was loaded later, the free
list information would get lost, causing the heap's size to grow larger than
necessary. This is Jira bug #HDFFV-7767
Tested on:
Mac OS X/32 10.7.2 (amazon) w/debug
(h5committest coming up)
Description:
H5Ocopy could get confused when copying a named datatype containing an
attribute which used that named datatype as its datatype. This happened
because H5Ocopy would recurse into the attribute's datatype before the object
the attribute was in was fully copied (i.e. before the "post-copy" pass).
Modified H5Ocopy to avoid recursing before the post-copy step in this case.
Required many changes, including to how non-committed shared messages are
copied.
Tested: jam, koala, heiwa (h5committest); durandal
Fortran wrappers.
Solutions: The calls were not needed and were removed from the C stubs h5open_c and h5close_c for the correspnding
Fortran subroutines h5open_f and h5close_f.
Platforms tested: jam with gcc and gfortran, PGI and Intel
koala with PGI and Intel
linew with the standard Sun compilers
Removed hard-coded check of compatible Fortran 2003 compilers; replaced
with simple check program for required F2003 features. Does not check for
known bugs in compilers, tests will fail for those compilers.
Tested: jam (gnu 4.1, 4.5, intel, pgi)
linew (default)
Tested on Linux, FreeBSD, Solaris, MacOSX to ensure they are found correctly and everything builds. No code currently relys on clock_gettime().
- Brought Windows and VMS H5pubconf.h files into sync with the Linux file.
Tested on Windows. Ray will test on VMS when this is pushed to the 1.8.x branch.
- Created typedefs and #defines to make POSIX I/O type-safe on Windows and true POSIX platforms.
- Added pre-checks and removed post-checks for POSIX I/O sizes. When the number of bytes to be sent exceeds the maximum return value, the operation is split into smaller subsets.
- General code tidying and cleanup.
Tested on: jam (64-bit linux), jam + threadsafe, jam + parallel, Windows 7 (64- and 32-bit), freedom (64-bt BSD).
- H5MM_xstrdup() now reports memory allocation errors via the HDF5 error stack (was previously an assert).
Tested on local Windows via ctest (trivial change).
h5dump was used in test script but was not invoked by RUNSERIAL.
THis does not work in batch machines like Blue Gene in LLNL.
Solution:
Added $RUNSERIAL to invoke $H5DUMP_BIN.
Tested:
LLNL BlueGene (udawn)
Some machines, like LLNL udawn, a blue-gene machine, requires all executables,
be launched by some command like mpirun.
Solution:
Added $RUNSERIAL to launch the executable.
Tested: LLNL uDawn.
Function TOOLTEST_OUTPUT does not filter the extra system messages sent to
stdout or stderr, thus causing output mismatched with expected output.
Solution:
Added STDOUT_FILTER and STDERR_FILTER to filter them out.
Tested:
Tested LLNL uDawn (Blue-Gene cluster), for serial mode only.
Check in "actual I/O mode" feature to trunk. Will merge back to 1.8 branch
after it bakes over the weekend.
Tested on:
FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode
FreeBSD/64 8.2 (freedom) w/gcc4.6, 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 (koala) 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, w/threadsafe, in production mode
Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-ia64 2.6 (ember) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
Mac OS X/32 10.6.8 (amazon) in debug mode
Mac OS X/32 10.6.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode