Commit Graph

86 Commits

Author SHA1 Message Date
Quincey Koziol
fefbe61aca [svn-r11304] Purpose:
Code cleanup (sorta)

Description:
    Adjust H5G_stat_t to prepare for eventual "external link" information.
This also puts the information for regular objects and soft links into more
obviously separate places.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
2005-08-27 08:34:28 -05:00
Albert Cheng
80a9a3df0c [svn-r11286] Purpose:
bug fix

Description:
The set of h5diffdebugN macros that printed nothing did not have
the proper number of parameters.  Some compilers (gcc) did not
like it.

Solution:
Fixed them to have the matching number of parameters.

Platforms tested:
heping pp (using both mpich-icc and mpich-gcc), modi4 pp.
2005-08-22 10:55:54 -05:00
Albert Cheng
20c9e7bc06 [svn-r11275] Purpose:
cleanup

Description:
Disable the debug printout.

Platforms tested:
heping pp.

Misc. update:
2005-08-20 10:15:25 -05:00
Albert Cheng
f27f7c7821 [svn-r11263] Purpose:
Bug fix.

Description:
Fixed ph5diff Bugs that hanged the last test.

Tested in heping and copper in pp mode.
2005-08-18 14:37:32 -05:00
Albert Cheng
7bbea13711 [svn-r11259] Purpose:
Bug fix

Description:
ph5diff had been hanging in Tflops.  Found out that vsnprintf ph5diff
uses was a local coded that did not limit printing according to the size
argument.  That resulted in buffer overflow and other problems.

Solution:
Added some sort of size checking in the home-grown vsnprintf and
had ph5diff checked for error return of vsnprintf.  Leon also
revamped the ph5diff manager's way of handling communications with
the workers.  That eliminated all but the last case of hanging.

Platforms tested:
Tflops.

Misc. update:
2005-08-17 14:21:36 -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
Pedro Vicente Nunes
c3252ef1f2 [svn-r11005] Purpose:
bug fix

Description:
the numbers of differences was not printed for each object

Solution:
print it

Platforms tested:
linux
solaris
aix



Misc. update:
2005-06-30 15:57:01 -05:00
Leon Arber
ac2e0d548e [svn-r10996] Purpose:
Bug fix for parallel case for new "Some objects were not comparable" patch to h5diff.

Description:
The parallel h5diff wouldn't print out "Some objects were not comparable" because the worker
tasks were not communicating the not_cmp flag of the diff_opt_t struct back to the manager, who ultimately
prints everything.

Also, some miscellaneous fixes for error printing.  Some errors were printed out with printf instead of fprintf(stderr,...).
In parallel environments, this can result in output getting lost.

Solution:
Had the worker tasks pass along the not_cmp flag to the manager when they sent along
the number of differences they found.



Platforms tested:
heping (pp), sol (pp)

Misc. update:
2005-06-28 14:20:56 -05:00
Pedro Vicente Nunes
4a5f83b8f0 [svn-r10994] Purpose:
bug fix

Description:
when 2 objects were not comparable, the final print information for the non verbose mode printed "0 differences found"


Solution:

replaced instead with a Summary message that says
"Some objects were not comparable"


Platforms tested:
linux
solaris


Misc. update:
2005-06-28 11:25:42 -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
Quincey Koziol
af6276f654 [svn-r10628] Purpose:
Code cleanup

Description:
    Clean up various warnings reported by the Windows team.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-04-18 16:21:35 -05:00
Leon Arber
15e0a2331e [svn-r10170] Purpose:
Bug Fixes

Description:
Fixes for several bugs, including dumping of excess output to a temporary file, fix for printing
hsize_t datatype, and the long awaited fix for intermixed output.

Solution:
Fix 1:  Overflow file
Previously, any output that a worker task made was buffered locally in memory, up to a point.  Any
output beyond the size of the buffer (used to be 10k) was discarded.  Now, the memory buffer size has been
changed to 1k and any output beyond this amount is sent a temporary file.  This way, no output is lost
and memory usage is kept under control.  The temporary file is deleted as soon as a worker task finishes
sending its contents to the manager.

Fix 2:  hsize_t printing
Printing of the hsize_t datatype used to be handled by %Hu passed to HDfprintf.  However, there is no corresponding HDvsnprintf that
is able to print hsize_t types.  These are now printed with the aid of H5_PRINTF_LL_WIDTH.

