Commit Graph

2433 Commits

Author SHA1 Message Date
Quincey Koziol
0a5bcc1df0 [svn-r21131] Description:
Disable some test code that isn't going to work correctly again until
we've completely resolved Jira issue #7638.

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
        Mac OS X/32 10.6.8 (amazon) in debug mode
2011-07-20 14:09:08 -05:00
Quincey Koziol
f136245a4f [svn-r21127] Description:
Correct to use correct FAPL, to fix error when running 'make check-vfd' 

Tested on:
	Linux/64 2.6 (koala) w/make check-vfd
2011-07-19 20:34:55 -05:00
Raymond Lu
338fdac20d [svn-r21124] Issue 2763 - adding OAPL_ID as a new parameter to H5Rdereference. A followup commit for r21117. I made 2 changes:
1. Quincey changed H5P_DATASET_ACCESS_DEFAULT to H5P_DEFAULT for the tests that call H5Rdereference.  Inside H5R_dereference, I assigned H5P_DATASET_ACCESS_DEFAULT to OAPL_ID if it is H5P_DEFAULT.
  2. I added the test for invalid OAPL_ID in trefer.c.

Tested on jam, koala, heiwa.
2011-07-19 15:20:01 -05:00
Quincey Koziol
a777619a6b [svn-r21121] Description:
Switch from H5P_DATASET_ACCESS_DEFAULT to H5P_DEFAULT for calls to
H5Rdereference2().

Tested on:
    Mac OS X/32 10.6.8 (amazon) w/debug
    (too minor to require h5committest)
2011-07-18 18:12:28 -05:00
Quincey Koziol
de10631577 [svn-r21120] Description:
Check in ugly version of fix for Jira #7638.  I'm going to leave the issue
open in Jira and when the library has been refactored to use shared file
pointers (instead of top file pointers) for file operations, I'll uncomment
the check in src/H5Oshared.c

Tested on:
    Mac OS X/32 10.6.8 (amazon) w/debug
    (too small for h5committest)
2011-07-18 17:43:30 -05:00
Raymond Lu
304f19d730 [svn-r21117] Issue 2763 - I added a new parameter of object access property list to the function H5Rdereference. It's called H5Rdereference2 now. H5Rdereference function has been deprecated to H5Rdereference1. I also added some test cases in trefer.c.
Tested on jam, heiwa, and koala.
2011-07-18 16:23:02 -05:00
Allen Byrne
ecaf2df9e4 [svn-r21078] Update test script to remove generated test files per test rather then in one group. Discovered from public 1.8 CDash reports. 2011-07-08 11:45:07 -05:00
Raymond Lu
4df63636e3 [svn-r21017] This is a follow-up checkin for r21015 (bug fix for Issue 2598). I added two minor changes: 1. put the output file for
vfd.c test in the list for cleanup in Makefile.am; 2. put the data file in the list in CMakeLists.txt.

Tested on jam - simple change.
2011-06-22 15:05:17 -05:00
Raymond Lu
f8f8bed0c2 [svn-r21015] Bug fix for Issue 2598 - In v1.6 library, there was EOA for the whole MULTI file saved in the
super block.  We took it out in v1.8 library because it's meaningless 
            for the MULTI file.  v1.8 library saves the EOA for the metadata file, 
            instead. But this caused some backward compatibility problem.
            v1.8 library couldn't open the file created with v1.6 library.  I 
            fixed the problem by checking the EOA value to detect the file
            created with v1.6 library. 

Tested on jam, koala, and heiwa.
2011-06-22 10:47:57 -05:00
Raymond Lu
c74ab6e385 [svn-r20971] Issue 4278 - When reading data fails, the error message should say which filter isn't registered. This is the follow-up commit. The previous way to construct the name of the existent data file wasn't very safe. It could be cleaned up if any user builds the library in the source directory.
Tested on jam - simple change.
2011-06-13 16:28:49 -05:00
Raymond Lu
fc3a269042 [svn-r20944] Issue 4278 - When reading data fails, the error message should say which filter isn't registered. This is the follow-up commit. In my previous commit, I changed HDsnprintf to snprintf, which caused trouble for Windows because the name is _snprintf instead. So I changed it back to HDsnprintf for properly defined macro. I also changed all fprintf to HDprintf to be consistent.
Tested on jam - simple change.
2011-06-07 10:58:21 -05:00
Allen Byrne
40d8ea446b [svn-r20942] Add filter_error.h5 test file to list - used by error_test test. 2011-06-07 10:34:21 -05:00
Raymond Lu
aabfb1d756 [svn-r20934] Issue 4278 - When reading data fails, the error message should say which filter isn't registered. This is the follow-up commit (20929 and 20930). The check-vfd in Makefile has trouble with the file name. Because the test file
is pre-generated, I use the default FAPL to create the full file name to avoid some driver test.  

Tested on jam - simple change.
2011-06-06 12:05:37 -05:00
Raymond Lu
5fe34ffd25 [svn-r20930] Issue 4278 - When reading data fails, the error message should say which filter isn't registered. This is the follow-up commit. When I checked in the fix and test (revision 20929), I forgot to add the data file test/filter_error.h5.
I've tested it in my previous checkin.
2011-06-03 14:59:34 -05:00
Raymond Lu
4bffd76b3c [svn-r20929] Issue 4278 - When reading data fails, the error message should say which filter isn't registered. The fix is simple. Most of the effort is on the test. The file with filter enabled is created in gen_filter.c. The verification of the error message is in test_error.c. The output is compared against the standard output.
Tested on jam, koala, and heiwa.
2011-06-03 10:58:49 -05:00
Raymond Lu
157623de6a [svn-r20913] Issue 7579 - The overflowing ENUM values are inconsistent. When no conversion is involved in reading or writing the
data, overflowing values are retained.  When conversion happens, the values become -1. The conversion function puts -1
when overflow happens.  I added two new dataset transfer property to control whether to fill 0xff in the destination 
data or convert to the destination data when overflow happens.  The two new functions are H5Pset(get)_enum_conv_overflow.  I also added test cases in enum.c and dtypes.c.

Tested on jam, koala, and heiwa.
2011-05-27 12:30:24 -05:00
Raymond Lu
2de5fa986f [svn-r20872] Issue 7564 - Allow H5Tcreat to create string type (fixed-length and variable-length). I also added a test case in dtypes.c.
Tested on jam and linew - relatively simple.
2011-05-20 11:14:33 -05:00
Allen Byrne
aee3e0b047 [svn-r20856] Remove vms_data.hr reference from CMakeLists.txt and update MANIFEST 2011-05-18 08:50:22 -05:00
Raymond Lu
89339ccce5 [svn-r20855] Issue 2599 - Cross-test BE and LE data. I added the test for deflate, szip, fletcher32, shuffle and nbit filter in cross_read.c and gen_cross.c. I also took out the data file for OpenVMS because the data isn't native but IEEE for floating-numbers.
Tested on koala, heiwa, and jam.
2011-05-17 17:18:05 -05:00
Raymond Lu
03cc051dde [svn-r20759] I commented out 2 test cases using H5_CANNOT_OPEN_TWICE because they open the same file twice. OpenVMS
can't do it.  Other systems still run them. 

Tested on jam. Simple change.
2011-05-05 15:09:49 -05:00
Neil Fortner
775c663acd [svn-r20694] Add description for new "external_open_twice" test.
Tested: jam
2011-05-02 10:28:34 -05:00
Neil Fortner
1a93a07867 [svn-r20691] Purpose: Fix problem exposed by external link cache
Description:
When closing an object that had two open id's, the library would previously fail
to account for the status of the "holding_file" field, potentially causing the
file's "nopen_objs" field to become inconsistent.  This caused problems when
opening the same object twice through an external link using th external file
cache.  Modified the library to properly account for the status of the
"holding_file" field when closing an object id, even when the underlying
"shared" object isn't closed.

Tested: jam, koala, heiwa (h5committest)
2011-05-01 23:12:47 -05:00
Raymond Lu
e5467b3e4e [svn-r20666] Bug fix: VMS has trouble to deal with absolute path. I changed dtypes.c to use the file name only. I also
updated the current directory path in vms/test/H5srcdir_str.h.

Tested on jam and OpenVMS.
2011-04-28 15:03:35 -05:00
Raymond Lu
9f1262f957 [svn-r20610] OpenVMS complainted about a test case in th5o.c which opened the same file twice. VMS doesn't allow it. I used the macro H5_CANNOT_OPEN_TWICE to skip the test case. In th5s.c, I created an attribute but fogot to close it in the test case for zero dimension size.
Tested on jam.  But I haven't tested on OpenVMS yet.
2011-04-22 15:28:43 -05:00
Quincey Koziol
60bf7fddf1 [svn-r20551] Description:
Correct 'FILE **' back to 'FILE *' for H5Fget_vfd_handle call.

Tested on:
	FreeBSD/32 8.2 (loyalty) w/gcc 4.6 & debug
	FreeBSD/64 8.2 (freedom) w/gcc 4.6 & debug
	Solaris 2.6 (linew)
2011-04-19 06:34:51 -05:00
Dana Robinson
96a96fafaa [svn-r20548] Fixed bug in test/vfd.c (HDFFV-5936) that caused STDIO VFD test to fail on some platforms.
The problem was that the test was a clone of the SEC2 test.  The SEC2 test accepts a file descriptor (int) via a void pointer from H5Fget_vfd_handle() whereas the STDIO test needs to accept a FILE pointer.  Storing the FILE pointer in an integer failed on some systems.  The STDIO test now stores the file handle in FILE pointer and checks it for NULL instead of < 0.
2011-04-18 16:24:29 -05:00
Quincey Koziol
9431c7a97e [svn-r20536] Description:
Clean up various warnings & code formatting issues.

	Bring changes from Coverity branch to trunk:

r20085:
Purpose: Fix coverity issue 793

Description: Modified H5S_hyper_project_simple_higher() to free the entire span
list in new_space on failure.


r20091:
This is a fix for coverity bug #1683.
Changed the two printfs to use %lu (unsigned long) for printing "dset_size".


r20162:
Purpose: Fix coverity issue 785

Description: Modified H5T_enum_nameof() to free "name" on failure if it was
allocated.  Also clarified some code in H5S_hyper_rebuild_helper().


