Jakob<div><br></div><div>I have not heard about such a problem before.</div><div><br></div><div>When an HDF5 file is not properly closed, its content may be corrupted. (This will be addressed in the next major release.) There may be two reasons for this: either the file is not closed (which would be an error in the code), or there is a write error (e.g. you run out of disk space). The latter is the major reason for people encountering corrupted HDF5 files. Since you don&#39;t see error messages, this is either not the case, or these HDF5 output routines suppress these errors.</div>
<div><br></div><div>The thorn SphericalHarmonicDecomp implements its own HDF5 output routines and does not use Cactus. I see that it uses a non-standard way to determine whether the file exists, and that it does not check for errors when writing or closing. I think that HDF5 errors should cause prominent warnings in stdout and stderr (did you check?), and if you don&#39;t see these, the writing should have succeeded.</div>
<div><br></div><div>You mention checkpointing. Are you experiencing these problems right after recovery, i.e. during the first SphericalHarmonicDecomp HDF5 output afterwards? In this case, did you maybe switch to a new directory where this file doesn&#39;t exist?</div>
<div><br></div><div>If not, then it may be the non-standard way in which the code determines whether the file already exists, combined with something that may be special about your file system.</div><div><br></div><div>(The &quot;standard&quot; way operates as follows: open the file as if it existed; if this fails, open it by creating it. The code works differently: it opens the file as binary file. If this fails, the HDF5 file is created; if it succeeds, the file is closed and re-openend as HDF5 file. Maybe the quick closing-then-reopening causes problems?)</div>
<div><br></div><div>-erik<br><br>On Friday, July 27, 2012, Jakob Hansen  wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br><br>I&#39;m experimenting a bit with using the PittNull / SphericalHarmonicDecomp thorn but I&#39;ve been experiencing a few errors in writing to its output metric_obs_0_Decomp.h5 file.  <br>
<br>On some occations it seems that this output file cannot be opened and hence leaving gaps in the data file. This always occurs when carpet is doing checkpoininting.  Everything else runs well, though, and the simulations finishes fine. However, when trying to fftwfilter the  metric_obs_0_Decomp.h5 file, I notice the missing data points.<br>


<br>I&#39;ve checked system logs and there seem to be no hardware failure. Also, as far as I can see, I&#39;m not overusing memory allocation either. <br><br>Anyone else experienced similar issues?<br><br>Here follows output from error file : <br>


-----------------------------------------------------------------------------------------<br><br>HDF5-DIAG: Error detected in HDF5 (1.8.5-patch1) thread 0:<br>#000: H5F.c line 1509 in H5Fopen(): unable to open file<br>major: File accessability<br>


minor: Unable to open file<br>#001: H5F.c line 1300 in H5F_open(): unable to read superblock<br>major: File accessability<br>minor: Read failed<br>#002: H5Fsuper.c line 324 in H5F_super_read(): unable to load superblock<br>


major: Object cache<br>minor: Unable to protect metadata<br>#003: H5AC.c line 1597 in H5AC_protect(): H5C_protect() failed.<br>major: Object cache<br>minor: Unable to protect metadata<br>#004: H5C.c line 3333 in H5C_protect(): can&#39;t load entry<br>


major: Object cache<br>minor: Unable to load metadata into cache<br>#005: H5C.c line 8177 in H5C_load_entry(): unable to load entry<br>major: Object cache<br>minor: Unable to load metadata into cache<br>#006: H5Fsuper_cache.c line 469 in H5F_sblock_load(): truncated file<br>


major: File accessability<br>minor: File has been truncated<br>HDF5-DIAG: Error detected in HDF5 (1.8.5-patch1) thread 0:<br>#000: H5Gdeprec.c line 214 in H5Gcreate1(): not a location<br>major: Invalid arguments to routine<br>


minor: Inappropriate type<br>#001: H5Gloc.c line 253 in H5G_loc(): invalid object ID<br>major: Invalid arguments to routine<br>minor: Bad value<br>HDF5-DIAG: Error detected in HDF5 (1.8.5-patch1) thread 0:<br>#000: H5Adeprec.c line 153 in H5Acreate1(): not a location<br>


major: Invalid arguments to routine<br>minor: Inappropriate type<br>#001: H5Gloc.c line 253 in H5G_loc(): invalid object ID<br>major: Invalid arguments to routine<br>minor: Bad value<br>[etc. etc. etc. ...... ]<br>-------------------------------------------<br>


<br>Cheers,<br>Jakob<br>
</blockquote></div><br><br>-- <br>Erik Schnetter &lt;<a href="mailto:schnetter@cct.lsu.edu" target="_blank">schnetter@cct.lsu.edu</a>&gt;<br><a href="http://www.perimeterinstitute.ca/personal/eschnetter/" target="_blank">http://www.perimeterinstitute.ca/personal/eschnetter/</a><br>