Commit Graph

61 Commits

Author SHA1 Message Date
Songyu Lu
8a864f91eb HDFFV-10705: Fixed memory leak in scale offset filter. 2019-03-04 10:22:51 -06:00
Binh-Minh Ribler
e57234b027 Fixed HDFFV-10404
Description:
    Applied the typo fixes from user's report.
    The previous pull request couldn't be merged because it was too old,
    and it was too complicated for me to resolve conflicts.
Platform tested:
    Linux/64 (jelly) - very minor
2018-07-26 17:19:03 -05:00
Quincey Koziol
01f196b31a Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into merge_hyperslab_updates 2018-04-29 03:04:21 -05:00
Quincey Koziol
f38864920d Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into merge_func_enter_vol
Plus initial steps toward merging API context push into FUNC_ENTER_API* macros
2018-03-18 18:36:49 -05:00
Quincey Koziol
4a17aff408 Add API context interface and use it throughout the library. 2018-03-15 16:54:30 -05:00
Allen Byrne
d08f56e027 HDFFV-10345 whitespace corrections 2018-02-05 12:47:31 -06:00
Allen Byrne
f325002db9 HDFFV-10345 spelling errors 2018-02-05 12:38:20 -06:00
Larry Knox
89fbe00dec Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '54957d37f5aa73912763dbb6e308555e863c43f4':
  Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes.
  Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh.
  Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1
  Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
2017-04-25 16:05:36 -05:00
Quincey Koziol
8859a5a270 Checkpoint normalization against incoming hyperslab / selection / dataspace
improvements.
2017-03-27 20:25:06 -07:00
Quincey Koziol
b092dbcdfd Bring over another batch (hopefully the last) of non-SWMR "normalization"
changes from the revise_chunks branch.
2016-11-28 16:34:36 -08:00
Quincey Koziol
35e6928220 [svn-r30127] Description:
Use internal rounding routine, if the StdC ones aren't available (like on
Windows).

Tested on:
    MacOSX/64 10.11.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2016-06-30 15:59:15 -05:00
Quincey Koziol
83724bd787 [svn-r30113] Description:
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)
2016-06-28 16:53:48 -05:00
Mohamad Chaarawi
48bebcc39e [svn-r29057] added dxpl type checking when debug mode is enabled (H5_DEBUG_BUILD)
tested on bb-8 with Serial and Parallel, debug and production builds.
2016-02-07 10:37:33 -05:00
Dana Robinson
8bbdc947c4 [svn-r28972] Removed option to clear file buffers from autotools, CMake, and library.
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
2016-01-26 16:26:12 -05:00
Mohamad Chaarawi
91aeb766fa [svn-r28950] - remove META_FLUSH_COLLECTIVELY property for delayed sanity checks from metadata dxpls
- 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.
2016-01-21 17:31:15 -05:00
Quincey Koziol
8830acb2cb [svn-r28422] Description:
Revert most of r27549, since revise_chunks code requires debugging contexts
for v2 B-trees.  Also, misc. warning cleanups and alignments w/changes on
revise_chunks branch.

Tested on:
    MacOSX/64 10.11.1 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-11-20 15:24:23 -05:00
Quincey Koziol
1023374492 [svn-r27768] Description:
Complete revamp of package initialization/shutdown mechanism in the library.
Each package now has a single init/term routine.

    This new way should avoid packages being re-initialized during library
shutdown and is also be _much_ more proactive about giving feedback for
resource leaks internal to the library.

    Introduces a new "module" header file for packages in the library
(e.g src/H5Fmodule.h) which sets up some necessary package configuration macros
for the FUNC_ENTER/LEAVE macros.  (The VFL drivers have their own slightly
modified version of this header, src/H5FDdrvr_module.h)

    Also cleaned up a bunch of resources leaks all across the library and tests,
along with addressing many warnings, as I encountered them.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    Linux/64 3.10.x (kituo) w/serial & parallel
    Linux/64 2.6.x (ostrich) w/serial
2015-09-13 22:58:59 -05:00
Dana Robinson
c226e58005 [svn-r27626] Various minor warning fixes before major SWMR and VDS merges.
gcc 4.9.2 was used to create the warning list

- implicit casts
- shadowed variables
- various enum issues
- other minor fixes (comments, unused macros, etc.)

Tested on: h5committest
2015-08-31 14:04:23 -05:00
Mohamad Chaarawi
fc45d5fcb0 [svn-r27133] - Add a new attribute function characterstic for format:
* H5_ATTR_FORMAT(X,Y,Z)  __attribute__((format(X, Y, Z)))
- Rename UNUSED attribute characterstic to H5_ATTR_UNUSED.
- Rename NORETURN attribute characterstic to H5_ATTR_NORETURN

tested with h5committest.
2015-06-01 14:38:09 -05:00
Dana Robinson
67ba6cb57d [svn-r27045] Renamed H5_ASSIGN_OVERFLOW() to H5_CHECKED_ASSIGN() and re-ordered
the arguments to be in a more logical order.