r20189:
Addressed coverity defect 783.

H5SL_new_node() in H5SL.c was failing to free space allocated in its
first alloc if the second alloc failed.  Added a call to H5FL_FREE
to address this issue.

This is purely to keep coverity happy -- if this code is ever triggered,
we have much larger problems.

Note that this fix will trigger an unused return value complaint
from coverity next week.


r20190:
Fixed Coverity issues 1561 1565 and 1678 (UNUSED_VALUES) by moving checks of return values to after the function call.


r20191:
Fixed coverity issues 643 644 and 1678 (CHECKED_RETURN).


r20232:
Addressed coverity issues 923-925.  Replaced calls to sprintf with calls
to HDsnprintf.


r20233:
Fix coverity issue 662.  Don't try to sort 0 attributes in H5Aint.c.


r20234:
Fix coverity issue 664.  Check for NULL before dereferencing in H5Gdeprec.c.


r20271:
Purpose: Fix coverity issue 784

Description: Modified H5_debug_mask() to keep a list of files opened for use as
a debugging output stream, and modified H5_term_library to close these files on
exit.


r20272:
addressed coverity issues 838 & 955.  Issue was use of strcpy() -- existing
code was safe, but modified to use strncpy() to keep coverity happy.


r20273:
Addresed coverity issues 1388 and 1389.
Initialized sel_iter->type to NULL in H5S_select_iter_init.


r20275:
Purpose: Fix valgrind issue in mf.c

Description: Fixed bug (incomplete if statement) in test_mf_fs_alloc_free() so
the retrieved node gets freed.


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, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
2011-04-17 13:57:07 -05:00
Quincey Koziol
2898c11590 [svn-r20535] Description:
Add explicit test that checks that the 'fileno' field in H5O_info_t
is the same for objects in the same file, whether the file was opened twice
or not.

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, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
2011-04-17 00:20:49 -05:00
Neil Fortner
7610dd20af [svn-r20529] Purpose: Add testing for bug 1864
Description:
Added internal tesitng routines to traverse a file and verify that symbol table
information is *always* cached, whenever possible.  Added this check to the end
of many tests to check all the test files, right before the call to h5_cleanup.

Tested: jam, amani, heiwa (h5committest)
2011-04-15 17:05:23 -05:00
Quincey Koziol
427add7c92 [svn-r20513] Description:
Correct several problems with compound datatypes that don't have any
fields added:

- Change assertion to error report when a file is encountered which has this
	situation.

- Added check to attribute creation to avoid creating attributes with a
	datatype like this (datasets and named datatypes already have the check)

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, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
2011-04-15 14:06:38 -05:00
Mike McGreevy
98362b664c [svn-r20504] Purpose:
General shared library improvements for CYGWIN / AIX

Description:

    Shared libraries are disabled on both CYGWIN and AIX due
    to inability to build them correctly. Part of the problem
    in both of these situations is the lack of the libtool
    flag -no-undefined, which tells libtool that all needed
    symbols are defined at link time (a requirement on these
    systems) and that it's okay to build shared libraries.

    Another problem are lack of dependencies between wrapper
    libraries and core C HDF5 library.

    This patch addresses both of these by fixing configure to
    add in -no-undefined flag for libtool during linking and
    adds automake dependencies in the Makefile.am files.

    After testing, both CYGWIN and AIX now generate shared
    libraries, but there are still some test failures in each.
    (cache_api, dt_arith, and testerror.sh on CYGWIN, and
    fortran tests on AIX).

    Even though the shared libraries are not quite perfect,
    this is a general improvement to what we had before, so
    I'm applying the patch anyways. Note that default behavior
    of shared libraries on these systems being disabled has
    NOT been changed and requires the use of the
    --enable-unsupported to attempt to build them.

    We will need to address the test failures in each
    architecture prior to formally supporting shared
    libraries on each.

Tested:

    h5committested & CYGWIN tested (on bangan)
    (AIX tested by Albert on bp-login2)
2011-04-14 16:21:59 -05:00
Mike McGreevy
a45c7424b2 [svn-r20502] Purpose:
Add "silent make" mode configure option.

Description:

    Automake 1.11 has a new option available that allows for a
    silent make mode. This functionality needs to be explicitly
    enabled in configure.in via the use of the automake macro
    AM_SILENT_RULES, which is what this commit is adding.

    This introduces a new configure option: 

        --{en|dis}able-silent-rules

    This option is on by default, and simplies compile and link
    line outputs when building the library. Disabling this option
    will print full "verbose" output (i.e., full compile and
    linking lines for each target).

Tested:

    This was tested on jam & h5committested
2011-04-14 14:45:57 -05:00
Raymond Lu
824dc864bf [svn-r20496] Bug 1386 - allow dimension size to be zero even though it isn't unlimited. I made a change in H5Sset_extent_simple to
forbid setting the dimension size bigger than existing maximal size.  In this checkin, I restored it to the previous 
behavior that any change will wipe out previous record of dimensionality.

Tested on jam - a simple change.
2011-04-14 12:24:03 -05:00
Neil Fortner
ce35ebecfb [svn-r20491] Rename H5Frelease_file_cache to H5Fclear_elink_file_cache.
Tested: Fedora (too minor for full committest)
2011-04-13 16:03:30 -05:00
Raymond Lu
6fc1d05359 [svn-r20487] Bug 1386 - allow dimension size to be zero even though it isn't unlimited. This is a follow-up checkin for
r20440 and r20469:
  1. The dataspace code has another bug - when the maximal dimension isn't passed in for H5Sset_extent_simple, it
     is supposed to be same as the dimension.  The current library sets NULL to it.  I corrected it and added a
     test case to it.
  2. I corrected the tests of Fortran and C++ for this problem.

Tested on heiwa, jam, and amani.
2011-04-12 15:25:27 -05:00
Quincey Koziol
e4c6ef2f06 [svn-r20480] Description:
Remove global variable for the path name in the group traversal code.  Also
clean up a bunch of compiler warnings.

Tested on:
    Mac OS X/32 10.6.7 (amazon) w/debug & production
    FreeBSD/32 6.3 (duty) w/debug
    FreeBSD/64 6.3 (liberty) w/debug
    Solaris/32 2.7 (linew) w/debug
2011-04-12 11:59:33 -05:00
Mike McGreevy
e006157deb [svn-r20475] Purpose:
- Revise shared Fortran library disabling scenarios in configure
    - Improve configure output summary

Description:

    Shared Fortran libraries are not supported on Mac, but were being
    disabled by configure in a way that also forced the C libraries
    to be static-only. This has been fixed, so now only shared Fortran
    is disabled while shared C can remain.

    This prompted two additional changes:

        1. While working on the check that addresses whether or not
           shared Fortran libraries are allowed, removed old and no
           longer needed check(s) that disable shared Fortran
           libraries with HP, Intel 8, PGI, and Absoft compilers.
           (Essentially, Mac is the only situation in which Fortran
           shared are disabled by configure.)

        2. Having two different states of libraries (i.e. shared C
           library with static-only Fortran library) was not apparent
           in the configure summary, which labeled all libraries as
           either shared and/or static. I've added lines to both the
           C++ and Fortran output sections to list shared/static-ness
           of these libraries specifically.

    Additionally, I've made sure that the new --enable-unsupported
    configure option correctly overrides configure if it tries to
    disable a shared library.

Tested:

    jam, fred, & h5committest
2011-04-11 16:00:38 -05:00
Raymond Lu
a67dbbaf81 [svn-r20469] Bug 1386 - allow dimension size to be zero even though it isn't unlimited. This is a follow-up checkin for r20440:
1. I added a test case of extending dataset of zero dimension size and shrinking back to zero dimension size.
  2. I updated the Makefile to include the new data file to be cleaned up.

Tested on jam - relatively simple.
2011-04-11 10:59:41 -05:00
Dana Robinson
b4f14a012e [svn-r20462] The basic STDIO VFD test in test/vfd.c fails on 64-bit Solaris 5.10 (SPARC) and 32-bit Darwin 10.7.0 (Intel). This check-in skips the STDIO test on all platforms while we investigate.
Bug report HDFFV-5936 filed in JIRA.
2011-04-10 16:05:57 -05:00
Dana Robinson
8a7973b011 [svn-r20459] Purpose:
Progress on bug 2138 (bugzilla) / HDFFV-4298 (JIRA)

Description:

- Added basic VFD tests (i.e. cloned the SEC2 test) for the Windows, STDIO and log VFDs.
- Added H5Pget_driver() sanity check to all VFD's tests.
- Added log output file to list of files to clean up in Makefile.am.

Tested on:

- h5committest script platforms (jam, amani, heiwa)
- Windows 7 (32- and 64-bit)
2011-04-08 16:31:31 -05:00
Dana Robinson
c480a8c717 [svn-r20453] Reordered two expressions to avoid integer overflow (quiets a compiler warning). 2011-04-08 15:20:20 -05:00
Raymond Lu
4b7f286a45 [svn-r20440] Bug 1386 - allow dimension size to be zero even though it isn't unlimited. I added test cases for contiguous, compact, and chunked, and external storage datasets, and also attribute. The test includes dataspace selections. I'll handle the tools in the next step.
Tested on jam, amani, and heiwa.
2011-04-07 16:56:38 -05:00
Allen Byrne
baba8a3d59 [svn-r20438] Fix typo in lib name for mingw 2011-04-07 16:12:36 -05:00
Allen Byrne
3cba2b092f [svn-r20433] Implement MinGW changes to CMake configuration
Tested: local linux
2011-04-07 13:07:41 -05:00
Allen Byrne
ac9e605b8e [svn-r20316] Removed includes which are included with proper config checks in h5private.h.
Tested: local linux, windows
2011-03-24 14:26:19 -05:00
Raymond Lu
3e8dc8cccc [svn-r20315] brought revisions 19868:20300 from the 1.8.6_vms branch to the trunk for VMS work 2011-03-24 13:33:45 -05:00
Raymond Lu
ebd388882b [svn-r20262] In my previous checkin (20255), I used H5Gcreate instead of H5Gcreate2 in my test. I just corrected it
.

