Commit Graph

11069 Commits

Author SHA1 Message Date
Neil Fortner
6e01e7c254 [svn-r16711] Revert unintentional change to family_v16_00000.h5. Will look into how it keeps
getting changed.
2009-04-08 17:00:21 -05:00
Neil Fortner
c1c58f79a8 [svn-r16710] Purpose: Fix bug 1423
Description:
Versions of the library between 1.3.0 and 1.6.3 have a bug which prevents them
from opening any file that does not have the root group's symbol table
information cached in the root group's entry in the superblock.  Prior to 1.8
this was not an issue as this information was always cached.  However, 1.8.0
stopped writing this information (which is not required by the file format
specification), and these older versions can therefore not read files created or
last written by versions 1.8.0 to 1.8.2.  This fix modifies the library to once
again add this information to the superblock (when using the old file format).

Tested: jam, linew, smirom (h5committest)
2009-04-08 16:53:31 -05:00
Pedro Vicente Nunes
659f3a77ea [svn-r16708] added The scale index return value in H5DSiterate_scales was not always
+          incremented. (PVN - 2009/4/8 - 1538)
2009-04-08 16:22:13 -05:00
Pedro Vicente Nunes
c62ae38c01 [svn-r16706] #1538 (B2) Problems with Dim Scale APIs reported by Mathworks
ISSUE2: the scale index input/output parameter value passed to H5DSiterate_scales was not always incremented (it returns the scale index current iteration). 
SOLUTION FOR ISSUE2: modified the cycle in H5DSiterate_scales so that the scale index is always incremented
TEST: added some test cases with calls to invalid indices and H5DSiterate_scales with return scale indices and visitor data
tested: windows, linux
2009-04-08 15:55:02 -05:00
Larry Knox
90bcab5072 [svn-r16704] Snapshot version 1.9 release 37 2009-04-08 13:58:48 -05:00
Neil Fortner
559c385efc [svn-r16702] Purpose: Improve performance of factory free lists.
Description:
Factory free lists were formerly implemented as block free lists.  This was
inefficient as factories can only be one size, and implementing them as blocks
(which can be variable size) wastedd computation and space.  They have been
rewritten with a separate implementation, which is simlar to regular free lists
except they can be dynamically created and destroyed.

Tested: jam, linew, smirom (h5committest)
2009-04-08 13:53:36 -05:00
Neil Fortner
a4aae55760 [svn-r16698] Purpose: Fix bug 503
Description:
Changed Skip list package to use a deterministic skip list.  This allows the
skip list package to avoid calling rand() and srand(), even on machines without
rand_r().  There is no longer a p-value or maximum level for skip lists.

Tested: jam, smirom, linew (h5committest)
2009-04-08 12:02:09 -05:00
Pedro Vicente Nunes
837ab64fa7 [svn-r16696] #1538 (B2) Problems with Dim Scale APIs reported by Mathworks
ISSUE: When some functions are called with an invalid dimension index (for example, greater than the rank of the dataset) the function does not immediately fail, rather asserts down the code.
SOLUTION: added this check for H5DSdetach_scale, H5DSset_label, H5DSget_label (the other functions have this check) . H5DSiterate_scales also added a check for an invalid dimension scale index
TEST: added some test cases with calls to invalid indices
DOCS: Nothing added
2009-04-08 10:17:30 -05:00
Neil Fortner
41cea953dd [svn-r16694] Purpose: Fix bug 1526
Description:
Previously, H5Lcopy and H5Lmove would (through H5L_move) improperly apply the
"create intermediate groups" property to the source path traversal, and not the
destination.  Fixed it to apply the property to the destination and not the
source.  Also fixed H5Lcreate_ud to reject internal link classes without
throwing an assertion.

Tested: linew, jam, smirom (h5committtest)
2009-04-07 18:04:19 -05:00
Christian Chilan
8090374d00 [svn-r16683] Minor change in comments. 2009-04-07 12:08:41 -05:00
Scot Breitenfeld
858cb12fe4 [svn-r16678] Description:
Fixed warnings from absoft's compiler for !DEC$ statements.

Solution: There should not be a space after !DEC$ statements, removed the spaces.

