Purpose:
Bugfix
Description:
Internally created socket wasn't closed
Solution:
In my last commit I only fixed the case for sending data over a socket.
There was also a resource leak for the receiving side where an internally
created socket wasn't closed. Same wrong logical condition, same fix.
Platforms tested:
Linux, SGI
Purpose:
Bugfix
Description:
If the socket, used for data streaming by the Stream driver, was created
by the driver itself, it did not close it after the file had been closed.
A resource leak occured.
Solution:
This bug was just introduced due to a logical condition.
Fixing the condition solved the problem.
Platforms tested:
Linux, SGI
Feature/bug fix
Description:
The 'snapshot diff' command is run in all cases, even after the initial
"snapshot diff" and hosts are polled to run the test. It would not cause
any harm except wasting time repeating diff'ing. Also, the path is
quite right to invoke snapshot by merely "bin/snapshot diff" since it
has not "cd" to the right directory yet.
Solution:
Added a new option of "-nodiff" to skip the special diff request.
Then make "runtest" to call itself again with it to prevent
any further unnecessary diff'ing.
Platforms tested:
eirene
New feature
Description:
"snapshot diff" will just run the diff and exit 0 is no significant
differences found between current and previous versions.
Runtest will try a "snapshot diff" and will skip test if no significant
differences are found.
Platforms tested:
eirene
Bug-ish Fix
Description:
"make check" would barf in this directory since there's not a
"check:" target.
Solution:
Added a ".PHONY" entry so that "make checks" and the like won't barf
when they enter the pablo directory.
Platforms tested:
Linux
dpss removal
Description:
Removed dpss module since we no longer have that in the source. Also
fixed where the H5Tinit.c file was being looked for and how it was
compiled...
Platforms tested:
Linux
Bug Fix
Description:
Needed more -I flags to catch some of the include files.
Solution:
Added them. Cleaned up the way include files and -D defines were
specified in the Makefile.
Platforms tested:
Linux
Bug Fixes
Description:
Fixed some bugs. The CPPFLAGS wasn't being included into the
Makefile. Also, there's a sed script which needed to be pointed to
with the $(top_srcdir) macro.
Solution:
Added @CPPFLAGS@ to the CPPFLAGS line and put $(top_srcdir)/ before
the sed script file's name.
Platforms tested:
Linux
Bug Fix
Description:
Didn't need to test that the Pablo library had a function in it only
that it was there.
Solution:
Removed that check. Just checked if we can actually find the physical
library and include files where the user tells us they're hiding.
Platforms tested:
Linux
Bug Fix
Description:
Fixed wrong test for the HAVE_PABLO flag. Was testing if it was not a
null string when I should have been testing if it was equal to "yes".
Solution:
Changed test so that it checks if it's equal to "yes" instead of
non-null...
Platforms tested:
Linux
New Feature Addition
Description:
Revamped Makefile for Pablo software so that it is an option in the
global configure script that the user can specify with the
"--with-pablo[=DIR]" command.
Bug Fix
Description:
Some -I paths weren't included in the h5cc script. That would cause
the compiler to fail if it was trying to find gass header files or
the like.
Solution:
Added the CPPFLAGS macro to the h5cc.in file so that it'll be there
when it's generated. This will also include some -D options which we
compiled the library with, like the LFS flags on Linux.
Also changed the configure* files so that it will "chmod" the created
h5cc file to 755 (executable) since that wasn't happening all the
time...
Platforms tested:
Linux
Purpose:
Removed file
Description:
all_lang.zip was intended to be a copy of all.zip including other
language APIs, such as Fortran and C++. Yet, we later decided to
add these APIs to all.zip directly and disable them by default; the
user will enable his/her choice. Thus, this file is no longer needed.
Platforms tested:
None
Purpose:
rearrange projects, erase more warnings, faster compiling
fix a small bug in fortran building
Description:
Previously every testing project includes h5test.c to deal with
test initialization and clean up etc. So h5test.c is compiled dozens of
times for each HDF5 building. It slows down the compiling time and
shows more warnings(dozens of times warnings that h5test.c generates).
Solution:
Make library called libtest.lib and libtestD.lib and connect this library
with testing projects. In this way compiling time is shorter and warnings are reduced.
Platforms tested:
windows 2000
Note: HDF5 fortran debug dll test failed most tests. From the observation,
I suspect it is due to visual fortran compiler. Since debug dll passed all
in VS compiler.
New feature
Description:
Replacing the hardcoding of default version for snapshot test
to a file, bin/snapshot_version. This way, runtest and snapshot
can be version neutral. Makes maintenance easier.
Platforms tested:
eirene.
Purpose:
Code cleanup
Description:
DataType::convert: changed the 'nelmts' parameter from size_t to
hsize_t according to hdf5 library change.
Platforms tested:
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
Purpose:
Small bug fixing
Description:
Replaced NULL by 0 for initializing or passing null "string".
The problem showed up on platinum.
Platforms tested:
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
IA-32 Linux Cluster (platinum)
Purpose:
Adding new member function
Description:
Added PropList::copyProp according to the new api H5Pcopy_prop
in the C library. I'm still working on adding more tests so
test for this will be added as well.
Platforms tested:
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
FreeBSD 4.4 (sleipnir)
Bug fix
Description:
check-install was on the same make line with install. They
got run in parallel.
Run check-install as a separate make action after make install is completed.
Platforms tested:
Eirene
Feature
Description:
The output of multiple tests of one host used to all go to the same
logfile. It is harder to find the beginning of each test.
Solution:
Added hour and minute (HHMM) into the logfile name. Different
tests should go to different files now. If a second test starts
within a minute of the previous test, their output will be all
in the same file. In the case, there are probably not that much
output to worry.
Platforms tested:
eirene
Bug Fix
Description:
There was a problem with having a lot of groups nested together. We
could only handle 1024 characters at most, but, in a parallel program
especially, it could occur that there were lots and lots of groups
and would be more than 1024.
Solution:
I made the "objname" part of the obj_t structure a pointer instead of
a fixed size. Added code to allocate/deallocate the memory we need
for it. Had to fix how the "prefix" was being handled in the h5dump
program. It was also set to only 1024 characters in length. I made it
dynamic.
Added a test case...Go me!
Platforms tested:
Linux, Solaris
Feature
Description:
Added the check-install target to verify if installed software is
working. Currently only run "make check" in examples.
Platforms tested:
eirene
fetures
Description:
The example code used to just run parallel I/O test in the current
directory which is most likely where the program is compiled.
In general, this directory is most likely not a parallel file system.
Therefore, the example code often fails.
Solution:
Add an option "-f <prefix>" for specifying the correct test files
pathname prefix. The program now requires an explicite file prefix
either via the "-f" option or the environment variable $HDF5_PARAPREFIX.
(With the proper setup of $HDF5_PARAPREFIX, the example code can run
automatically in situtaions such as batch job or gmake check.)
Also added feature to cleaup up the test files created.
Of course, an added option "-c" to turn OFF the cleanup action.
Platforms tested:
eirene, modi4, dangermouse (all parallel modes).
modi4 (serial) just to verify it can compile.
Oops
Description:
I added files for testing the group comments dumping feature, but
didn't actually add it to the testh5dump.sh script.
Solution:
Added it.
Platforms tested:
Linux
DLL accommodation
Description:
In the inline constructor below:
DSetCreatPropList() : PropList( H5P_DATASET_CREATE) {}
H5P_DATASET_CREATE causes the famous "unresolved symbol" error
when building the Release version of dsets_cpp with DLL.
H5P_DATASET_CREATE uses H5P_CLS_DATASET_CREATE_g, which is
imported from hdf5dll. The inline constructor used in dsets.cpp
causes the use of H5P_CLS_DATASET_CREATE_g, which is then
considered undefined because dsets_cppdll is not using hdf5dll.
This only occurs in the Release version because the Debug build
disables inline.
Solution:
Made the affected constructor not inlined, i.e., its implementation
went in the cpp file.
Note that this problem does not occur in 1.4 branch because
H5P_DATASET_CREATE was defined differently, i.e., did not involve
external storage.
Platforms tested:
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
Windows 2000
Purpose:
Removing unnecessary file from all.zip
Description:
The file H5config.h.in got into all.zip somehow at some point.
When all.zip is being unzipped, an attempt to replace a newer
H5config.h.in by this file was made. I confirmed this with
Kent and removed it.
Platforms tested:
Windows 2000
Purpose:
Adding C++ support on windows
Description:
Added both static and DLL versions of the C++ API library and tests
to all.zip. The C++ API is disabled, however, and will need to be
enabled by the user.
Platforms tested:
Windows 2000
Purpose:
Bug Fix
Description:
C++ examples weren't being removed.
Solution:
We were trying to remove something called "EXAMPLE_DOCS", but we
needed to remove "EXAMPLE_PROGS" instead.
Platforms tested:
Linux
Bug Fix
Description:
The make uninstall-examples wasn't working if fortran or C++ was
built.
Solution:
Added uninstall-examples to the Makefile.
Platforms tested:
Linux
New feature
Description:
The examples have been changed to use the installed h5cc to do
the compiling. Added a step in the "test" part to
"cd examples; gmake check" which will test against the installed
software.
A more proper way is to create a "check-install" target to test
other installed software besides the C API, such as the Fortran
API.
Platforms tested:
eirene
Bug Fix
Description:
``make uninstall-doc'' wasn't working properly. Some files would be
left behind in the installed source tree. The fix I put in was too
heavy-handed as it wiped out the entire doc tree that was installed
and would remove any other files which were installed there.
Solution:
Executed the ``make uninstall-examples'' command if uninstalling the
docs. Fixed how the java Tutorial examples were being removed (they
weren't). Essentially used the PUB_SUBDOCS macro to help remove them.
Platforms tested:
Linux
Bug Fix
Description:
So, for Raw I/O in parallel, if you open a file with truncation by
multiple processes, it looks as if one process could open the file
and start writing to it while another process also opens the file
with truncation, thus wiping out all of the stuff the first process
wrote to the file.
This is bad.
Also added some garbage collection to the pio_perf routine to reclaim
the space taken by some of the tables.
Solution:
Placed an MPI_Barrier() statement after the Raw open()/create() call
so that all processes are synced up before they start writing to the
file.
Added free() calls to the tables which weren't being free'd.
Platforms tested:
Linux-pp (eirene)
Purpose:
Bone-headed Bug Fix
Description:
There were blanks being put into the output. The cause: the
"print_indent()" routine was printing indents for all of the
processes, but only process 0 should have been printing them out at
all (since process 0 is the one which prints out the reports).
Solution:
Check to make sure that we're process 0 before printing the indents.
Platforms tested:
Linux
Purpose:
Bug Fix
Description:
The doc tree wasn't being cleaned up all the way. Directories would
be left in there and some examples/Tutorial files weren't cleaned up
correctly.
Solution:
Have it remove the whole directory tree of the HDF5 documents
$(RM) -r $(DOCDIR)/hdf5
Platforms tested:
Linux
Bug Fix
Description:
When doing an install of dynamic executables on some platforms, the
"mktemp" command may fail which causes the contents of "tmpdir" to go
away. If it's a failure, we still need the previous value of tmpdir.
Solution:
I replicated some code so that tmpdir's old value before the mktemp
call is regen'ed if the mktemp call failed.
Platforms tested:
HP-UX SysV