Tested on jam.
2011-03-16 15:08:34 -05:00
Raymond Lu
00b1747297 [svn-r20255] Bug 2115 - add H5_VERSION_GE and H5_VERSION_LE macros. I added a new test case to show how to use them.
Tested on jam and amani.
2011-03-15 15:55:05 -05:00
Raymond Lu
a0f4d6d40c [svn-r20180] I added 2 public macros to the H5public.h - H5_VERSION_GE and H5_VERSION_LE - and put some test cases in tfile.c.
Tested on jam, heiwa, and amani.
2011-03-02 15:44:44 -05:00
Allen Byrne
05dfc85de8 [svn-r20153] Move ext lib handling for ext project building to a common macro. Update HDF5 project to use HDFMacros.cmake file. Add test properties for test ordering.
Tested: local linux, windows
2011-02-24 14:43:07 -05:00
Allen Byrne
5d320f5c89 [svn-r20141] Bring 1.8 r20139 cmake and windows changes to trunk 2011-02-22 09:55:04 -05:00
Raymond Lu
4f75c8c24b [svn-r20121] Bug 1586 - the datatype handler created with H5Tencode/decode had the reference count 0. I fixed it by changing the APP_REF parameter of H5I_register from FALSE to TRUE and added a test case in dtypes.c.
Tested on jam, heiwa, and amani.
2011-02-18 14:01:34 -05:00
Neil Fortner
0863d30372 [svn-r20064] Purpose: Implement external file cache
Description:
Implements a cache of files opened through external links.  Adds the public
functions H5Pset_elink_file_cache_size(), H5Pget_elink_file_cache_size(), and
H5Frelease_file_cache().

Tested: jam, amani, heiwa (h5committest), fedora 64.
2011-02-08 12:32:56 -05:00
Quincey Koziol
a6d5fa2c7d [svn-r20061] Description:
Bring changes from Coverity branch to trunk:

r19930:
Fix memory leaks involving VL attributes in h5repack and h5diff.  The buffers in
copy_attr and diff_attr were not checked for the presence of a vlen before being
freed, and vlen storage was never reclaimed.  Added checks and calls to
H5D_vlen_reclaim().

r19933:
Purpose: Fix memory leak in H5L_move_cb()

Description: H5L_move_cb copied the source link using H5O_msg_copy() but freed
it manually using H5MM_xfree().  Since H5O_link_copy allocates the link using
H5FL_MALLOC, this causes the link to be allocated from the free list but is
never put back on the free list when it is freed.  This prevents the link free
list from shutting down properly.  Modified H5L_move_cb() and H5L_move_dest_cb()
to free the link properly using H5O_msg_free().

r19973:
Fix resource leaks by freeing string created by HD5f2string

r19974:
Issue #345: Inialize buf variable to null

Tested on:
    Mac OS X/32 10.6.6 (amazon) w/debug & production
    (h5committested on Coverity branch)
2011-02-07 19:53:45 -05:00
Quincey Koziol
ff845ed8b1 [svn-r20052] Description:
Clean up Coverity warnings, and fix some style issues:

r19735:
Fix for memory leak in test/mf found by valgrind.

r19736:
Fix memory leak in h5repack.  The buffer in copy_objects, when copying the
entire dataset at once, was not checked for the presence of a vlen, and vlen
storage was never reclaimed.  Added check and call to H5D_vlen_reclaim().

r19772:
Change H5assert() to
   if (H5T_VLEN != src->shared->type || H5T_VLEN != dst->shared->type)
          HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a H5T_VLEN datatype")

r19774:
removed unused priv.

r19775:
removed unused variables

r19778:
Fix memory leak comparing for variable length data types.

r19834:
Fixed memory leaks found by valgrind.  Memory errors remain for another day.

Tested on:
    Mac OS X/32 10.6.6 (amazon) w/debug & production
    (h5committested on branch)
2011-02-05 22:24:42 -05:00
Neil Fortner
73d58f8b3c [svn-r20029] Purpose: Fix bug 2131
Description:
When using the scale-offset filter with floating point data or fill values, big
endian machines would save some metadata in the wrong byte order.  This caused
such datasets to yield incorrect data when read on little endian machines.
Fixed the scale-offset filter to always save this metadata in the right byte order (i.e. little endian).

Tested: jam, amani, heiwa (h5committedt); fedora, linew
2011-02-02 09:41:49 -05:00
Raymond Lu
e2b089b21c [svn-r20027] I added some test cases for H5Oset(get)_comment and H5Oset(get)_comment_by_name. It's related to bug 2130.
Tested on jam, amani, and heiwa.
2011-01-31 16:45:18 -05:00
Raymond Lu
2528e7021f [svn-r20006] I updated the read buffer from float to double to be more appropriate.
Tested on jam and linew.
2011-01-26 16:36:59 -05:00
Raymond Lu
4395b6378c [svn-r19998] I changed the previous commit from FLOAT to DOUBLE again because Neil prefers to it for fill value test. I
updated the data files, too.

Tested on linew and jam.
2011-01-26 11:47:53 -05:00
Raymond Lu
720ce5fb9b [svn-r19982] I changed the previous commit from DOUBLE to FLOAT because the bug (2131) happens to FLOAT only. I updated the
data files, too.

Tested on linew and jam.
2011-01-24 14:17:14 -05:00
Raymond Lu
1a212e80ce [svn-r19977] Bug 2131 - I added a test case for integer data. I also skipped the test case for double data because it still fails.
Tested on jam and linew.
2011-01-21 15:36:14 -05:00
Raymond Lu
1b6c627c30 [svn-r19972] I added a test case for dataset with scale-offset filter into cross_read.c and updated the data files from BE, LE, and VMS.
Tested on jam and linew.
2011-01-21 14:04:14 -05:00
Allen Byrne
9449cfa361 [svn-r19907] Windows: Correct how fortran links in CRT library. Also correct macro use for checking libtype.
bring r19906 from 1.8 branch
2011-01-04 13:40:26 -05:00
Allen Byrne
86313eb281 [svn-r19895] Remove use of /MT compile flag for building static libs and programs. Added BUILT_AS_STATIC_LIBRARY define to set the windows import/export defines correctly for static libraries. 2010-12-29 13:52:34 -05:00
Larry Knox
72634b34e4 [svn-r19839] Updated to libtool v 2.4, autoconf 2.68 and m4-1.4.15.
Tested with h5committest on amani, heiwa, and jam.
2010-11-23 17:56:59 -05:00
Raymond Lu
27fdd5c09c [svn-r19833] Bug fix - In the code of N-bit filter, one line (the last line of H5Znbit.c in H5Z_nbit_compress -
"*buffer_size = j + 1;" was mistakenly taken out by someone.  It is necessary to update the new size.  I
put it back and made 2 test cases for integer and float to verify the correct dataset size.

I'm bringing the fix from 1.8 branch.  The changes to configure.in, tools/misc, config, Makefile.am are only property changes.  

Tested on jam.  But I tested 1.8 on jam, heiwa, and amani.
2010-11-19 15:34:29 -05:00
Allen Byrne
218eecfb34 [svn-r19829] Fixed the name of the windows linkage define in the test header. This corrects the
inconsistent dll linkage warning and matches the other linkage defines. Changed H5_DLLVAR to H5TEST_DLLVAR. 

Tested: windows
2010-11-19 12:45:55 -05:00
Allen Byrne
0bb0aa86e7 [svn-r19823] BZ2013: Remove use of WIN32 defines. These two files were dependent on the winsock2.h header so changed WIN32 to H5_HAVE_WINSOCK_H.
Tested: windows
2010-11-18 12:37:57 -05:00
Albert Cheng
76c354a610 [svn-r19817] Bug 1917: Big.c test.
Changed the test to run Huge Dataset (tens of GB), Xtra large dataset(4GB big),
Large dataset (2GB big), or merely 1GB big, depending on if the file system
supports sparse file or if it supports larger than 32bigs I/O.

Tested: h5committest, jam (serial), Windows (Bangan which is Windows 7, 32bits).
2010-11-17 18:30:49 -05:00
Vailin Choi
4810a3d319 [svn-r19813] 1. Correct mistake for previous checkin rev #19781:
file name listed for DISTCLEANFILES should be testlinks_env.sh
2. Add comments to test_4() in test/external.c about the link name "/ link".
3. Fix memory leak as reported by valgrind in src/H5Lexternal.c: 
   free memory pointed to by tmp_env_prefix for HDF5_EXT_PREFIX case.
2010-11-17 17:11:02 -05:00
Mike McGreevy
39e3974628 [svn-r19798] Purpose:
Add additional error checking to catch erroneous user input.

Description:

    Attempting to retrieve a links's name by index in the case
    where the link is external and the file that the object is
    located in doesn't exist was causing a segmentation fault
    (in production) and an assertion failure (in debug).

    The segfault wasn't occuring until the metadata accumulator
    attempted a write, so I've added error checking higher in
    the pipeline in H5O_protect (where there was previously just
    an assert) to catch this. I've also added additional asserts
    in the H5F layer where there were none.

    Additionally, I added another case to the links.c test to
    test that this fails gracefully instead of segfaulting or 
    asserting out.

Tested:

    h5committest and gandalf (mac os x)
2010-11-17 10:08:33 -05:00
Albert Cheng
c249ccfd15 [svn-r19796] Bug 2091: remove all Metraowerks compiler code bracheted by __MWERKS__.
Metraowerks compiler is no more. Make the code cleaner.

Tested: H5committest plus jam serial.
2010-11-16 16:40:04 -05:00
Albert Cheng
69a5317860 [svn-r19795] Cleaned up some part of the code. It now works on all Unix and Windows 7
platforms.
2010-11-16 14:17:04 -05:00
Allen Byrne
186d01285a [svn-r19790] CMake: Correct Error tests. Add Deprecated Symbols option.
Tested: local linux
2010-11-16 11:38:40 -05:00
Vailin Choi
901b01601a [svn-r19783] Fix to the checkin for bug #1930. 2010-11-15 14:24:46 -05:00
Allen Byrne
cd7057b21c [svn-r19782] Fix CMake testing for links_env test which requires an environment variable at test run-time. Modified runTest.cmake file to allow optional ENV_VAR and ENV_VALUE to be passed. runTest.cmake requires a reference file, added links_env.out to testfiles folder.
Also updated root CMakeLists.txt to output a message when unsopported options are configured with the PARALLEL option. CMake will still generate files.

Tested: windows and local linux
2010-11-15 11:35:29 -05:00
Vailin Choi
0c589bf7b5 [svn-r19781] Fix for bug #1930:
1) Move the test for H5D_EXT_PREFIX in links.c to a separate file: links_env.c
2) links_env.c will be used by testlinks_env.sh to test for the environmental
   variable H5D_EXT_PREFIX in searching for the external linked file.