Platforms tested:
Jam with gcc and f95
2009-04-07 10:16:42 -05:00
Pedro Vicente Nunes
92bbd705f1 [svn-r16676] #1521 (B2) H5DSdetach_scale memory leak
ISSUE: Purify (Windows Visual Studio 6) complains of a memory leak in H5DSdetach_scale call  regarding a  H5Aread call (stack is H5A_read, H5T_convert, H5T_conv_vlen, H5T_vlen_seq_mem_write, H5MM_malloc).
SOLUTION: When a scale is detached from a dataset, the variable length structure length field is decreased in one entry. The associated pointer must be reallocated with the new length.
DOCS AND TEST: Nothing added

tested: windows with purify, linux
2009-04-07 09:56:08 -05:00
Pedro Vicente Nunes
cade98122a [svn-r16671] fix compiler error on a missing "static" declaration
tested: linux
2009-04-06 09:54:54 -05:00
Allen Byrne
24160340ce [svn-r16669] Corrected the urls for h5dump xml dtd and schema
Tested: Fedora 10 gcc
2009-04-03 16:53:22 -05:00
Allen Byrne
e6f83cf57e [svn-r16666] Added h5tools.h to h5difftst.vcproj.
Added new test to h5repack.bat.

Tested on XP32-VS2005-IVF101
2009-04-03 16:31:19 -05:00
Pedro Vicente Nunes
ced8683011 [svn-r16663] cleaned compiler warnings in linux
tested: linux
2009-04-03 10:32:18 -05:00
Allen Byrne
385f2b4854 [svn-r16661] Remove command to copy h5Tinit.c in copy batch file. H5Tinit.c is generated during build and no longer exists in the windows/src folder.
Tested: XP64 VS2005
2009-04-03 09:09:07 -05:00
Christian Chilan
149fd72322 [svn-r16659] Modified dset and t_chunk_alloc tests to use dataset dimensions that are multiples of the number of processors.
Tested on jam and abe.
2009-04-02 16:28:48 -05:00
Pedro Vicente Nunes
fa5c42e27f [svn-r16657] add a mention to #1402 2009-04-02 15:31:16 -05:00
Pedro Vicente Nunes
443e2e355a [svn-r16656] #1402 (B1) h5repack does not preserve creation order indexing.
ISSUE : h5repack does not handle group creation order flags. 
ACTION: call H5P(g)(s)et_link_creation_order functions when handling groups, add new groups with these flags to the test generation program, and verify results in the test program. 
TEST: in the test program, function that compares property lists, added code to verify groups

tested: windows, linux, solaris
2009-04-02 15:17:10 -05:00
Quincey Koziol
38cf2e201d [svn-r16655] Description:
Clean up formatting (and test https: checkins to new subversion server)

Tested on:
    None needed, just whitespace changes
2009-04-02 13:10:26 -05:00
Quincey Koziol
6fddc705d6 [svn-r16654] Description:
Clean up compiler warning (and test checkins on new subversion server)

Tested on:
    None, just eyeballed, too minor to require test
2009-04-02 13:08:05 -05:00
Raymond Lu
5d4294042e [svn-r16653] Bug fix #1503 - H5Iget_type failed unexpected when an invalid ID was passed in. I put
some argument check in the internal function H5I_find_id and took out the assertion check.
I also removed the argument check in H5Iis_valid because it's in H5I_find_id now.

Tested on jam - simple change.  Tested v1.8 already.
2009-04-01 17:27:35 -05:00
Larry Knox
539406de99 [svn-r16650] Snapshot version 1.9 release 36 2009-04-01 15:07:23 -05:00
Pedro Vicente Nunes
f68caa19b2 [svn-r16646] fix typo 2009-04-01 14:02:18 -05:00
Pedro Vicente Nunes
58f96e4fd2 [svn-r16643] add a mention to #1501 2009-04-01 11:33:01 -05:00
Quincey Koziol
448e1b78ee [svn-r16636] Description:
Pass some user data down into the extensible array client context creation
callback.

Tested on:
    FreeBSD/32 6.3 (duty)
    Too minor to require h5committest
2009-03-31 14:24:31 -05:00
Quincey Koziol
0d1d64ad87 [svn-r16633] Description:
Use metadata cache flush dependencies (and 'notify' callback) to give
extensible arrays SWMR (single-writer/multiple-reader) access capability.

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.6 (amazon) in debug mode
        Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
