swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: hdf5 problem


From: Paul Johnson
Subject: Re: hdf5 problem
Date: Wed, 07 Aug 2002 11:32:45 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020606

Glen: hdf5 1.4.2 is kinda old. We've been running aginst 1.4.3 about 6 months and 1.4.4 was about a month ago and I've built it on my system. I don't understand how you get these errors, I don't see them when I build the tarball that was dated 5-14.

I will try to replicate with CVS if you can remind me of the automake/autoconf/ blah blah blah that you do to the source before ./configure... I've found an old email that goes, from the top level of the CVS directory,

# aclocal -I m4
# autoheader
# automake
# autoconf

Now, in case there are other eager readers who want to build from CVS, you should understand this. You don't take Swarm from CVS and type "./configure" and go on. It has to have magic applied to it to create the configure program. One problem I had was that the autogen.sh script, which is supposed to automate the aclocal/autoheader/automake/autoconf routine, was failing to go into the directories for libobjc and avcall, and we did not figure out why (in November, 2001, when I last concentrated on this). So my notes indicate that Marcus Daniels recommended this:

# aclocal -I m4 && autoheader && automake && autoconf
# cd libobjc
# aclocal -I m4 && autoheader && automake && autoconf
# cd ../avcall
# aclocal -I .
# autoconf

The other problem was that libtool was failing for some kinds of installs. And, for me, that process has had some trouble over the last year because I only build swarm into RPM packages. I hate the idea of being root and typing "make install" on any system:). So ooncerning the CVS version, I have run into problems in the past because the Swarm source was using a much newer automake/libtool than RedHat Linux and the creation of RPMs was failing. I dug pretty deep and learned this was a known problem and there were suggested patches for libtool. I see now on my system I'm still using a libtool snap from 2001-11-21 and a hacked version of automake-1.5. I did eventually get it to work, but maintaining the tool chain on several different machines got to be complicated.

Anyway, after all that hassling, I gave up building from CVS and just stuck to the tarballs that Marcus would make available. Now that libtool has made a recent release, I bet it is safe to try again, but I never remember the magical incantation that must be done to the source to build it. And I fear that naive users will wander up and get frustrated, which is why I write this down.


address@hidden wrote:
Hello my fellow drones,

So, when trying to upgrade from an anoncvs version of swarm I checked out about a month or two ago (which uses the HDF5Archiver),
I encountered the following two problems:

Problem 1:
----------------------------------------------------------------
HDF5-DIAG: Error detected in HDF5 library version: 1.4.2 thread 0.  Back trace 
follows.
  #000: ../../../src/H5S.c line 515 in H5Sclose(): not a data space
    major(01): Function arguments
    minor(03): Inappropriate type
*** event raised for error: SaveError
*** function: _i_HDF5_c__drop(), file: HDF5Object.m, line: 2345
Failed to close vector space*** execution terminating due to error
Symbol.m:187 -[Error(c) _raiseEvent:]
Aborted
------------------------------------------------------------------

Problem 2:
------------------------------------------------------------------
HDF5-DIAG: Error detected in HDF5 library version: 1.4.2 thread 0.  Back trace 
follows.
  #000: ../../../src/H5D.c line 394 in H5Dclose(): not a dataset
    major(01): Function arguments
    minor(03): Inappropriate type
*** event raised for error: SaveError
*** function: _i_HDF5_c__drop(), file: HDF5Object.m, line: 2336
Failed to close HDF5 dataset*** execution terminating due to error
Symbol.m:187 -[Error(c) _raiseEvent:]
Aborted
------------------------------------------------------------------


Problem 1 seems to have been caused by code in the
HDF5Object.m::drop() method that H5SCloses the data space twice.  The
first close is successful (obviously), but doesn't reset the pointer.
So, when it gets to the second H5SClose() function, it fails.

Problem 2 seems to be a problem with the changes in the way we use
HDF5.  The HDF5Archiver used to have to drop the dataset manually;
but, now it is dropped within the hdf5OutShallow() method.  So,
obviously, dropping it again would cause a failure.

The attached patch file seems to fix these two problems.  Would anyone
be willing to apply the patch (to the current cvs HEAD), evaluate
my code and recommend for or against its check-in?



------------------------------------------------------------------------

--- swarm-2002-08-05/src/defobj/HDF5Archiver.m  2002-08-06 07:36:36.000000000 
-0700
+++ swarm-2002-08-06/src/defobj/HDF5Archiver.m  2002-08-06 20:09:02.000000000 
-0700
@@ -149,8 +149,8 @@
               [app drop];
               [file drop];
             }
-          //else
-          [hdf5Obj drop];
+          else
+            [hdf5Obj drop];
         }
     }
   hdf5Obj = [[[[[HDF5 createBegin: getZone (self)]
@@ -191,7 +191,6 @@
   if (!dataset)
     abort ();
   [object hdf5OutShallow: dataset];
-  [dataset drop];
 }
- getWithZone: aZone key: (const char *)key --- swarm-2002-08-05/src/defobj/HDF5Object.m 2002-04-14 03:02:58.000000000 -0700
+++ swarm-2002-08-06/src/defobj/HDF5Object.m    2002-08-06 20:06:40.000000000 
-0700
@@ -2304,9 +2304,12 @@
       if (compoundType)
         {
           if (c_sid != psid)
-            if (H5Sclose (c_sid) < 0)
-              raiseEvent (InvalidArgument, "Failed to close (compound) space");
-
+            {
+              if (H5Sclose (c_sid) < 0)
+ raiseEvent (InvalidArgument, + "Failed to close (compound) space");
+              else c_sid = -1;
+            }
           if (H5Dclose (loc_id) < 0)
             raiseEvent (SaveError, "Failed to close (compound) dataset");
@@ -2344,6 +2347,7 @@
         {
           if (H5Sclose (c_sid) < 0)
raiseEvent (SaveError, "Failed to close vector space"); + else c_sid = -1;
         }
     }
   hdf5InstanceCount--;



--
Paul E. Johnson                       email: address@hidden
Dept. of Political Science            http://lark.cc.ku.edu/~pauljohn
University of Kansas                  Office: (785) 864-9086
Lawrence, Kansas 66045                FAX: (785) 864-5700


                 ==================================
  Swarm-Support is for discussion of the technical details of the day
  to day usage of Swarm.  For list administration needs (esp.
  [un]subscribing), please send a message to <address@hidden>
  with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]