2010-11-14 23:04:28 -05:00
Albert Cheng
2013dace18 [svn-r19764] Updated NPROCS default value from 3 to 6. 2010-11-11 13:17:02 -05:00
Allen Byrne
2b0d8d59ae [svn-r19706] Added VFD test options.
Bring r19705 from branch
2010-11-01 17:10:50 -05:00
Allen Byrne
a960b232c1 [svn-r19702] Removed special fheap timeout - replaced by timeout set in CTestConfig.ctest
Added MemCheck Ignore tests for repeated tools tests
Added Debug flag for windows
2010-11-01 10:57:03 -05:00
Quincey Koziol
2954fc60ec [svn-r19697] Description:
Add another test for shutting down open object IDs without using the
standard "close" routines.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (too minor to require h5committest)
2010-10-29 10:31:57 -05:00
Raymond Lu
1e55692d9a [svn-r19696] Bug 2008 - IBM Power6 Linux uses special conversion algorithms to convert some values from long
double to (unsigned) long and from (unsigned) long to long double.  I added tests in configure.in
to detect these algorithms.  Before I can figure out them, I disable the tests in dt_arith.c.

There are property changes to tools/misc, config, and Makefile.am when I brought the fix from 1.8.

Tested on jam, heiwa, amani, IBM Power6 Linux machine in Holland (huygens.sara.nl).
2010-10-28 14:08:31 -05:00
Quincey Koziol
1fd8a32c91 [svn-r19668] Description:
Do some extra range-checking on H5Pset_elink_acc_flags() calls.

    Clean up some minor compiler warnings also.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (too minor to require h5committest)
2010-10-26 13:07:18 -05:00
Quincey Koziol
ba66540462 [svn-r19654] Description:
Bring Coverity revisions from branch back to trunk, and clean up some other
misc. compiler warnings also.

r19500:
Fix coverity items 1446 and 1447.  Moved up calls to memset in test_cont in
ohdr.c so the test never tries to close uninitialized locations.

r19501:
Fix coverity items 1398-1445.  Various uninitialized variable errors in fheap.c.

r19502:
Fixed coverity issue 579 and some additional warnings in the file as well.

r19503:
Bug fix: This fix addressed the "RESOURCE_LEAK" problems #789 and 790, run 26

r19504:
minor mods to try to keep coverity from flagging false positives.

r19505:
Fixed coverity issues 566 - 571.  Declared variables that are passed to functions that use them as arrays to be arrays of size 1.


Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug, production & parallel
    (h5committested on trunk)
2010-10-21 08:08:44 -05:00
Allen Byrne
9e2fff4540 [svn-r19650] Put back deleted library check in configure.
Remove shared library check around ws2_32.lib linking in test library. Issue on windows static builds.

Tested: windows
2010-10-20 11:41:39 -05:00
Mike McGreevy
8cc44e86a3 [svn-r19623] Purpose:
- Fix a bug in each of the metadata accumulator source and test code
Description:
    - In accum.c test file, switch dxpl_id used in H5F_accum_*
      function calls to H5P_DATASET_XFER_DEFAULT (instead of 
      H5AC_dxpl_id), to fix compilation on windows.
    - Changed boundary checking from <= to < when checking
      if a read from disk with overlapping dirty metadata in the 
      accumulator has the read ending such that it aligns exactly
      with the dirty accumulator (line 234 of H5Faccum.c).
Tested:
    - h5committested
2010-10-18 15:46:08 -05:00
Mike McGreevy
c002883bcc [svn-r19617] Purpose:
Merge accum_tests branch back to the trunk.
Description:
    Changes consist of addition of tests for H5Faccum.c source code,
    as well as some fixes that address some discovered bugs in the
    metadata accumulator on several corner cases.
Tested:
    h5committested
2010-10-15 14:16:41 -05:00
Quincey Koziol
d99e23638b [svn-r19587] Description:
Address issue with object headers being created getting evicted from
the metadata cache cache before they are completely initialized.  This is
done by pinning the object header in the cache until it is completely
initialized and attached to a group.

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, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug 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 debug mode
        Mac OS X/32 10.6.4 (amazon) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-10-13 10:42:01 -05:00
Raymond Lu
2337415674 [svn-r19578] Bug fix for 1707 - H5Eset_auto causes a seg fault when an application uses -DH5_USE_16_API
with the 1.8 library to compile.  The cause is from the mismatch of H5Eprint1 and H5Eprint2 
set through H5Eset_auto.  I changed the structure H5E_auto_t.  I added a IS_DEDAULT flag in 
it.  Both H5Eprint1/2 are the default now.  If the user sets his/her own printing function.
Then a call to H5Eget_auto1/2 will have to match H5Eset_auto1/2.  

Tested on heiwa, jam, and amani.

The property change in configure.in, config, and Makefile.am came from the merge of the 1.8
library change.
2010-10-11 17:15:54 -05:00
Allen Byrne
1f2c4afe77 [svn-r19527] Add clear generated objects commands to test blocks.
Add configurefile command to copy CTestCustom to build folder.

Tested: local linux
2010-10-06 15:49:54 -05:00
Raymond Lu
4bab8f2dd6 [svn-r19523] I added another test case - disabling chunk cache. H5Dwrite will fail instead of H5Dclose
when the chunk cache is disabled and the mandatory filter fails.

Tested on jam - simple change.
2010-10-05 15:40:47 -05:00
Allen Byrne
33d49072f6 [svn-r19520] Move 'int nerrors = 0' declaration out of '#ifdef' block to match return. 2010-10-05 14:59:28 -05:00
Allen Byrne
342ce6b589 [svn-r19509] Improve CMake support for CYGWIN.
Correct script comment in testh5diff.sh

Tested: Windows Cygwin
2010-10-04 16:36:27 -05:00
Raymond Lu
4b5ae88422 [svn-r19507] Fix for bug 1707 - I changed the design from the previous fix as Quincey suggested. I added a
flag IS_DEDAULT in the H5E_auto_t structure.  Both H5Eprint1/2 are the default now.  If the user
sets his/her own printing function.  Then a call to H5Eget_auto1/2 will have to match 
H5Eset_auto1/2.

Tested on jam, heiwa, and amani.
2010-10-04 13:46:37 -05:00
Larry Knox
155b00d8ff [svn-r19506] Bring changes from revisions 19408, 19421, and 19442 from branches/hdf5_1_8 to trunk. These revisions reorganize the compile scripts using h5cc.in, h5fc.in, and h5c++.in, add checks for installed examples to the scripts that run them after installation, and add DESTDIR for install as needed for RPMs.
Tested on amani, heiwa and jam by h5committest and with CYGWIN.
2010-10-04 12:15:30 -05:00
Raymond Lu
1c61b6fe13 [svn-r19481] I'm backing out my fix for bug 1707 because there're some unresolved issues - r19441 and 19467.
Bug 1707 is that H5Eset_auto causes a seg fault when an application uses -DH5_USE_16_API with 
the 1.8 library to compile.  

I created a branch off the trunk called set_auto to continue working on the problem.

Tested on jam - backing out, simple.
2010-09-27 14:02:48 -05:00
Quincey Koziol
6ff8aac3a7 [svn-r19472] Description:
Create a new, more streamlined method of generating I/O sequences when
there is only a single block defined by a hyperslab.  This improves the
performance of Ger Van Diepen's (LOFAR team) benchmark by about 20%.

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
        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 (cobalt) 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.4 (amazon) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-09-23 10:03:42 -05:00
Albert Cheng
7cca328350 [svn-r19471] Bug fix: 1961-- AIX 6.1 --enable-share did not work.
Description:
The AIX platform does not install the lib*.so for some reason but libhdf5.a
acts like a shared library.  Until we can find out how to fix this, patch
up tetlibinfo.sh to not look for an lib*.so in AIX. (Note the test results
look wierd as it says libhdf5.a passed and skipped.)

Tested: NCSA BP for both enable and disable-shared.
2010-09-22 17:53:43 -05:00
Allen Byrne
937cfb0c26 [svn-r19458] Add CMake tests for check-vfd; includes new vfdTest.cmake script and OPTION HDF5_TEST_VFD
Tested: local linux
2010-09-21 12:22:43 -05:00
Raymond Lu
d6c6a34a8f [svn-r19457] Bug fix for 1707 - H5Eset_auto causes a seg fault when an application uses -DH5_USE_16_API with the 1.8 library to compile. The cause is from the mismatch of H5Eprint1 and H5Eprint2 set
through H5Eset_auto.  I changed the union in the structure H5E_auto_t.  Another change is to 
make H5Eget_auto fail if H5Eset_auto is called to set the printing function.  I'll write a 
document for it.

Tested on heiwa, jam, and amani.

The property change in configure.in, config, and Makefile.am came from the merge of the 1.8 
library change.
2010-09-21 11:46:38 -05:00
Quincey Koziol
f93f533fd5 [svn-r19402] Description:
Correct Bz#1968 (Problem when opening new format file with
H5F_LIBVER_EARLIEST) by initializing symbol table leaf information in a
more universal way.  Also cleaned up other superblock initialization a
little bit while I'm here.

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, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug 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 debug mode
        Mac OS X/32 10.6.4 (amazon) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-09-16 15:01:08 -05:00
Quincey Koziol
1914737e06 [svn-r19398] Descriptino:
Clean up the internal usage H5I_dec_ref() to eliminate the sequence of
flags that has been creeping in.

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, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug 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 debug mode
        Mac OS X/32 10.6.4 (amazon) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-09-16 09:02:19 -05:00
Quincey Koziol
e5575571d4 [svn-r19396] Description:
Bring back various modifications to the v2 B-trees that were introduced
in the revise_chunks branch but aren't dependent on any file format or API
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/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, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug 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 debug mode
        Mac OS X/32 10.6.4 (amazon) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-09-16 06:38:10 -05:00