2009-03-31 11:46:04 -05:00
Quincey Koziol
6283a0c823 [svn-r16632] Description:
Remove unnecessary 'udata' parameter from H5AC_set() and 'notify' callback
(introduced with checkin that added the 'notify' callback)

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.6 (amazon) in debug mode
    Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
2009-03-31 09:58:02 -05:00
Quincey Koziol
aeb65e00bd [svn-r16631] Description:
Correct error for 'notify' callback revealed in laggard parallel test
Tested on:
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2009-03-31 08:33:35 -05:00
Quincey Koziol
0ac0358a80 [svn-r16630] Description:
Add 'notify' callback to metadata cache clients, so that they can be
aware when the cache has taken/will take certain actions.  Notifications are
urrently limited to when an entry has successfully entered the cache (via an
insertion or a load from the file) and when an entry is about to be evicted
from the 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/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.6 (amazon) in debug mode
        Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
2009-03-31 08:20:42 -05:00
Pedro Vicente Nunes
972a1bba5d [svn-r16629] removed a h5dump test (array type) that has a different bogus output in frebsd (liberty)
removed  the call to the file generation in the test generation program
removed the binary h5 and ddl from svn

tested: linux
2009-03-30 16:47:29 -05:00
Quincey Koziol
b1d105ae78 [svn-r16627] Description:
Fix another set of missing parameters to updated H5C_get_entry_status()
call.

Tested on:
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2009-03-30 13:58:37 -05:00
Quincey Koziol
a5df827912 [svn-r16626] Description:
Fix missing parameters to updated H5C_get_entry_status() call.

Tested on:
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2009-03-30 13:24:03 -05:00
Quincey Koziol
f8fa1029b7 [svn-r16625] Description:
Add mechanism for querying if an entry in the metadata cache is the
parent or child in a flush dependency relationship.

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.6 (amazon) in debug mode
        Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
2009-03-30 12:45:30 -05:00
Quincey Koziol
383f266ef1 [svn-r16623] Description:
Revise how code for array statistics works.

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.6 (amazon) in debug mode
        Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
2009-03-26 17:06:57 -05:00
Pedro Vicente Nunes
f842a26c63 [svn-r16620] commented a run that fails cross platforms (liberty, abe) regarding a "double" print 2009-03-26 14:37:10 -05:00
Quincey Koziol
bbe430429d [svn-r16618] Description:
Modify metadata cache flush dependency feature to allow it to work
with entries that are pinned through the cache API calls.

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.6 (amazon) in debug mode
        Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
2009-03-26 13:16:54 -05:00
Neil Fortner
eb070568b0 [svn-r16617] Update RELEASE.txt with changes committed in revision 16615. Also add some bug
numbers to entries in RELEASE.txt.

Tested: kate
2009-03-26 10:31:27 -05:00
Neil Fortner
4e82abd8b3 [svn-r16615] Purpose: Fix bug 1499
Description:
Due to a bug in H5F_super_read, every time a file with a user block was opened
it would grow by the size of the user block.  The bug has been fixed, and
comments have been added to clarify when an eoa address should be relative and
when it should be absolute.

Tested:
jam, linew (h5committest)
2009-03-26 10:12:48 -05:00
Pedro Vicente Nunes
bd1fe8cd74 [svn-r16614] 3. #1501 (B1) tools bug if dataset is larger than H5TOOLS_BUFSIZE limit.
ISSUE : the tools use the following formula to read by hyperslabs: hyperslab_size[i] = MIN( dim_size[i], H5TOOLS_BUFSIZE / datum_size) where H5TOOLS_BUFSIZE is a constant defined of 1024K. This is OK as long as the datum_size does not exceed 1024K, otherwise we have a hyperslab size of 0 (since 1024K/(greater than 1024K) = 0). This affects h5dump. h5repack, h5diff
SOLUTION: add a check for a 0 size and define as 1 if so. 
TEST FOR H5DUMP: Defined a case in the h5dump test generator program of such a type (an array type of doubles with a large array dimension, that was the case the user reported).  Since the written file commited in svn would be around 1024K, opted for not writing the data (the part of the code where the hyperslab is defined is executed, since h5dump always reads the files). Defined a macro WRITE_ARRAY to enable such writing if needed. Added a run on the h5dump shell script. Added 2 new files to svn: tools/testfiles/tarray8.ddl, tools/testfiles/tarray8.h5. NOTE: while doing this I thought of adding this dataset case to an existing file, but that would add the large array output to those files (the ddls). The issue is that the file list is increasing.
TEST FOR H5DIFF: for h5diff the check for reading by hyperslabs is H5TOOLS_MALLOCSIZE (128 * H5TOOLS_BUFSIZE) or 128 Mb. This makes it not possible to add such a file to svn, so used the same method as h5dump (only write the dataset if WRITE_ARRAY is defined). As opposed to h5dump, the hyperslab code is NOT executed when the dataset is empty (dataset is not read). Added the new dataset to existing files and shell run (tools/h5diff/testfiles/h5diff_dset1.h5 and tools/h5diff/testfiles/h5diff_dset2.h5 and output in tools/h5diff/testfiles/h5diff_80.txt).
TEST FOR H5REPACK: similar issue as h5diff with the difference that the hyperslab code is run. Added a run to the shell script (with a filter, otherwise the code uses H5Ocopy). 