Fix 3:  Intermixed output fix
Intermixed output would occur on some machines (although I haven't seen it happen for a while) due to the unpredictability of the underlying network
and the speed at which various message would travel.  This has been fixed by having all output send to the manager
for printing.  The worker tasks no longer print the output themselves upon receipt of a token, but instead
send that data to the manager.



Platforms tested:
heping, eirene, tg-login (the only place that seems to still experience intermixed output every now and then)

Misc. update:
2005-03-09 13:38:36 -05:00
Albert Cheng
5c990d854e [svn-r10136] Purpose:
Bug fix.

Description:
MPI_LONG_LONG, which is not standard yet, was used to pass the
nubmer of differences found.  This was needed because number of
differences is defined as type hsize_t which can be arbitary large
such that there is no MPI type that matches it. The value is passed
between processes as an array of bytes in order to be portable.  But this
may not work in non-homogeneous MPI environments.
This fix was actually Leon's idea.

Platforms tested:
Tested in QSC in which this failed.
2005-03-03 17:29:07 -05:00
Leon Arber
c7f2d5c41e [svn-r9969] Purpose:
Correction to previous print_manager_output bugfix

Description:
Although the previous bugfix did fix all the errors, it was not the correct way
to fix the problem.  Since the manager will only buffer output when run in
parallel mode, in serial mode this function should not even be called.

Solution:
Wrapped print_manager_output in #define's to prevent it from being included in
serial builds.


Platforms tested:
heping (serial + parallel)

Misc. update:
2005-02-09 13:19:54 -05:00
Albert Cheng
e31f8dfdc8 [svn-r9957] Purpose:
Bug fix.

Description:
print_manager_output was missing because it was compiled in
only parallel mode.

Solution:
Made it available all the times.

Platforms tested:
h5committested.  (testph5diff.sh failed in copper but that
is a different error.)
Also tested in heping, serial and pp.

Misc. update:
2005-02-08 08:42:46 -05:00
Leon Arber
2183c5971a [svn-r9956] Purpose:
Fixed numerous ph5diff bugs.

Description:
Fixed manager output printing
Fixed out of order output printing
Fixed test script execution problem
Temporary fix for large amounts of output overflowing buffer.

Solution:
The manager task buffers its output.  However, since the manager task
never gets a print token, this output was lost.  Solution: new function called
print_manager_output that prints buffered output is called in places where the
manager buffers its output.

printf was apparently buffering output.  This means that a task would sometimes
print even after it had given up its print token.  Added fflush() call after
printf() calls, which seems to have fixed the problem.

calling rsh multiple times in succession seems to overwhelm something in Linux,
as it begins to refuse new connections until the old ones reset.  Since each
call to mpirun in the test script starts up 4 rsh sessions, the test script
eventually is unable to run any further tests.  Solution: Added a short delay in the
testscript between successive calls to mpirun to allow old connections to reset.

The 10k output buffer was of insufficient size to hold the large amounts of
output generated by some of the tests.  Since code to buffer to a file has not
been implemented yet, a temporary fix was to increase the size of the output
buffer to 50k.

Platforms tested:
heping

Misc. update:
2005-02-08 00:42:49 -05:00
Albert Cheng
8d817baf4b [svn-r9947] Purpose:
Feature

Description:
Added a new function, phdiff_dismiss_workers, which tells the phdiff
worker processes to end.

Platforms tested:
Tested in heping, serial and parallel.

Misc. update:
2005-02-06 18:45:15 -05:00
Leon Arber
8af1385939 [svn-r9925] Purpose:
Bug Fix

Description:
Permanent fix for the incompatibilities between h5diff and h5repack.

Solution:
h5diff now contains the code to run both parallel and serial diffs.
Depending on how the binary is called, it will run either the serial or
the parallel versions respectively.


Platforms tested:
heping(serial + parallel), copper.


Misc. update:
2005-02-02 18:01:42 -05:00
Leon Arber
839f1092da [svn-r9877] Purpose:
Bug fix: Temporary fix for h5repack failures in all parallel builds.

Description:
The parallel additions to h5diff interfered with h5repack.

Solution:
Added a second set of "parallel" functions to h5diff.c.  h5repack uses the serial versions, whereas h5diff will use the parallel versions.

Also, h5diff will now be smart about when to enter parallel mode.  If is run with mpirun with more than 1 task, it will enter parallel mode.  Otherwise, it will stay in serial mode as before.

Platforms tested:
heping (serial and parallel)

Misc. update:
2005-01-27 18:21:05 -05:00
Albert Cheng
42754e6246 [svn-r9872] Purpose:
New feature.

Description:
Added new tool ph5diff. (Code done by Leon Arber.)
Code is changed but test is not working yet. For now,
it skipped all tests.

Platforms tested:
Tested in heping, serial and parallel modes.
2005-01-26 18:03:29 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Quincey Koziol
defe612ab2 [svn-r9370] Purpose:
Refactor code

Description:
    Refactor common code for determining the native type for using in the
tools into separate routine.

    Also, reduce diffs between the two branches and bring back some fixes from
the development branch to the release branch.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    too minor to require h5committest
2004-10-06 11:11:18 -05:00
Pedro Vicente Nunes
140dfae48a [svn-r8912] Purpose:
bug fixes

Description:

the return error code for a  function was not initialized.
in HP-UX  it happened that this variable was initialized to -1
causing the function to return with an error condtion
solution : initialized the variable to 0

the name of the dataset was printed after the differences in verbose mode
and report when differences were found
solution : check first if differences were found and then
print the name of dataset and differences
in verbose mode always print the name first

Solution:

Platforms tested:
linux
aix
solaris

Misc. update:
2004-07-21 12:50:49 -05:00
Pedro Vicente Nunes
4cb6c01d7f [svn-r8904] Purpose:
h5diff and h5repack changes

Description:
h5diff
introduced the following four modes of output:
 Normal mode: print the number of differences found and where they occured
  Report mode: print the above plus the differences
   Verbose mode: print the above plus a list of objects and warnings
    Quiet mode: do not print output (h5diff always returns an exit code of 1 when differences are found)

    h5repack
     added an extra parameter for SZIP filter (coding method)
     the new syntax is
     -f SZIP=<pixels per block,coding>
     (pixels per block is a even number in 2-32 and coding method is 'EC' or 'NN')
     Example of use:
     ./h5repack -i file1 -o file2 -f SZIP=8,NN -v

     updated usage messages, test scripts and files accordingly




Solution:

Platforms tested:
linux
AIX
solaris

Misc. update:
2004-07-20 14:21:03 -05:00
Pedro Vicente Nunes
ba717ead8b [svn-r8749] Purpose:
dumper new features

Description:

1) added options for not printing : datasets, groups, datatypes, links
2) added a section for the user block
3) in the traversal routine, added the printing of an arrow for soft links and t
he word HARDLINK for hardlinks
   the print of the file contents is made during traversal , instead of at the e
   nd of it (this is helpful
       for very large files, where the wait time can be very long)