Neil Fortner
cb9a804f82 [svn-r19386] Purpose: Fix assertion failure caused by fractal heap header file pointer
Description:
The fractal heap header structure keeps a pointer to the file associated with
it.  However, it is possible for that file pointer to be closed while the
header is still in cache (through the shared file pointer).  Previously, the
header's file pointer was not updated and subsequently pointed to an invalid
file structure.  Modified fractal heap code to update the file pointer every
time the header is accessed.

Tested: jam, linew, amani (h5committest)
2010-09-15 10:29:38 -05:00
Mike McGreevy
b7c2d18029 [svn-r19367] Purpose:
Add windows threads support to HDF5.

Description:

    Added calls to the windows threads library to the H5TS layer, and wrapped
    most calls to either pthreads or windows threads library with portable
    H5TS-style defines. Modified tests to use portable function definitions
    as well.

    This can be configured via CMake with the HDF5_ENABLE_THREADSAFE
    option, and should work on windows vista and later operating systems.

Tested:

    h5committest, plus threadsafe with pthreads on jam and amani,
    and tested on a Windows Vista VM with threadsafe using windows threads.
2010-09-10 11:15:34 -05:00
Larry Knox
47c792faa0 [svn-r19366] Updated autoconf to version 2.6.7, libtool to version 2.2.10, and m4 to version 1.4.14. Also added m4 directory for m4 macros according to autoconf suggestion.
Tested with h5committest on amani, jam, and heiwa, and on linew.
2010-09-10 10:45:07 -05:00
Raymond Lu
073eb187d6 [svn-r19363] When mandatory filter failed to write data chunks, the dataset
couldn't close (bug 1260).  The fix releases all resources and closes
the dataset but returns a failure.

Tested with h5committest - jam, heiwa, amani.
2010-09-09 13:15:36 -05:00
Allen Byrne
bed1276413 [svn-r19361] Move Windows specific compile and link flags to macros 2010-09-09 11:30:23 -05:00
Raymond Lu
ad0134f2a6 [svn-r19354] Quincey and I made H5Eset_current_stack also close the stack to be set. This is to avoid
H5Eclose_stack clearing the default stack.  Please see bug 1799.

Tested on jam - simple change.
2010-09-07 10:41:55 -05:00
Quincey Koziol
c5bfe49ea6 [svn-r19352] Description:
Align w/changes on revise_chunks branch

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (too minor to require h5committest)
2010-09-03 22:44:19 -05:00
Allen Byrne
8a10a5f695 [svn-r19331] Correct list of h5 files needed for tests 2010-09-01 09:43:40 -05:00
Quincey Koziol
20ea68f5c4 [svn-r19328] Description:
Add some extra range checking for invalid chunk sizes.

    Tweak default chunk sizes to be zero, so that it's more likely that
application developers will be forced to set them correctly.

    Add a few tests to verify these checks.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (too minor to require h5committest)
2010-08-31 17:59:49 -05:00
Allen Byrne
e65aa8c365 [svn-r19325] Added parallel build commands.
Corrected use/name of source folder aliases.
Duplicated FindMPI.cmake so that non-c++ compiler is found first (recommemded commands did not work).

Tested: local linux with mpich
2010-08-31 15:15:13 -05:00
Quincey Koziol
4f92771233 [svn-r19313] Description:
Clean up a few compiler warnings and style issues in/near recent changes.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (too minor to require h5committest)
2010-08-26 16:38:09 -05:00
Quincey Koziol
60908b2e12 [svn-r19309] Description:
Bring revisions from Coverity branch back to trunk:

r19191:
Fix coverity items 104 and 105.  Added calls to H5HF_sect_indirect_free to
H5HF_sect_indirect_reduce and H5HF_sect_indirect_reduce_row if there is an errorbefore "peer_sect" is linked into the main free space structure via its direct
sections.  Also delayed call to H5HF_sect_indirect_first to prevent peer_sect
from being left in an inconsistent state.

r19268:
Added fix to disallow extendible compact dataset.
This was the same check as in H5D_contig_construct() in H5Dcontig.c.
Added test to verify the creation of extendible dataset with various layouts.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (h5committested on branch)
2010-08-26 12:16:50 -05:00
Quincey Koziol
52839cdf69 [svn-r19297] Description:
Whack a few more memory errors exposed by valgrind.

    Make the debugging dump output a little bit prettier.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug
    (h5committest forthcoming)
2010-08-25 15:27:07 -05:00
Raymond Lu
9fbdf8f07a [svn-r19288] Bug 1934 - I added support of all data types for H5Tget_order. I added a new byte order
H5T_ORDER_MIXED specifically for compound types and its derived types.  They report mixed 
orders if they have members of different orders.

There is no change to configure.in, config, and Makefile.am in the top directory.  They have 
some property changes when I merged the code from 1.8.  

Tested on jam.  I tested the same change for 1.8 with h5committest.
2010-08-24 11:00:20 -05:00
Quincey Koziol
0f95a9d5ab [svn-r19278] Description:
More fixes to memory allocation, etc. exposed by valgrind.

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, w/threadsafe, in production mode
    Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug 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 debug mode
    Mac OS X/32 10.6.4 (amazon) in debug mode
    Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
    Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-08-23 15:56:42 -05:00
Quincey Koziol
47c3bc7540 [svn-r19272] Description:
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:
    Mac OS X/32 10.6.4 (amazon) w/debug & valgrind
    (h5committest forthcoming)