Tested on: h5committest
2015-05-10 17:38:04 -05:00
Dana Robinson
7462a7ef1c [svn-r26329] Merge of r26069, r26070, and r26072 from the features/autotools_rework
branch.

Removed the configure option that allows selective disabling of individual
internal filters (fletcher32, shuffle, etc.).

This feature mucked up the code with a lot of #ifdefs, saved very little space,
and was not scalable to a general scheme for library size reduction. We've
decided to remove the feature while we investigate a more general scheme for
decreasing the library size.

Part of: HDFFV-9086

Tested on: h5committest
2015-02-27 07:50:38 -05:00
Quincey Koziol
89e2c8822d [svn-r25766] Description:
Revert r25273, 25283 & 25439 (the hyperslab improvement changes).  They
are buggy and it's taking me a long time to correct the problem.  I'll check
in a revised form of the changes when I've got them straightened out.

Tested on:
    Mac OSX 10.10.0 (amazon) w/gcc 4.9.x, C++, FORTRAN
    Linux 2.6.x (jam) w/parallel
2014-11-03 15:13:25 -05:00
Quincey Koziol
4ccb865c70 [svn-r25273] Description:
Bring in Chao/Neil/my changes to optimize hyperslab selection operations
further, along with 3 new public API routines: H5Scombine_hyperslab(),
H5Sselect_select() and H5Scombine_select(), along with many minor cleanups to
the code and fixing a few compiler warnings.

Tested on:
    Mac OSX/64 10.9.3 w/gcc 4.9.x and parallel w/OpenMPI
    (h5commttest forthcoming)
2014-06-13 01:23:57 -05:00
Quincey Koziol
5b876c929f [svn-r24101] Description:
Clean up warnings, enable new compiler warning flag(s) and bring back
changes from Coverity branch:

r20813:
Remove the dead code as listed for coverity bug #1722. h5committested.

r20814:
Issue 69: Check return value and throw error if negative return. Also free datatype id on error

r20815:
Use HDstrncpy. --gh

r20816:
Replaced one last HDstrcat call with HDstrncat to resolve coverity issue 832.

r20817:
Use HDstrncpy and HDstrncat. --gh

r20818:
Purpose: Fix valgrind issues with h5jam

Description:
Modified h5jam to free strings strdup'd in parse_command_line before exit. Note
that they may still not be freed in case of error, due to the widespread use of
exit().

r20819:
Issue 80: change loop to use int as loop index.

r20820:
Maintenance: Fixed the bug found by coverity CID 788
There were two problems with this function:
    1) it tried to unnecessary free NULL pointer
    2) it tried to allocate c_name buffer that is done by H5Pget_class_name


Tested on:
    Mac OSX 10.8.4 (amazon) w/gcc 4.8.1, C++ & FORTRAN
    (too minor to require h5committest)
2013-09-05 15:44:14 -05:00
Quincey Koziol
424a41f878 [svn-r23713] Description:
Clean up warnings, switch library code to use Standard C/POSIX wrapper
macros, remove internal calls to API routines, update checkapi and checkposix
scripts.

Tested on:
    Mac OSX/64 10.8.3 (amazon) w/C++ & FORTRAN
    Big-Endian Linux/64 (ostrich)
2013-05-21 12:30:54 -05:00
Quincey Koziol
d27ec1d3bd [svn-r22681] Description:
Clean up file driver property handling, along with some misc. warnings.

Tested on:
    Mac OSX/64 10.7.4 (amazon) w/debug, gcc 4.7.1, C++, FORTRAN & threadsafe
    (h5committest upcoming)
2012-08-15 09:14:13 -05:00
Quincey Koziol
9c9ee2008c [svn-r21919] Description:
Refactor function name macros and simplify the FUNC_ENTER macros, to clear
away the cruft and prepare for further cleanups.

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
2012-02-08 22:13:27 -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
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
abf4926632 [svn-r19174] 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 on jam, lnew, and amani.  Tested on jam with szip.
2010-08-05 12:13:29 -05:00
Quincey Koziol
5e7595c546 [svn-r18630] Description:
Fix remaining aliasing problems and enable optimizations w/gcc now.  This
addresses the remaining issues for Bug#1398.

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-26 19:37:04 -05:00
Quincey Koziol
483185409e [svn-r18357] Description:
Bring r18356 from metadata journaling merge branch to trunk:

	Converge metadata journaling branch with trunk with a bunch of v1 B-tree
changes:
       - Remove H5ACprivate.h header from H5Bprivate.h header
       - Revise v1 B-tree client callbacks
       - Get rid of H5B_serialize() by bringing it into H5B_flush()

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-03-02 15:07:10 -05:00
Quincey Koziol
e99906f517 [svn-r17268] Description:
Bring r17266 from 1.8 branch to trunk:

    Clean up various compiler warnings from IRIX64 build