4) changed the description of the fill value properties
5) added a colon after the printing of the array indices




Solution:

Platforms tested:
linux
AIX
solaris

Misc. update:
2004-06-28 09:29:20 -05:00
Quincey Koziol
0a29514b9d [svn-r8383] Purpose:
Code cleanup

Description:
    Clean up lots of warnings based on those reported from the SGI compilers
as well as gcc.

Platforms tested:
    SGI O3900, IRIX64 6.5 (Cheryl's SGI machine)
    FreeBSD 4.9 (sleipnir) w/ & w/o parallel
    h5committest
2004-04-17 23:10:09 -05:00
Pedro Vicente Nunes
efbde3c2f3 [svn-r8074] Purpose:
added h5repack and h5diff support for copying and differences of references to dataset regions
modified the behaviour in the diff of attributes, when a difference in name is detected
in the attribute cycle (number of attributes of object), instead of exiting the
cycle, rather continue


Description:

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-01-16 10:31:55 -05:00
Pedro Vicente Nunes
8f65e4252d [svn-r7969] Purpose:
h5repack new features

Description:
addded the copy routines for hard links
changed the traversal structure to store information about the hard links
added tests

Solution:

Platforms tested:
linux
solaris
IRIX

Misc. update:
2003-12-18 11:18:09 -05:00
Pedro Vicente Nunes
cd7b4b8b90 [svn-r7966] Purpose:
h5repack new features

Description:
added debugging functions and a hard link generated dataset for the test suite

Solution:

Platforms tested:
linux
solaris 2.7
IRIX

Misc. update:
2003-12-17 09:07:41 -05:00
Pedro Vicente Nunes
28e43d818f [svn-r7913] Purpose:
code clean

Description:
separated the h5repack code in several  modules

Solution:

Platforms tested:
linux
IRIX
solaris


Misc. update:
2003-12-04 14:35:33 -05:00
Pedro Vicente Nunes
967a04fdec [svn-r7912] Purpose:
code clean, bug fix

Description:
the attributes of the root group were not being compared
removed compiler warnings on IRIX and solaris

Solution:
added a special function to compare the attributes of the root group

Platforms tested:
linux
IRIX 6.5
solaris 2.7

Misc. update:
2003-12-04 10:31:05 -05:00
Pedro Vicente Nunes
486c13d307 [svn-r7904] Purpose:
h5diff new features

Description:
added comparison for attributes
adeded comparison for all dataset datatypes
added tests for the new features
changed the output format

Solution:

Platforms tested:
linux
solaris 5.7
IRIX 6.5 (64)

Misc. update:
2003-12-02 18:13:27 -05:00
Pedro Vicente Nunes
cceba7e0c9 [svn-r7796] Purpose:
h5diff improvment

Description:
changed a call to exit(1) for return -1 for user friendiness in the h5diff function
in the case that H5Fopen fails

Solution:

Platforms tested:
linux (small change )


Misc. update:
2003-10-30 16:51:32 -05:00
Pedro Vicente Nunes
4cb9330435 [svn-r7793] Purpose:
h5diff new features

Description:

added the diff for variable lenght, opaque, enum, and bitfield datasets

Solution:

Platforms tested:
linux
solaris 2.7
IRIX


Misc. update:
2003-10-30 12:15:56 -05:00
Pedro Vicente Nunes
8b45b9a5f0 [svn-r7785] Purpose:
h5repack new features


Description:
added a copy routine for all types
added a copy routine for attributes
commnented some debug messages in h5trav
added the verbose option to some h5diff messages


Platforms tested:
linux
solaris 2.5
IRIX


Misc. update:
2003-10-29 12:46:11 -05:00
Pedro Vicente Nunes
f2b52777f4 [svn-r7769] Purpose:
moved h5diff "public API" routines to tools/lib folder



Platforms tested:
linux
solaris 2.7
IRIX

Misc. update:
2003-10-28 12:40:05 -05:00