2010-08-20 16:37:12 -05:00
Raymond Lu
e56b6f6c40 [svn-r19251] New feature(bug #1934): I made H5Tset_order support all data types with some restictions:
1. For enum type, members shouldn't be defined yet.
        2. H5T_ORDER_NONE only works for reference and fixed-length
           string.
        3. For opaque type, the order will be ignored.
        4. For compound type, all restrictions above apply to the
           members.

I'll change H5Tget_order and do another commit.

There is no change to configure.in, config, and Makefile.am.  There is some property change for
these files when I did a merge from 1.8.

Tested on jam.  But I tested the 1.8 on heiwa, and amani.
2010-08-19 10:27:56 -05:00
Quincey Koziol
771a850c58 [svn-r19242] Description:
Add in override for testing timeout alarm to allow "HDF5_ALARM_SECONDS"
environment variable to change the timeout value from the default value.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (Too minor to require h5committest)
2010-08-16 16:04:53 -05:00
Quincey Koziol
54d5a565f9 [svn-r19237] Description:
Clean up misc. compiler warnings.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-08-12 16:11:00 -05:00
Albert Cheng
063e4b2e2e [svn-r19230] Reset alarm_seconds back to 20 minutes.
Description:
honest3 v1.8 failed in parallel test.  It got stuck in the same
testpar/testphdf5 subtest (cbhsssdrpio).  This is an old problem.
Upon closer inspection, the testphdf5, when terminated, had clocked
up 1hr 9min 46 sec wall clock time.  Honest1 system also sent a message
that an mpi process has used up 30+ CPU minutes which exceeded their login
node cpu time limit and they killed the process.  I also did a hand-run
of testphdf5. All subtests before cbhsssdrpio completed in a few minutes.
Therefore, it is safe to say the majority of the 70 minutes of wall clock
time are spent in the sub-test cbhsssdrpio. It also used up lots of CPU
time.  cbhsssdrpio is likely infinite looping.

Since MPI application is prone to infinite looping due to message deadlock,
the testphdf5 has a built-in protection to give each subtest at most 20 minutes
of wall-clock time to run.  When the 20 minutes wall-clock time is exceeded,
the testphdf5 will attempt to terminate itself.  This prevents unnecessary
CPU time consumption in infinite looping.

But that clock limit was changed to 30 and then 60 minutes.  I should have
but failed to, noticed the change mentioned by Quincey.  IMO, 20 wall clock
time is more than sufficient for each subtest of testphdf5 to complete.
If a subtest takes longer than 20 minutes, it is likely infinite looping.
Giving it more time will not help.

If a subtest of testphdf5 takes more than 20 minutes, it should be broken
down to small tests that will finish way under 20 minutes so that it is 
much easier to see progress and identify any deadlock problems.

In view of this, I am changing the testphdf5 time limit back to 20 minutes.
This will at least stop the CPU TIME exceeding limits and annoying the
system administrators.

Maybe there could be a provision, such as environment variable like
$HDF5_ALARM_SECOND to modify the alarm duration on individual execution.
Even so, that should be used temporary to see if an execution just needs
a little more time.

Tested: just eyeballed as the change is trivia.
2010-08-11 13:12:45 -05:00
Quincey Koziol
d9a305afb7 [svn-r19207] Description:
Switch from using "UINT16_MAX" to "64 * 1024" for assert macro.

Tested on:
    None, just eyeballed.
2010-08-10 08:25:19 -05:00
Raymond Lu
ddf5c9caa5 [svn-r19175] Bug fix for #1239 - The filter's public function CAN_APPLY should return htri_t not
herr_t.  To minimize the change of the library's behavior, in the function
H5Z_prelude_callback of H5Z.c, if the return value of can_apply is FALSE and
the filter is MANDATE, this function returns a FAILURE.  If the return value is FALSE
but the filter is OPTIONAL, this function returns a SUCCEED.  During the IO, the filter
will fail and return a size of zero.  But the pipeline will skip this filter.
 
Tested the same change for 1.8 on jam, linew, and amani.  Tested on jam with szip.
2010-08-05 12:14:16 -05:00
Albert Cheng
41f0057dbc [svn-r19167] Bug fix: 1917.
Description:
test/big incorrectly determined not able to write files larger than 2GB and
skipped the SEC2 and STDIO driver tests.  The reason was because it was using
off_t while the SEC2 driver is using lseek64 which expects off64_t type.

Solution:
Created a new HDoff_t which is set to off_t or off64_t or other appropriate
type depending on which of lseek or lseek64 is available. Changed SEC2 file
driver and the big test to use this common definition.

Tested:
In BP (AIX), using --enable and --disable-largefile, for both 32 and 64 bits
modes.  Did not do h5committest because: 1. the error was exposed in the remote
BP machine; 2. the change is trivial.
Note that STDIO driver failed when --disable-largefile is used. That is an
error in the STDIO driver code that is being fixed.
2010-08-03 18:35:42 -05:00
Quincey Koziol
eff803f824 [svn-r19156] Description:
Bring revisions from Coverity branch back to trunk:

r19044:
Coverity #449 - Line 1560 called function H5O_chunk_protect for 2 pointers to allocate. But when there's failure on the second one, the first wasn't freed 
(H5O_chunk_unprotect).  We fixed it by freeing the pointers when an error happens.

r19045:
Fixed coverity issue # 319.  Free sec_node in done if it is not NULL.

r19046:
Add intended but missing assignments to initialize pointers to NULL (coverity issue fixes).

r19049:
Hdf5_1_8_coverity branch was recreated from hdf5_1_8 branch in revision 18839 without fix for Coverity issue #84 having been propagated to the hdf5_1_8 branch.  This revision adds the fix again.

r19060:
added parentheses to see if they will keep subversion from getting confused

r19061:
Fix coverity item 139.  Fixed incorrect condition for freeing buffer on error.

Fix coverity items 20 and 21.  Removed unused NTESTS facility from dtypes.c.

Cleanup in H5Shyper.c.

r19062:
Fix coverity item 450.  Check to see if chk_proxy has been allocated before
attempting to free it.

Fix coverity item 454.  Check to see if allocation of buf failed in
H5D_fill_refill_vl.

Fix coverity items 455-457.  Initilize hid_t's to -1, check their value before
attempting to close them, and check if the close failed.

r19063:
New fix to address coverity issue #84.  Check that pointers in H5Z_xform_find_type are not NULL before passing them to H5T_cmp.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (Too minor to require h5committest)
2010-07-30 13:06:32 -05:00
Quincey Koziol
0b7306beed [svn-r19133] Description:
Correct traversal of user-defined links (including external links) to
retain path information of object, allowing H5Iget_name() queries to work
quickly (without searching entire destination file).  This required some
refactoring and addition of a mechanism to detect if a "fast" query was
performed (for the tests).

	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/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, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug 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 debug mode
        Mac OS X/32 10.6.4 (amazon) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-07-28 07:27:56 -05:00
Quincey Koziol
cba920a036 [svn-r19120] Description:
Bump the testing timer value from 30 to 60 minutes.

Tested on:
	None, just eyeballed, too simple to require test
2010-07-22 08:13:15 -05:00
Quincey Koziol
e3537b7ee7 [svn-r19114] Description:
Rename H5AC_set() to H5AC_insert_entry()
	Get rid of H5C_set_skip_flags() & related flags

Tested on:
	Mac OS X/32 10.6.4 (amazon) w/debug, production & parallel
	(too simple to require h5committest)
2010-07-20 13:51:24 -05:00
Quincey Koziol
a67794b1bc [svn-r19099] Description:
Fix const pointer issues for projection construction routine and also
bump time before alarm kicks in to terminate a test from 20 minutes to 30
minutes, to give the PGI compiler tests w/debugging enabled a chance to finish.

Tested on:
	Mac OS X/32 10.6.4 (amazon) w/debug
	Linux/32 2.6.18 (jam) w/PGI & debug
2010-07-19 12:53:10 -05:00
Quincey Koziol
5a1cb3c7a6 [svn-r19096] Description:
Bring "round robin" metadata write strategy code from 'round_robin'
branch to the 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/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 debug 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
2010-07-19 05:54:51 -05:00
Quincey Koziol
f82774c0d5 [svn-r19092] Description:
Bring "shape same" changes from LBL branch to trunk.  These changes
allow shapes that are the same, but projected into dataspaces with different
ranks to be detected correctly, and also contains code to project a dataspace
into greater/lesser number of dimensions, so the I/O can proceed in a faster
way.

	These changes also contain several bug fixes and _lots_ of code
cleanups to the MPI datatype creation code.

	Many other misc. code cleanup are included as well...

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 debug 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
2010-07-19 00:05:45 -05:00
Neil Fortner
9a8c8887ab [svn-r19083] Add gen_sizes_lheap to CMakeLists.txt.
Tested: none
2010-07-16 16:44:15 -05:00
Neil Fortner
c22b8a94f2 [svn-r19076] Purpose: Fix bug 1951
Description:
A bug introduced in 1.8.5 causes local heap data blocks to be mis-aligned when
sizeof_offsets + 2*sizeof_lengths is not a multiple of 8.  In this case, the
address of the data block as stored in the heap prefix is aligned but the actual
data block is not.  This causes files created with these sizes to be corrupted,
and prevents uncorrupted files with these sizes to be unreadable.  Modified
local heap code to account for alignment.

Tested: jam, amani, linew (h5committest)
2010-07-16 11:32:49 -05:00
Larry Knox
10a8b060ca [svn-r19059] Brought changes from hdf5_1_8 to add version information for fortran and c++ compilers in libhdf5.settings file and configure output (r18836), to install examples as part of make install (r18680), and to provide scripts to compile and run the examples after they are installed (r18817).
Tested with new/h5committest on amani, heiwa, and jam.
2010-07-08 21:52:14 -05:00
Allen Byrne
2f13382883 [svn-r19037] Added executable Linker Flag for MSVC static builds: /NODEFAULTLIB:MSVCRT
Added VERSION vars for inclusion into auto snapshot version update script

Tested windows
2010-06-29 15:09:03 -05:00
HDF Tester
cb72139f74 [svn-r19022] Snapshot version 1.9 release 70 2010-06-20 12:05:42 -05:00
Mike McGreevy
9f208ec4e2 [svn-r19017] Purpose:
Minor code cleanup

Description:

    Add missing declaration of H5AC_ignore_tags() 
    to H5ACprivate.h

    Clean up some warnings in cache_tagging.c 
    test file

Tested:

    jam, gandalf
2010-06-17 12:27:41 -05:00
Mike McGreevy
1c8ec63a3d [svn-r19008] Purpose:
Fix some tagging issues.

Description:

    - changed H5Gcreate to H5Gcreate2 in the cache_tagging.c
      test file to work properly with 1.6 API default
      mapping turned on.

    - Added FUNC_ENTER/LEAVE_*TAG macros to the 
      H5G_stab_valid function.

Tested:

    gandalf, jam, amani (w/ production mode, 1.6 API mapping)
2010-06-16 10:17:39 -05:00
Mike McGreevy
60ecd356b2 [svn-r19005] Purpose:
Commit metadata tagging framework.

Description:

    This check-in contains a new framework whose goal is to apply
    a tag value to each new entry in the metadata cache as it is created. 
    This tag value is such that it relates each piece of metadata to the 
    HDF5 object that it belongs to (dataset, group, et cetera).

    This changeset includes the framework that applies the tags as 
    well as a suite of tests to verify correct tag application, though does
    not yet make use of the tag values to flush/evict individual objects.

    Please refer to the "flush/evict individual objects" RFC for further
    discussion of these changes.

Tested:

    jam, amani, linew (h5committest)
    liberty, abe, blue print
2010-06-15 15:00:22 -05:00
Albert Cheng
ed9a9f8c50 [svn-r18985] Test feature: (bugs 1919)
Problem: some launching command like yod (and sometimes mpirun), do not pass
back the exit code of the executables back to the shell. It always returns 0
if it can launch the executable. This cause tests that expect non-zero exit
code to fail incorrectly.

Short term Solution:
Added the feature that if $RUNSERIAL_NOEXITCODE is defined, do not
test conditions that rely on non-zero exit code.

Tests:
dove-linux using RUNSERIAL=thgyod to see the failures and using
$RUNSERIAL_NOEXITCODE=yes to bypass the errors.
Also h5committested.
2010-06-08 13:22:11 -05:00
Allen Byrne
c09abb3250 [svn-r18965] Windows use of VC_EXTRALEAN no longer did anything. It has been replaced by WIN32_LEAN_AND_MEAN macro. This was the cause of a define conflict causing the use of grp1 and grp2 to be replaced with constants in the h5dumpgentest.c file.
This also affected the use of the #include <winsock.h> needed by gethostname. The new include: winsock2.h has been added to h5private.h and either removed or updated in the other files.

Tested:  Windows
2010-06-03 17:22:34 -05:00
Quincey Koziol
7eb4441658 [svn-r18926] Description:
Get down to just one "resize_configs_are_equal" comparison routine.

Tested on:
    Mac OS X/32 10.6.3 (amazon)
    (too minor to require h5committest)
2010-05-31 13:27:33 -05:00
Quincey Koziol
9f90e06bd0 [svn-r18917] Description:
Bring r18911 (plus some adaptions to match the code on the trunk)
from the metadata journaling "merging" branch to the trunk:

	More general changes to align trunk with eventual changes from
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 debug 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
2010-05-27 15:27:13 -05:00
Neil Fortner
3f837fc323 [svn-r18894] Purpose: Improve allocation performance of filtered datasets with non-default VL
fill values.

Description:
Previously, H5D_chunk_allocate would, if a dataset were filtered and had a non-default VL fill value, allocate a new buffer for every chunk.  Changed
H5D_chunk_allocate to reuse the existing buffer if possible.  Also other
miscellaneous cleanup.

Tested: jam, linew, amani (h5committest)
2010-05-25 15:39:52 -05:00
Neil Fortner
2db0e8ecf3 [svn-r18868] Purpose: Fix bug in dataset shrinking algorithm
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)
2010-05-20 16:55:55 -05:00
Quincey Koziol
00aa7f1d8a [svn-r18864] Description:
General cleanups to align metadata journaling branch and 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/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 debug 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
2010-05-20 07:27:02 -05:00
Quincey Koziol
2fc65cf787 [svn-r18837] Description:
Remove the size parameter from H5[A]C_unprotect() and the
H5[A]C__SIZE_CHANGED_FLAG, switching all clients & tests over to using
H5[A]C_resize_entry appropriately.

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
2010-05-18 07:14:44 -05:00
Allen Byrne
ae06433ab0 [svn-r18793] Add files to support building library with CMake
Tested: Local linux
2010-05-13 11:01:50 -05:00
Quincey Koziol
5d8a2cca07 [svn-r18740] Description:
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
        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