Tested on:
    Mac OS X/32 (amazon) debug & production
    (yes, I know it's not an IRIX64 system :-)
    Too minor to require h5committest
2009-07-29 20:59:24 -05:00
Neil Fortner
8c074d5c03 [svn-r16807] Purpose: Fix bug 1533
Description:
Previously, there was no versioning for H5Z_class_t.  This prevented applications
written for 1.6 using custom filters from being able to use the 1.8 library.
There is now an H5Z_class1_t and H5Z_class2_t to enable compatibility.  H5Zregister is
*not* versioned, it determines which version of the struct has been passed in by the
value of the first field (id or version, both are ints).

Tested: jam, linew, smirom (h5committest), jam (--with-default-api-version=v16)
2009-04-20 14:12:19 -05:00
Allen Byrne
5d69e87ff0 [svn-r16489] Fixed bug #1459 by eliminating the macro long_long and replacing all instances with long long.
Tested:
   h5comittest
   fedora 10 x64
   Vista 32, VS2005, IVF101
   XP32, Cygwin
2009-02-18 15:02:05 -05:00
Choonghwan Lee
c302b9b031 [svn-r16209] Purpose:
Bug fix (#1357)

Description:
	Three filters have not assigned correct value to one value-result argument, "buf_size". N-bit, szip, and scale offset filter have had this problem.

	However, I don't think this problem has been making buffer overrun because those filters were informing the caller that the "buf", another value-result argument, is smaller than it actually is. If there was actual buffer overrun, I believe another problem exists although I don't know.

Tested:
	jam, smirom, linew

	Although all test were passed, I'm concerned about valgrind memcheck error. There can be another miscommunication between filter and the caller.
2008-12-19 11:22:10 -05:00
Pedro Vicente Nunes
20c5484440 [svn-r14379] add check of some values for the nbit and scale offest filters on the h5repack verify function
note: some sybols were made public

tested: windows, linux
2008-01-07 14:16:29 -05:00
Quincey Koziol
b0eb42058c [svn-r14208] Description:
Make H5Pget_filter_by_id() API versioned and switch internal usage
to H5Pget_filter_by_id2().

	Add simple regression test for H5Pget_filter_by_id1().

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-18 11:10:46 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
Quincey Koziol
7fc6a486b9 [svn-r13117] Description:
Clean up some warnings from Windows.

Tested on:
	FreeBSD/32 6.1 (duty)
2007-01-06 22:51:07 -05:00
Quincey Koziol
143db84d88 [svn-r12821] Description:
Clean up compiler warnings, esp. on 64-bit Linux boxes.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/C++ & FORTRAN
    Linux/64 2.4 (mir) w/build-all & 1.6 compat
2006-10-28 15:49:40 -05:00
Quincey Koziol
e40557304f [svn-r12803] Description:
Finish new version of the I/O pipeline message, which is much smaller than
the previous version.  This version is used with the "use the latest version
of the format" flag.

    Closed several memory leaks/overruns (found with valgrind).

    Also, lots of compiler & formatting cleanups.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-23 15:40:14 -05:00
Quincey Koziol
3424f9f5d1 [svn-r12128] Purpose:
Code cleanup

Description:
    Clean up some compiler warnings (esp. those flagged on Windows builds)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2006-03-22 13:11:24 -05:00
Quincey Koziol
88c15b1617 [svn-r11771] Purpose:
Code cleanup

Description:
    Fix a bunch of warnings flagged by Windows compilers.


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-12-08 13:34:51 -05:00
Quincey Koziol
90103afad6 [svn-r11337] Purpose:
Code cleanup

Description:
    Changed some scale+offset filter symbols from H5_SO_... -> H5Z_SO_...
to indicate that they are in the H5Z package.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-09-01 17:46:16 -05:00
MuQun Yang
9d7b250371 [svn-r11325] Purpose:
Update scaleoffset filter.

Description:
1. Using enum type to describe scale offset type(int, Dscale or Escale)
2. Changing some macro names
3. Fixing some minor bugs

Solution:

Platforms tested:
sol 2.8, linux 2.4, aix 5.1(32-bit and 64-bit)

Misc. update:
2005-08-31 17:08:21 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

foreach f (*.[ch] *.cpp)
    sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
MuQun Yang
fec2c355da [svn-r10742] Purpose:
A little enhancement for integer datatype filter

Description:
Minimum-bit of the scaleoffset filter should not be less than 0,
However, if the user accidently input a negative value for integer type,
we will reset it to zero.

Solution:

Platforms tested:
too minor to test.

Misc. update:
2005-05-10 11:12:15 -05:00
MuQun Yang
b6f01bff10 [svn-r10741] Purpose:
Minor change for rounding of floating-point value for scaleoffset filter.

Description:
Always round to the bigger absolute integer value if floating-point data is in the middle.
0.5->1, -0.5->-1.

Solution:

Platforms tested:
Too minor to test

Misc. update:
2005-05-09 18:30:56 -05:00
Quincey Koziol
bbe03d7361 [svn-r10736] Purpose:
Code cleanup

Description:
    Clean up some compiler warnings

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest
2005-05-07 14:37:48 -05:00