Final fix for evict-on-close issues with new-style groups.
* commit '02879bc4b2ba161dc259bf28a71e7a99b44be0e3':
Updated the H5FS cache code to grab the correct tag and modified the freespace test to use dxpls that have been tagged with the H5AC__FREESPACE_TAG global tag instead of H5AC_ind_read_dxpl_id. The library code now expects the owner of the free space manager to tag it so the owner-less free space managers in the freespace tag had to be tagged with *something* to avoid cache errors.
Changed the name of H5MF_alloc_close() to H5MF__alloc_close() to make the FUNC_ENTER macro happy.
Reverted the freespace test. The TAG macros in H5MF_get_freespace() make the changes unnecessary.
Added missing TAG macros to H5MF_get_freespace().
Updated the freespace test so functions take a common, tagged dxpl so the test will work with the new H5FS tag changes.
Updated the cache_tagging test so it correctly analyzes the new fractal heap free space manager behavior.
Added TAG macros to the H5MF package code so H5AC__FREESPACE_TAG gets set on the dxpl correctly. Also restored the TAG macro to H5FS__cache_hdr_pre_serialize() since otherwise the tag won't be initialized.
First cut at fixing the tagging issue with the free space managers. * Converted the tag macros to regular ones so the parent's tag is used via the dxpl.
the freespace test to use dxpls that have been tagged with
the H5AC__FREESPACE_TAG global tag instead of H5AC_ind_read_dxpl_id.
The library code now expects the owner of the free space manager
to tag it so the owner-less free space managers in the freespace
tag had to be tagged with *something* to avoid cache errors.
the new fractal heap free space manager behavior.
Also converted the debug output of the cache_tagging
test to use the revised H5AC_dump_cache() function.
* Converted the tag macros to regular ones so the parent's tag
is used via the dxpl.
* Updated the tag sanity check logic so for free space managers.
* Turned new-style group checks back on in test/evict_on_close.c
Fix for some evict-on-close issues revealed by Valgrind.
* commit 'd3dbe9d90ee71b231b3264e1d62d3efbae3242ef':
Tentative fix for valgrind issues related to EoC.
Fix for tfile.c valgrind issues.
* commit '191cc19ae0a2feb72d2171a0808fdc71a3b862dd':
Added vlen reclaim functions to a test in tfile.c that leaks memory.
Adds /*out*/ parameters to H5O_close() and H5F_try_close() so
that H5D/G_close() will know when H5O_close() has triggered a
file close and thus the file struct is not reliable.
Also removes the H5F_CLOSING() macro and related which were
formerly used to check if the file was closing.
Fixed a few memory issues in the tests.
* commit 'e2863ca880a6983558d3ba3e5219164a57287f04':
Fixed a few memory problems in test/cache_logging.c and test/h5test.c (which show up in test/vfd.c).
* commit 'b2878dec04c120e4e3cdf00e943283e359862c84':
Move cache debugging routines into separate module.
Change file memory type for extending to default, and correct error in backward compatibility for multi VFD.
Warning and whitespace cleanup.
Improvements to the log VFD, for helping with SWMR debugging.
Minor code cleanups.
Uncomment line in test/objcopy.c, clean up whitespace and POSIX call wrapping in tools code.
A 'static' keyword was removed from an array that needs it on Windows
during a warning removal overhaul. Replacing it fixes the error.
Tested on: 64-bit Windows 7 w/ VS 2015
Prevents the test from segfaulting in other sub-tests
when a previous test fails.
Tested on: 64-bit Ubuntu Linux 16.04 LTS w/ gcc 5.4.0
Autotools serial + direct VFD (vfd test only)
Also tested with a forced error to ensure
that the test no longer segfaults and
confirmed that all test files are cleaned up.
More warning cleanups, bringing the build down to 25 unique types of
warnings, with 550 warnings in 122 files (down from 28, 770, and 134).
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial & parallel
(h5committest forthcoming)
Checked the return value of a read() call to clean up a warning.
Tested on: 64-bit Ubuntu Linux 16.04 LTS w/ gcc 5.4.0
Autotools serial, file_image test only
More warning cleaups: down to 770 warnings (from ~940) in 134 files (from
148), with 28 unique kinds of warnings (from 31).
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial & parallel
(h5committest forthcoming)
Switch test framework to dynamically allocate the testing array, and
expand the length of the description field.
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial & parallel
(h5committest forthcoming)
Clean up more warnings: drop the warning count from ~1310 down to ~940,
with only 31 types of warnings in 148 files (down from 38 types in 167 files).
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial & parallel
(h5committest forthcoming)
Since it only tests the core VFD, there's no need to get a
VFD-dependent fapl.
Tested on:
64-bit Ubuntu Linux w/ gcc 5.3.1
vfd test w/ all VFDs tested by make check-vfd
More warning cleanups. This brings us down to ~1300 warnings in 167 files
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial & parallel
(h5committest forthcoming)
Clean up warnings (from 2774 -> 1560, with my standard debug build)
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Move updated flush dependency code in metadata cache from revise_chunks
branch to trunk. Also many of the cleanups from r30111 in the revise_chunks
branch.
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial, parallel & production
(h5committest forthcoming)
The features is controlled via H5Pset/get_evict_on_close()
and is currently enabled by default (it will be disabled
by default in the final implementation).
There is a bug in the code where the eviction of tagged
metadata fails due to some of the metadata being dirty,
resulting in error return values and test failures.
Bring object/dataset/group/named datatype features from revise_chunks
branch to trunk. Also CMake support for h5format_convert and a bunch of
misc. cleanups.
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Bring r29992 from revise_chunks branch to trunk:
Turn off error reporting for h5debug and hdf2gif.
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial, parallel & produciton
(h5committest forthcoming)
Bring r29914 from revise_chunks branch to trunk:
Banished -Wformat= warnings from the library, tools, and tests.
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Bring r29909 from revise_chunks to trunk:
Cleaned up "conflicts with C++ keyword" warnings.
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial, parallel & production
(h5committest forthcoming)
- Cleaned up mixed tabs and spaces that mis-aligned brackets.
- Test functions now return hbool_t to match the global pass variable.
- Main now returns EXIT_SUCCESS/EXIT_FAILURE.
- The invalid_configs array is now allocated dynamically instead
of statically. This reduces the frame size, removing some
warnings and making it easier for platforms/compilers that
have frame size issues (e.g.: zOS).
Tested on: 64-bit Ubuntu Linux w/ gcc 5.3.1
Autotools serial
Minor rearrangements, to align with revise_chunks branch
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Bring "file pointer patching" code & test from revise_chunks to trunk.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Bring 'none' chunk index from revise_chunks branch to trunk.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production (w/check-vfd)
(h5committest forthcoming)
config/linux-gnulibc1 reapply filx for HDFFV-9439 which was partially removed, probably by merge from revise_chunks branch.
Tested with h5committest.new on kituo, ostrich, osx1010dev and platypus.
Close another FAPL in the test_missing_chunk() routine.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production (w/check-vfd)
(h5committest forthcoming)
Bring "single" chunk index from revise_chunks branch to trunk.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production (w/check-vfd)
(h5committest forthcoming)
Close FAPL that was leaked in zero_dims test.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production, including check-vfd
(h5committest forthcoming)
Bring over more dataset tests from the revise_chunks branch.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Correct chunk index computation for earrays and farrays, particularly when
copying datasets with H5Ocopy() and other operations (like H5Dget_storage_size)
that require iterating over all chunks.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial & parallel
(h5committest forthcoming)
Bring support for earray and v2 B-trees from revise_chunks branch to
trunk.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Minor style cleanups, from revise_chunks branch
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel and production
(too minor to require h5committest)
Bring updated layout and EFL property comparisons and new "latest format"
flags from revise_chunks branch.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Corrects a problem where H5Dget_access_plist() returns a dapl that
does not contain all dapl fields.
Tested on: 64-bit Ubuntu 15.10 w/ gcc 5.2.1
autotools serial
Svn revisions reverted: 29341, 29326
Branch features/h5check_version was created for further development.
Files changed
test/tcheck_version.c
test/testcheck_version.sh.in
src/H5public.h
src/H5.c
config/lt_vers.am
bin/h5vers
Tested with h5committest.new
bin/h5vers:
Changed to copy the shared lib version from lt_vers.am to H5public.h
(Thanks to Larry who made the changes.)
config/lt_vers.am:
cosmetic change, nothing material.
src/H5public.h:
Changed by bin/h5vers.
src/H5.c:
Changed H5check_version() to use shared library version for compatibility
checking.
test/tcheck_version.c:
test/testcheck_version.sh.in:
Changed to use shared library version numbers instead of the HDF5 library
version numbers for testing.
Tested: tested in Jam (C only), platypus and osx1010dev (enable fortran and C++).
external dataset storage path behavior.
This check-in fixes a bug in the original check-in where the
external path stored in the file struct was not copied on reopen
causing subsequent dataset operations to fail.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
autotools serial w/ fortran and C++
autotools parallel (MPICH 3.1.4) w/ fortran
replace functions like h5_clean_files() that also do things like
reset the error handler and close fapls.
Existing tests have not yet been updated to use these new
functions.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
autotools serial
r29069 and 72 (gheap cleanup)
r29041 and 43 (HDFFV-8740 external storage)
These cause problems in the daily tests. They will be
re-introduced when their respective problems have been
addressed.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
autotools serial (check-vfd) w/ Fortran and C++
autotools parallel w/ Fortran
CMake serial
- Fixed typo in Wsetenv().
- Changed HDoff_t back to off_t in test/external.c. The function signature is off_t so the types must match or you can get conversion errors.
Tested on 64-bit Windows 10 w/ VS 2015
for external dataset files set via H5Pset_external().
Resolves HDFFV-8740
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
autotools serial
This test is duplicated more comprehensively in the links.c file so
there is no need to copy it over.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
serial autotools
Buffers that will be written to disk will now always be cleared since
not doing this has huge security implications.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0, x86_64) gcc 5.2.1
serial autotools
parallel autotools (MPICH 3.1.4)
serial CMake
- remove H5AC_ind_dxpl_id and use only H5AC_dxpl_id everywhere instead.
- remove flush_me_collectively flag from cache entries
- add a collective sanity check (MPI_Barrier) for every HDF5 API routine that could possibly touch the file. This is trigerred when the environment variable H5_COLL_API_SANITY_CHECK is set to a non 0 digit.
tested on BB-8 with serial and parallel.
Switch filter plugin to use H5allocate_memory and H5free_memory instead of
malloc and free.
Tested on:
Linux/32 2.6.x (jam) w/serial
Linux/64 2.6.x (jam) w/serial
MacOSX/64 10.11.2 (amazon) w/serial & parallel