2010-05-06 21:48:15 -05:00
Quincey Koziol
809a91fad6 [svn-r18725] Description:
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) 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
2010-05-06 10:00:43 -05:00
Quincey Koziol
5b2226efc3 [svn-r18721] Description:
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
        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
2010-05-06 08:32:07 -05:00
Mike McGreevy
f0ecd71307 [svn-r18709] Purpose:
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 has been removed in favor of the 
    --enable-largefile flag (enabled by default), which can be used on all
    platforms.

    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.
2010-05-05 12:34:26 -05:00
Quincey Koziol
74c8b68aca [svn-r18702] Description:
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
2010-05-05 08:39:56 -05:00
Quincey Koziol
010e44125b [svn-r18666] Description:
Switch H5Rget_obj_type to H5Rget_obj_type2.

Tested on:
    Linux/64 2.4 (amani) w/PGI compiler
2010-04-29 08:07:55 -05:00
Quincey Koziol
468e38c9e7 [svn-r18664] Description:
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:
    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.3 (amazon) in debug mode
    Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
2010-04-29 07:52:10 -05:00
Allen Byrne
35dc35e713 [svn-r18654] Bug 1741:
Added test of H5R package API parameters to testhdf5 test, these test only the public API parameter checks.
    
    
Tested: local linux
2010-04-28 10:31:00 -05:00
Quincey Koziol
b9ca2f8f6f [svn-r18650] Description:
Bring back various minor tweaks & cleanups from the revise_chunks
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-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
2010-04-27 17:15:14 -05:00
Raymond Lu
6c5e42a967 [svn-r18648] In H5T_get_native_type of H5Tnative.c, I changed the way that the offset, alignment, and
size of nested compound type are calculated by using H5T_cmp_offset.  The old way had a bug 
in it (see bug #1850).

Tested on jam.  I tested the same change for 1.8 on amani, linew, and jam.
2010-04-27 16:35:53 -05:00
Neil Fortner
e48bb7e1c5 [svn-r18644] Add testing of H5Lcopy() and H5Lmove() between files for soft and external
links.

Tested: Fedora (too minor for commit test)
2010-04-27 15:33:46 -05:00
Quincey Koziol
b0d7349fe8 [svn-r18632] Description:
Clean up memory leak in test code.

Tested on:
    Linux/64 2.4 (amani) w/debug & valgrind
2010-04-27 12:33:44 -05:00
Quincey Koziol
79a3ae8b6a [svn-r18627] Description:
More progress toward addressing Bz#1398: add 'volatile' keyword to floating-
point types when detecting their properties.  Also, minor code formatting
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-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.3 (amazon) in debug mode
    Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
2010-04-24 19:51:54 -05:00
Quincey Koziol
d94581e19b [svn-r18618] Description:
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
        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.3 (amazon) in debug mode
        Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2010-04-22 16:59:31 -05:00
Mike McGreevy
0cf2a97cfb [svn-r18579] Purpose:
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
2010-04-15 16:17:22 -05:00
Quincey Koziol
ebd22f7643 [svn-r18571] Description:
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 (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.3 (amazon) in debug mode
        Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2010-04-15 14:57:02 -05:00
Quincey Koziol
3dd92875b2 [svn-r18548] Description:
Minor cleanups to compile with PGI C compiler 10.x.

Tested on:
    Linux 2.4/32 (jam) w/PGI 10.x C and F90 compilers
2010-04-12 21:09:48 -05:00
Neil Fortner
7270b677a5 [svn-r18535] Purpose: Fix bug 1815
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)
2010-04-08 13:29:59 -05:00
Neil Fortner
d3d4d8782b [svn-r18445] Purpose: Fix bug 1637
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)
2010-03-24 11:41:14 -05:00
Quincey Koziol
bcd6c3f7cc [svn-r18420] Description:
Re-run bin/reconfigure to catch up with recent rearrangements, remove some
unused srcdir headers and duplicated code in main test header.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & prod
    Linux/32 2.6 (jam)
2010-03-18 07:45:29 -05:00
Quincey Koziol
1809f040c9 [svn-r18419] Description:
Clean up srcdir querying code more, extracting it into single header file,
to avoid compiler warnings.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & prod
    Linux/32 2.6 (jam)
2010-03-18 07:23:04 -05:00
Quincey Koziol
cd2534d9ba [svn-r18418] Description:
Centralize common code for srcdir lookups.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & prod
    Linux/32 2.6 (jam)
2010-03-18 07:04:39 -05:00
Quincey Koziol
0ac03c7890 [svn-r18414] Description:
Add copyright to new files
2010-03-17 16:48:09 -05:00
Quincey Koziol
fd547cd11f [svn-r18413] Description:
Unify srcdir handling for test executables and allow them to use the srcdir
setting from configure time without requiring the 'srcdir' environment variable
be set (although you still can, to override the built in setting).  Attempted
to get this right for Windows builds also.

    Also add dependency between src/H5Tinit.c and src/libhdf5.settings, so
that the test/testcheck_version.sh script works correctly.

Tested on:
    Linux/32 2.6 (jam)
    Mac OS X/32 10.6.2 (amazon)
2010-03-17 16:38:20 -05:00
Neil Fortner
2ece0d878a [svn-r18395] Purpose: Fix links.c failure
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)
2010-03-09 13:19:42 -05:00
Quincey Koziol
f139fe1c2d [svn-r18391] Description:
Clean up compiler warnings, check error values and fix whitespace.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(too minor to require h5committest)
2010-03-06 21:53:27 -05:00
Quincey Koziol
a976ea9f77 [svn-r18388] Description:
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)
2010-03-06 16:19:57 -05:00
Neil Fortner
1872925320 [svn-r18376] Purpose: Fix bug 1733
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
2010-03-05 12:51:45 -05:00
Neil Fortner
179b54da83 [svn-r18374] Purpose: Fix bugs involving external links
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
2010-03-05 12:24:17 -05:00
Quincey Koziol
d3a9b81fd0 [svn-r18346] Description:
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) 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
2010-02-27 15:08:03 -05:00
Quincey Koziol
0c39a78927 [svn-r18300] Description:
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)
2010-02-19 21:23:44 -05:00
Neil Fortner
7c82bbf030 [svn-r18262] Purpose: Fix bug in b-tree code
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)
2010-02-16 12:18:38 -05:00
Quincey Koziol
c5c0afaa61 [svn-r18256] Description:
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)
2010-02-14 22:23:19 -05:00
Quincey Koziol
824d691cbf [svn-r18252] Description:
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)
2010-02-14 14:27:07 -05:00
Quincey Koziol
e3b4922d8d [svn-r18230] Description:
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
        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
2010-02-11 14:29:45 -05:00
Quincey Koziol
a79ba5b135 [svn-r18224] Description:
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)
2010-02-09 17:32:28 -05:00
Quincey Koziol
f091546b6a [svn-r18222] Description:
Change name of H5Oexists() routine to H5Oexists_by_name(), to match rest
of H5O API routine naming scheme.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & production
    (too minor to require h5committest)
2010-02-09 16:51:06 -05:00
Quincey Koziol
c8d05fbe4d [svn-r18205] Description:
Add prototype of new H5Oexists() API routine.

Tested on:
    Mac OS X/32 10.6.2 (amazon)
    (further tests pending shortly)
2010-02-03 10:05:41 -05:00
Quincey Koziol
fd70b2afa8 [svn-r18197] Description:
Trim trailing whitespace from source code files with this command:

find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//'

Tested on:
    None - eyeballed only
2010-01-29 23:29:13 -05:00
Raymond Lu
35b0159a0a [svn-r18193] I added a test for copying an existing DCPL and using the copy to create a new dataset. There's
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.  But I tested the same change in 1.8 on jam, amani, and linew.
2010-01-29 15:38:34 -05:00
Albert Cheng
c147f1815e [svn-r18174] Bug ID 1753: added macro version of GetTestVerbosity.
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.
2010-01-27 17:03:28 -05:00
Quincey Koziol
032766b521 [svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.

	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,
2010-01-27 10:07:42 -05:00
Quincey Koziol
bb25c85e79 [svn-r18159] Description:
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
2010-01-23 02:00:00 -05:00
Quincey Koziol
fcc03a356b [svn-r18157] Description:
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)
2010-01-22 23:39:40 -05:00
Albert Cheng
2c872f398b [svn-r18154] ID 1753: added macro version of GetTestVerbosity.
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.
2010-01-22 16:17:48 -05:00
Raymond Lu
75f65c1583 [svn-r18125] I added the support of bitfield in H5Tget_native_type. Bitfield is similar to unsigned
integer.  I also added a test.

Tested on jam.  But I tested the same change for 1.8 with h5committest.
2010-01-20 15:41:23 -05:00
Quincey Koziol
066294e321 [svn-r18109] Description:
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)
2010-01-14 22:05:59 -05:00
Albert Cheng
22da4232a4 [svn-r18107] bug 1673:
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.
2010-01-12 18:58:30 -05:00
Quincey Koziol
86d40d2265 [svn-r18072] Description:
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:
        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
2010-01-07 17:45:21 -05:00
Quincey Koziol
1bc07c6aae [svn-r18031] Description:
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
        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
2009-12-17 17:21:08 -05:00
Quincey Koziol
77038a8175 [svn-r18030] Description:
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.

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
2009-12-17 10:07:35 -05:00
Raymond Lu
df2fef9759 [svn-r18028] On Boeing's OpenVMS, the value of EXIT_FAILURE is 268435458.
(The test is in test_exit_definitions.)  Their document says
it's supposed to be 2.  I commented it out for further
consideration.

Tested 1.8 branch on jam - simple change.
2009-12-16 16:17:04 -05:00
Raymond Lu
a428323f90 [svn-r18025] I removed a duplicated line from the read_old function. There were 2 identical calls to
the function H5Fopen.

Tested v1.8 branch on jam and the release 1.8.4 on OpenVMS.
2009-12-16 15:37:53 -05:00
Quincey Koziol
9b2c4bea02 [svn-r18011] Description:
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
2009-12-13 00:28:30 -05:00
Quincey Koziol
34d14bdf89 [svn-r17980] Description:
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/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
2009-12-10 07:36:56 -05:00
Raymond Lu
58c8ac33a8 [svn-r17977] Bug fix for 1584. H5Tdetect_class said a VL string is a string type. But when it's in a
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 on jam and amani - I tested the same change for 1.8 with h5committest.
2009-12-09 12:06:02 -05:00
Quincey Koziol
fda704377e [svn-r17971] Description:
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
    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
