As best I can tell, H5C_make_space_in_cache() was accessing memory
that had been deallocated -- however the bug was easy to mask, and
jumped around even in different runs of the same executable. While
I was never able to generate a definitive test case that exposed
exactly where the core dump occured, I was able to generate print
statement traces which made it clear that I was accessing freed
memory.
In any case, reworking the code to avoid the reference to freed
cache entries seems to have fixed the problem.
Tested serial production on Phoenix, and commit tested. Also,
partial tests Linew.
detect and handle the case in which the skip list or LRU is modified
out from under a scan of same by the flush callback of the entry under
consideration.
Test serial debug, serial production, and parallel debug on phoenix,
and commit tested.
Description:
For some reason, the h5reparttst output folder wasn't set correcty for 64-bit Windows. This may have gotten accidentally changed with other intermediate project file changes.
Tested:
VS2005 on WinXP x64
callback functions modifies the skip list or LRU out from under a partial
or complete flush of the cache. This is a test for a situation that
should not occur, but we test anyway.
Also added code to skip longer tests in cache_api in express tests.
Tested serial and parallel on phoenix (debian --x86-32), and commit test.
Elena commit tested as well, and ran a manual test under MacOS X.
Description:
There was another update to the main h5dump test script. This checkin brings those edits to the Windows script as well.
Tested:
VS2005 w/ WinXP
large entry, or to a large increases in the size of an existing entry.
This required some additions to the cache configuration structure, and
thus will require changes in the metadata cache documentation.
The basic idea is to monitor the size of entries as they are loaded,
inserted, or increased in size. If the size of the entry (or increase)
exceeds some user selected fraction of the size of the cache, increase
the size of the cache.
Note that this fix was designed quickly -- while it deals with the
use case that exposed the problem, we may have to revisit the issue
later.
Tested serial and parallel on Phoenix, and h5committest.
add a check for block overlap after the command line parsing
* Algorithm
*
* In a inner loop, the parameters from SSET are translated into temporary
* variables so that 1 row is printed at a time (getting the coordinate indices
* at each row).
* We define the stride, count and block to be 1 in the row dimension to achieve
* this and advance until all points are printed.
* An outer loop for cases where dimensionality is greater than 2D is made.
* In each iteration, the 2D block is displayed in the inner loop. The remaining
* slower dimensions above the first 2 are incremented one at a time in the outer loop
*
* The element position is obtained from the matrix according to:
* Given an index I(z,y,x) its position from the beginning of an array
* of sizes A(size_z, size_y,size_x) is given by
* Position of I(z,y,x) = index_z * size_y * size_x
* + index_y * size_x
* + index_x
*
tested: windows, linux
Description:
It seems that during the conversion, one project (h52gifdll) began using the wrong Runtime-library settings. This was causing Link errors for only the Release DLL build. This has been fixed now.
Tested:
VS.NET on WinXP
Description:
In the Windows command line build script, there was a reference to the "typegen" project, which generates h5detect before HDF5 is built. Now, we integrate h5detect into the overall build process, and typegen has been removed. This checkin removes the reference in the batch script. This fixes bugzilla bug 1021.
Description:
This is the first step in a series of commits that will remove VS6 support. In doing so, we'll need to convert our projects to VS.NET format, to maintain VS.NET C support. In this commit, I've converted all VS6 projects, and removed any Fortran remnants. I haven't updated the MANIFEST because I have a few more add/deletes, but I'll do that soon.
Description:
There were a number of updates to the main h5dump test script. This checkin brings those edits to the Windows script as well.
Tested:
VS2005 w/ WinXP
Correct the prototype for H5Sselect_elements() to take an 'hsize_t *' for
the coordinates, instead of 'hsize_t **'.
Tested on:
Mac OS X/32 10.5.1 (amazon)
Description:
This catches up Windows to most of the new source files that have been added. Specifically, H5FDpkg.h and H5FDspace.c have been added to the library projects, and tcoords.c has been added to testhdf5. This goes for VS2005 and VS6 project files.
Tested:
Only built, VS2005
Tested: kagiso only. Not need for h5committest since it is a configure simple
change. If it works correct in kagiso, it should work the same for all other
machines.
Add work-around to allow reading files that were produced with a buggy
earlier version of the library, which could create objects with the wrong
object header message count. There is now a configure flag
"--enable-strict-format-checks" which triggers a failure on reading a file
with this sort of corruption (when enabled) and allows the object to be read
(when disabled). The default value for the "strict-format-checks" flag is
yes when the "debug" flag is enabled and no when the "debug" flag is disabled.
Note that if strict format checks are disabled (allowing objects with
this particular kind of corruption to be read) and the file is opened with
write access, the library will re-write the object header for the corrupt
object with the correct # of object header messages.
This closes bugzilla bug #1010.
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
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Updated utilities test scripts to make output more legible; fixed some typos.
Added four new expected output files to avoid false negative reports
for the h5dump tests (for ones that expect to have error report in them).
Updated MANIFEST to reflect the changes.
Platforms tested:
VMS server (more testing is on the way)