tested: linux (h5commitest failed , apparently it did not detect the code changes in /tools/lib that fix the bug: the error in an assertion in the hyperslab of 0. I am sure that making h5ccomitest --distclean will detect the new code , but don't want to wait more 3 hours :-) )
2009-03-25 15:28:50 -05:00
Raymond Lu
b03ffd19f4 [svn-r16612] I changed the API function H5Dopen to H5Dopen2, which I introduced in recent checkin.
Tested on jam - simple change.
2009-03-25 14:28:01 -05:00
Raymond Lu
b6312126e5 [svn-r16611] In previous checkin (r16609), the flag "write_driver" wasn't necessary as Quincey pointed out.
I took it out and used the driver address instead.

Tested on jam - simple change.
2009-03-25 13:21:09 -05:00
Raymond Lu
ffd0fddad2 [svn-r16609] Bug fix (#1161): When a family file created with v1.6 library is opened and closed with
v1.8 library, v1.8 library writes the driver info block in the superblock.  But v1.6
doesn't write it.  This caused the data after the superblock to be overwritten.  The
solution is to use a flag to indicate when the original file doesn't have the driver
info, v1.8 library doesn't write it either.

Tested on jam.  I have some trouble to access smirom and linew using h5committest.
2009-03-24 17:06:07 -05:00
Quincey Koziol
fdedcd9ceb [svn-r16606] Description:
Add H5AC_create_flush_dependency() and H5AC_destroy_flush_dependency()
wrappers for similarly named routines in H5C layer.

Tested on:
	FreeBSD/32 6.3 (duty)
	Too minor to require h5committest
2009-03-24 15:12:44 -05:00
Quincey Koziol
667b34c713 [svn-r16600] Description:
Ensure that metadata cache entries with flush dependencies are written
to the file in the correct order (for serial I/O, at least).

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-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.6 (amazon) in debug mode
        Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
2009-03-24 12:52:17 -05:00
Pedro Vicente Nunes
adf47d11b8 [svn-r16599] added the note
Fortran High-Level APIs:
    ------
     - Lite: The h5ltget_dataset_info_f function (gets information about a dataset) 
           was not correctly returning the dimension array (PVN - 2009/3/23)
2009-03-23 15:06:13 -05:00
Pedro Vicente Nunes
a75fb8d898 [svn-r16597] #1047 (B1) The h5lt info routines are returning data in transposed form. ISSUE : the dimension array of the function h5ltget_dataset_info_f was not transposed (because of C-FORTRAN storage order, the FORTRAN function calls the C function with the same name). SOLUTION: transpose the array. ACTION: add a test case.
tested: h5committest
2009-03-23 14:40:57 -05:00
Neil Fortner
9fe1810527 [svn-r16596] Update RELEASE.txt with changes committed in revision 16594.
Tested: kate
2009-03-23 14:17:12 -05:00
Neil Fortner
849d015bbd [svn-r16594] Purpose: fix bug 1189
Description:
Some files apparently exist in the wild which have corrupt symbol table messages
on the root group.  These files can be opened by 1.6 (which uses the cached
information in the superblock) but not by 1.8.  This patch fixes 1.8 and 1.9 so
they can now open these files, and will correct them if necessary.  Also fix
some potential (rare) problems with array datatype versions.

Tested: jam (parallel; h5committest not working on linew or smirom)
2009-03-23 13:51:29 -05:00