2009-12-06 21:51:54 -05:00
Quincey Koziol
fb1059e507 [svn-r17953] Description:
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) 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
2009-12-03 14:11:29 -05:00
Quincey Koziol
94a17b8662 [svn-r17951] Description:
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)
2009-12-03 10:39:14 -05:00
Quincey Koziol
71a9d50725 [svn-r17943] Description:
Finish refactoring v2 B-trees so that they can have client callback
context provided to the encode/decode callbacks.

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
2009-12-01 11:45:27 -05:00
Quincey Koziol
1bc79f977b [svn-r17939] Description:
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) 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
2009-12-01 08:39:05 -05:00
Quincey Koziol
4fe33eda1c [svn-r17895] Description:
Correct & simplify client callback context for extensible and fixed
array data structures.

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
2009-11-15 23:17:45 -05:00
Quincey Koziol
6d5d4ed1d1 [svn-r17893] Descrption:
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
        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
2009-11-14 22:38:58 -05:00
Quincey Koziol
d4a3b75302 [svn-r17873] Description:
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
        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
2009-11-12 22:33:10 -05:00
Quincey Koziol
a83a4ece41 [svn-r17860] Description:
"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)

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
2009-11-10 12:11:34 -05:00
Quincey Koziol
e8f31a2479 [svn-r17848] Description:
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
2009-11-07 08:12:06 -05:00
Quincey Koziol
401f0c995f [svn-r17842] Description:
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
2009-11-05 14:16:15 -05:00
Quincey Koziol
30a52dd1a2 [svn-r17838] Description:
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
2009-11-05 08:45:35 -05:00
Albert Cheng
a81d1b4035 [svn-r17832] Bug fix:(sort of)
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.
2009-11-04 17:08:49 -05:00
Quincey Koziol
56276c02cd [svn-r17785] Description:
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
2009-10-29 08:58:52 -05:00
Neil Fortner
529eb825c2 [svn-r17764] Purpose: Fix bug 1483
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)
2009-10-27 21:52:05 -05:00
Neil Fortner
376a788840 [svn-r17760] Purpose: Fix problem with H5TB API
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)
2009-10-27 17:23:49 -05:00
Neil Fortner
3df83b192d [svn-r17755] Purpose: Fix assertion failure caused by H5Tcommit1/2
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)
2009-10-27 16:29:54 -05:00
Neil Fortner
34c8292e76 [svn-r17751] Purpose: Fix assertion failure caused by H5Tcommit1/2
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.  Also a minor fix in the link_filters test.

Tested: Fedora 11 (very minor change)
2009-10-27 15:56:54 -05:00
Quincey Koziol
f985e7d22f [svn-r17740] Description:
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
2009-10-24 14:16:06 -05:00
Albert Cheng
db13a048a8 [svn-r17723] Bug fix:
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 platforms.
2009-10-22 11:56:21 -05:00
Larry Knox
a99a73d20e [svn-r17688] Merge make local copy of svn test data files for write access from v1.8 to trunk.
Tested:
	amani, jam, linew (h5committest).
2009-10-20 10:08:56 -05:00
Albert Cheng
a7db9a67b5 [svn-r17667] Bug 1656 fix:
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.
2009-10-17 23:51:20 -05:00
Quincey Koziol
3dd3756ea1 [svn-r17657] Description:
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.

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
2009-10-15 17:26:46 -05:00
Albert Cheng
451f5b1b11 [svn-r17635] Bug 1192:
Added EXIT_SUCEESS and EXIT_FAILURE macro values test.

Tested:
h5committested.
2009-10-12 23:04:21 -05:00
Mike McGreevy
7f0eb8e04e [svn-r17627] Purpose:
Couple quick configure cleanups

Description:

    - Made a few AM_LDFLAGS assignments a bit safer. 

    - Regenerated a couple Makefile.in's via bin/reconfigure to address
    some typo-fixes that didn't propagate in my last check-in.

Tested:

    - h5committest
    - Also, I suspect this fix will address a failure on Sandia's clogin2 
    machine, but Albert currently has no password to gain access, so I have
    only minimal logs of the failure and no way to test it there. I'll
    just let the automated tests there determine if indeed I'm right.
2009-10-09 15:12:06 -05:00
Quincey Koziol
492da787dd [svn-r17626] Description:
Correct error with initializing test file name in non-srcdir situation
(like Windows)

Tested on:
	Mac OS X/32 10.6.1 (amazon)
	FreeBSD/32 6.3 (duty)
	Windows
2009-10-09 13:31:24 -05:00
Quincey Koziol
dcbf871fed [svn-r17624] Description:
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
2009-10-08 23:09:34 -05:00
Quincey Koziol
13e5632d32 [svn-r17623] Description:
Bring "compress group's fractal heap" feature from 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/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
2009-10-08 20:31:36 -05:00
Mike McGreevy
7ec079a515 [svn-r17616] Purpose:
CFLAGS overhaul

Description:

    Modified the way configure handles CFLAGS.

    (note: all changes also apply to FCFLAGS, CXXFLAGS, CPPFLAGS, and LDFLAGS).

    1. The configure process will now always preserve a user's CFLAGS
    environment variable setup. Any additional flags necessary for compilation
    added at configure time will be passed into the Makefiles as AM_CFLAGS,
    which is an automake construct to be used in addition to CFLAGS.

    This will allow a user to have the final say, as CFLAGS will always appear
    later in the compile line than AM_CFLAGS. Additionally, setting CFLAGS
    during make will no longer completely erase all flags set by configure,
    since they're maintained in AM_CFLAGS.

    2. Additionally, where possible, flags previously being assigned directly
    into CFLAGS (and thus propagating into h5cc) have now been redirected into
    H5_CFLAGS, so they're used ONLY for compiling hdf5, and not embedded into
    the h5cc wrapper script as well.

    *Note that H5_CFLAGS ultimately is assigned into AM_CFLAGS for use in the
    Makefiles. Complete description of changes and build process will be
    included in a Configure Document that Elena and I are working on.

    3. Removed unsupported config files. This includes:

       config/dec-osf*
       config/hpux11.00
       config/irix5.x
       config/powerpc-ibm-aix4.x
       config/rs6000-ibm-aix5.x
       config/unicos*

     4. Modified configure summary to display additional values. Specifically,
     appropriate AM_* variables are being shown, as well as H5_FCFLAGS and
     H5_CXXFLAGS, which were for some reason not already present.

Tested:

    - H5committest
    - Tested on all THG / NCSA machines, using several combinations of the more
      prominent configure options (c++, fortran, szip, threadsafe, parallel,
      et cetera). (Thanks to Quincey for rysnc testing setup!)
    - With regards to new automated testing, anything *necessary* for
      compilation will be caught by the daily tests as it stands now. (i.e.,
      if LDFLAGS is not properly set when szip is used, linking will fail).
      Additionally, with regards to which flags get into h5cc, if any
      *necessary* flags have been improperly removed, then daily tests should
      fail during make installcheck. Additional machine-specific desired
      behaviors and/or checks may have to be set up separately within the
      daily tests, so this is something to work on.
2009-10-08 10:17:30 -05:00
Albert Cheng
d612aa916b [svn-r17611] Bug fix (ID 1628):
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.
2009-10-07 19:20:57 -05:00
Albert Cheng
8d8f365711 [svn-r17606] Code Cleanup:
TFLOPS machine has retired long ago. Removed all code specific for its
support.

Test:
h5committested.
2009-10-07 00:08:05 -05:00
Quincey Koziol
7f1379704f [svn-r17604] Description:
Correctly invoke generic property list class callbacks all the way to
the root of the class hierarchy.

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
2009-10-06 22:05:53 -05:00
Quincey Koziol
770b6a467b [svn-r17599] Description:
Minor code cleanups, based on cleanups in the compress_group_fheap
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 (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
2009-10-06 13:53:53 -05:00
Neil Fortner
eed2ea424b [svn-r17585] Purpose: Fix bug 1597
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)
2009-10-02 15:40:01 -05:00
Quincey Koziol
37ec6dc75e [svn-r17582] Description:
Bring changes from file free space branch back to the trunk.  *yay!*

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.5.8 (amazon) in debug mode
        Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2009-10-01 21:08:59 -05:00
Albert Cheng
006071f233 [svn-r17580] Added testlibinfo.sh testcheck_version.sh to be distcleaned.
Tested: Jam.
2009-10-01 16:52:27 -05:00
Albert Cheng
9a1a404e5a [svn-r17570] Bug fixes and improvement done in v1.8 and forgot to port here.
Tested: jam only as it is simple shell script changes.
2009-10-01 14:26:32 -05:00
Quincey Koziol
ee383d182f [svn-r17553] Description:
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
2009-09-29 15:08:01 -05:00
Albert Cheng
0f2901843c [svn-r17543] Bug fix (ID 1656):
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.

Tested:
h5committested, extra jam serial, --disable-embedded-libinfo.
2009-09-28 23:43:22 -05:00
Albert Cheng
06a71c86a3 [svn-r17542] New test:
Add new tests (tcheck_version, testcheck_version.sh) to verify H5check_version()
does issue warnings and abort accordingly.

Tests:
H5committed tested plus jam serial tested.
2009-09-28 10:44:35 -05:00
Neil Fortner
260d1d3873 [svn-r17530] Purpose: Fix bug 1555
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)
2009-09-25 13:09:06 -05:00
Quincey Koziol
d020ce731b [svn-r17524] Description:
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)
2009-09-24 18:10:20 -05:00
Quincey Koziol
74c6507d9f [svn-r17518] Description:
Bring most of Vailin's changes to the fixed array data structure back
to the trunk, including new regression test for data structure.

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.8 (amazon) in debug mode
        Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
2009-09-24 15:30:47 -05:00
Raymond Lu
d67bb5f130 [svn-r17516] In the function test_rw_noupdate, I added a test with the system functions to make
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, smirom, and linew.  My account for OpenVMS expired.  I'll test it once I have
it back.
2009-09-24 13:26:42 -05:00