h52gif bug fix (494)
Description:
the reading routines were using file datatype sizes for memory allocation
Changed the HDF5 read routines to use memory types and sizes,
for both the image and pallete datasets
Solution:
Platforms tested:
linux
solaris
Misc. update:
Improvement
Description:
Release action now prints a message showing Release version and where it
deposits it.
Platforms tested:
Change is simple and will test by hand after check in.
Misc. update:
Makefile fix
Description:
The h5diff parallel test script depends on the serial test script.
Added this dependency.
Solution:
Used SCRIPT_DEPEND variable. Also added ph5diff (when it is compiled).
Platforms tested:
mir
Bug fix
Description:
Fogot to commit file config/examples.am in previous checkin.
Solution:
The examples.am file contains common Makefile rules for the example
directories.
Improvement
Description:
Some parallel system would dump some system messages in the stdout
stream of an MPI application. That caused the output matching script
to fail unnecessarily.
Solution:
Added the STDOUT_FILTER feature to filter out those system messages
out of stdout result.
Platforms tested:
Tested in LANL Lambda.
Improvement.
Description:
Splitted the "make check" into "make check-s" and "make check-p" so that
it is clearer which nature of tests are being tested.
Platforms tested:
heping (serial and pp).
Patch.
Description:
Copper would fail with a message of
0032-113 Out of memory in routine unknown, task 0
when run with 3 processes and size 1MB in MPI-IO tests.
It seems to be a copper MPIO error.
Solution:
Reduced the upper bound of default write size to 1/2MB (but
tests only go to 1/4MB) for now, pending permenant fix from
Copper.
Platforms tested:
Copper.
Bug fix
Description:
Remove several macros that are already defined in H5private.h and are
causing failures on copper.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Minor bug fixes.
Description:
1. Changed free() calls to HDfree()
2. Corrected behavior of -m command-line parameter
3. Changed return value to always return 0.
Solution:
2. The -m flag tells the test to run only the MPI IO tests. However, it would incorrectly make
the test run both the MPI and POSIX tests (same as the default behavior).
3. This test is known to fail on many platforms, and, even on those platforms where it usually passes,
it is known to suffer transient failures (especially with small test file sizes). It's outcome is
also very dependent on the filesystem on which the testfile is created. Corrected
the program to always return success, so that it doesn't interfere with the daily tests.
The motivation for this is that
this test has nothing to do with the HDF library and is an auxiliary test. Failures in t_posix_complaint
do not necessarily mean that parallel HDF will fail, but simply indicate something to look into,
especially on new platforms. This is now an "output only" test, and any errors will be only be visible
in the output.
Platforms tested:
copper (all of these were minor changes)
Misc. update:
Patch for red-storm.
Description:
A temporary patch for redstorm, must open a file in the same parallel
data filesystem before H5_init_library. Otherwise, it hangs with error:
(client.c:568:ptlrpc_check_status()) @@@ type == PTL_RPC_MSG_ERR, err == -114 req@0x57a9660 x1/t0 o38->mds_l2@MDS_PEER_UUID:12 lens 240/272 ref 1 fl Rpc:R/100000/0 rc 0/-114
Platforms tested:
Red-storm.
bug fix.
Description:
Fixed the segmentation fault errors in modi4, copper and tg-login.
It was due to the misuse of trying to realloc a pointer returned by
getenv_all. (not supposed to.)
Also rearranged the code so that option is checked first, then check
with environment variable, then use default setup. This saves the
need to do realloc at all.
Platforms tested:
Heping, modi4, shanti, copper (copper showed a different error now.)
bug fix.
Description:
Mpich2 also has the derived type errors but some mpich2 gave no
verison number and some gave 1.0.2.
Solution:
Added those two cases to catch mpich2 that had these sort of errors.
Platforms tested:
heping using mpich and mpich2.
Bug fix
Description:
Include more header files with prototypes to make CC=g++ builds work.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/CC=g++
Too minor to require h5committest
Added high-level example directories
Description:
Refactored common code out of examples Makefiles.am, added high-level
example directories, added packet table examples.
Solution:
Examples now draw from a common config/examples.am file, which
contains rules for installing, uninstalling, and cleaning examples.
High-level example directories are mostly empty, except for the
C and C++ packet table tests.
Platforms tested:
mir, sleipnir, copper, shanti
Bug fix
Description:
Change unsigned index variable to signed index variable (again), to fix
error introduced with last Windows warnings cleanup.
Platforms tested:
Linux 2.4 (heping) w/FORTRAN
Too minor to require h5committest
Bug fix.
Description:
For some strange reason, getopt() does not appear to be defined in unistd.h
on colonelk when the source is compiled with -D_POSIX_SOURCE.
Solution:
Inserted some extern's for the missing variables to make the compiler happy.
Platforms tested:
colonelk, copper
Misc. update:
Feature
Description:
Added blurb about future todo's for this test.
Added support for HDF5_PARAPREFIX to determine the directory where the test file
is stored.
Solution:
Used getenv_all to get the value of HDF5_PARAPREFIX. Note that, if a command-line
parameter is passed to the program to specify a path, it will override the value of
HDF5_PARAPREFIX.
Platforms tested:
copper, colonelk
Misc. update:
Added t_posix_compliant to the rest of the build and patched up minor
compile bugs/warnings encountered on other platforms.
Description:
It seems that <getopt.h> needs to be included to get the file to build, even though the man page
seems to indicate that <unistd.h> should be sufficient.
Solution:
Platforms tested:
copper, colonelk, sol
Extra test
Description:
Add test to make certain that trying to call H5Fopen() on a non-existant
file fails.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Feature
Description:
Added posix compliance tests.
Solution:
These tests do increasingly complicated sets of writes followed by reads.
POSIX standards say that any read that can be proven to occur after a write
must include the data in that write. These tests attempt to verify whether the
underlying filesystem and i/o layer provide such guarantees.
Platforms tested:
copper, colonelk, red storm
Misc. update:
Code cleanup
Description:
Fix a bunch of warnings flagged by Windows compilers.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Temporary fix.
Description:
Since the file format is unstable, we don't want the snapshot tarball
be readily available to any FTP users. Change the snapshot archived
location to a directory that is not accessible by Anon. FTP. If someone
wants to use one of these snapshot versions, give him/her a copy of these
files.
When file format is restored, switch this back to the previous default
location.
Platforms tested:
no test since change is pretty trivial. I have scheduled a snapshot
release tonight to see if it will put it in the right place.
Feature.
Description:
Removed the entry for tflops which has retired.
Added a special --host entry for redstorm.
This allows "configure --host=redstorm" for building in RedStorm.
Platforms tested:
Red Storm.
Description:
Added member function H5File::openFile and overloaded for convenience.
Added overloaded getObjinfo to skip the middle parameter.
Changed
StrType(const size_t& size);
to
StrType(const int dummy, const size_t& size);
because the first one clashed with
StrType(const hid_t existing_id);
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
HPUX 11.00 (kelgia)
Unstable format version marker.
Description:
This marks the Check in baseline for compact group revisions,
which radically revises the source code for managing groups and object headers.
Earlier versions (1.7.52 or earlier) have the original format. This version
and later have the unstable format until further notice.
Platforms tested:
h5committested.
New feature
Description:
Add in a combination of Peter's & my code to support copying
variable-length data from one file to another, although currently only
supported with contiguous data storage.
Platforms tested:
FreeBSD 4.11 (sleipnir)
h5committest
Description:
There was a workaround for predefined types, in the C++ library,
implemented when the C++ library was handling the reference
counting of the object ids on its own. Currently, the C++ library
is using the available APIs from the C library for that purpose,
and there were bugs reported involving that part of the C++ library.
So, I decided to remove the workaround completely.
Also, improved the use of std members.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
Linux 2.4 w/PGI (colonelk)
Feature
Description:
bin/reconfigure now allows users to define the paths to the autotools on their
system. bin/reconfigure also runs the trace script when it is invoked.
Solution:
The autotools are specified using environment variables: AUTOCONF, AUTOMAKE,
ACLOCAL, AUTOHEADER, and LIBTOOL_DIR. See bin/reconfigure for the defaults.
The version of each of the autotools is checked before they are run, so
users can't invoke the wrong version of any autotool.
The trace script is run on all the .c files in the src directory when
reconfigure is invoked. Ideally, bin/reconfigure should be run when any new
function is added to the library, but if the tracing information is out of
date the library will still work.
The trace script has also been modified to ignore the multi and stdio file
drivers (per Quincey's suggestion).
Platforms tested:
mir, shanti
Cleanup
Description:
Changed comments in C++ packet table code to refer to entries as
"packets" instead of "records."
Solution:
The APIs were changed to correspond to the C API, but the documentation
wasn't. This is fixed.
Platforms tested:
mir, shanti, sleipnir
Misc. update:
This corresponds to documentation update earlier this week.
Cleanup and new feature.
Description:
Remove old code no longer used (LOCATE_GASS, LOCATE_FORTRAN, LOCATE_HDF4.
Added new option to locate szlib.
Platforms tested:
Tested in heping and shanti.
Description: H5Eset_auto_stack() and H5Eset_auto() used FUNC_ENTER_API. It would clear the error
stack from the previous API call. It's better to use FUNC_ENTER_API_NOCLEAR to avoid clearing
the stack.
Platforms tested: fuss - simple change.
Bug fix
Description:
Fortran type generation was broken in two ways. Fixed both.
Solution:
Firstly, there were a couple of path problems. Fixed a typo and
specified the full path of a file.
Secondly, the dependencies weren't right when building with HDF5-specific
commands (make lib, make check-s, etc.). Tweaked dependencies
to fix the problem.
Platforms tested:
mir, modi4, sleipnir
slight code change for efficiency of iteration of chunk address
Description:
Quincey picked this up because of my inexperience of C. A pair of redundant malloc and free calls will be removed.
Solution:
Platforms tested:
heping(Linux 2.4)
too little to be tested.
Misc. update:
Configure feature
Description:
Added 'make trace' target.
Solution:
Added tracing to 1.7. This was done automatically in 1.6, but left out
of 1.7 until now (oops!).
Tracing in 1.7 only happens manually, when the user types 'make trace.'
Tracing automatically requires more framework than it's worth.
I also fixed a couple of tracing bugs and ran trace.
Platforms tested:
mir, sleipnir, modi4
Misc. update:
Bug fix
Description:
Before this checkin, 'gmake check-s' would fail if there was a file in
the current directory named 'check-s'.
This is fixed under gmake (not sure how to fix for other makes).
Solution:
check, progs, install, etc. are what gmake calls "phony" targets,
which means that no file should be created. These targets can be
specified by a line of the form
.PHONY: check progs install ...
Automake adds this line for targets it knows about, but HDF5 has a
lot of custom rules. This checkin adds a .PHONY line for those rules.
I believe that only gmake recognizes the .PHONY line (at least, pmake
doesn't seem to), but a partial solution is better than none.
This error should occur very rarely anyway (the user has to manually
create files with names like 'build-check-s' or '_test').
Platforms tested:
mir, sleipnir, modi4