[MINC-users] minccomplete's completeness

vladimir.fonov at gmail.com vladimir.fonov at gmail.com
Sat May 14 07:15:43 EDT 2016


The reason these errors are not handled properly, perhaps, is because we have calls like that:

https://github.com/BIC-MNI/libminc/blob/master/libsrc/voxel_loop.c#L1505

- notice the absence of checking for the return value. 

> On May 14, 2016, at 07:02, Robert D. Vincent <robert.d.vincent at mcgill.ca> wrote:
> 
> Hi all,
> 
> In any case, Alex is entirely correct HDF5 errors should be better handled
> in a few key places - outright read errors should cause obvious things like
> "exit(-1)" or something. The format is so full of redundancy that it's
> quite unlikely you would successfully read a broken file, with or without
> checksumming the data (there are already checksums built into most HDF5
> data structures, e.g.).
> 
> I'll make these changes asap.
> 
>    -bert
> 
> On Sat, May 14, 2016 at 6:53 AM, Vladimir S. FONOV <vladimir.fonov at gmail.com
>> wrote:
> 
>> Hello,
>> 
>> the only thing minccomplete does is read the contents of the image:complete
>> attribute. Which is not even respected by all minc tools.
>> One real way to check the consistency of the minc file would be to enable
>> checksum , integrated into HDF5 file format.
>> 
>> Currently it can be enabled by setting the environment variable
>> MINC_CHECKSUM to 1 , at the time when file is created. Obviously, this
>> works only with MINC2 file format and it was not tested very well yet.
>> 
>> On Fri, May 13, 2016 at 3:35 PM, Alex Zijdenbos <zijdenbos at gmail.com>
>> wrote:
>> 
>>> Hi all,
>>> 
>>> I managed to generate a large number of broken MINC files;
>> possibly/likely
>>> due to a filesystem problem. The processes that created them (e.g.,
>>> mincaverage) did not produce any warnings and completed successfully; in
>>> addition, minccomplete tells me that the files are complete.
>>> 
>>> Unfortunately, trying to read these files throws HDF5 and miicv errors
>> (see
>>> below) and they are obviously corrupt.
>>> 
>>> I am thinking that it would be useful to complete minccomplete by having
>> it
>>> actually test-read the data, such that it would report on file integrity?
>>> This would make it easy to find these kinds of corruptions - and could
>> even
>>> tack that end the end of scripts to make sure outputs are intact. I'm
>>> currently using 'mincstats -quiet -min' to locate them, but it seems the
>>> natural place for this test would actually be minccomplete.
>>> 
>>> -- A
>>> 
>>> HDF5-DIAG: Error detected in HDF5 (1.8.9) thread 0:
>>>  #000: H5Dio.c line 174 in H5Dread(): can't read data
>>>    major: Dataset
>>>    minor: Read failed
>>>  #001: H5Dio.c line 449 in H5D_read(): can't read data
>>>    major: Dataset
>>>    minor: Read failed
>>>  #002: H5Dchunk.c line 1729 in H5D_chunk_read(): unable to read raw data
>>> chunk
>>>    major: Low-level I/O
>>>    minor: Read failed
>>>  #003: H5Dchunk.c line 2760 in H5D_chunk_lock(): data pipeline read
>> failed
>>>    major: Data filters
>>>    minor: Filter operation failed
>>>  #004: H5Z.c line 1120 in H5Z_pipeline(): filter returned failure during
>>> read
>>>    major: Data filters
>>>    minor: Read failed
>>>  #005: H5Zdeflate.c line 125 in H5Z_filter_deflate(): inflate() failed
>>>    major: Data filters
>>>    minor: Unable to initialize object
>>> mincstats (from miicv_get): Can't read dataset /minc-2.0/image/0/image
>>> _______________________________________________
>>> MINC-users at bic.mni.mcgill.ca
>>> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>>> 
>> 
>> 
>> 
>> --
>> Best regards,
>> 
>> Vladimir S. Fonov ~ vladimir <dot> fonov <at> gmail <dot> com
>> _______________________________________________
>> MINC-users at bic.mni.mcgill.ca
>> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>> 
> _______________________________________________
> MINC-users at bic.mni.mcgill.ca
> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users

Best regards, Vladimir S. FONOV ~ v.s.fonov <at> ilmarin.info






More information about the MINC-users mailing list