[ITK-users] [ITK] bug in imageIOFactory

Matt McCormick matt.mccormick at kitware.com
Mon Jun 9 16:06:26 EDT 2014


Hi Scott,

According to this [1] entry in the HDF5 FAQ, to get a thread-safe
version on Windows, a new version is required with the referenced
CMake option enabled.  If this is done with ITK_USE_SYSTEM_HDF5
enabled, does it fix the crash?

Thanks,
Matt

[1] http://www.hdfgroup.org/hdf5-quest.html#tsafe

On Wed, May 21, 2014 at 4:40 PM, Scott Pfeifer <scottfivefour at gmail.com> wrote:
> the mutex is commented out, the starting_barrier ensures that all threads
> start the read at about the same time.  If you uncomment the mutex
> everything works as expected.
>
>
>
> On Wed, May 21, 2014 at 2:32 PM, Jim Miller <millerjv at gmail.com> wrote:
>>
>> A bit odd. Note quite sure from your example why you need the barrier or
>> the mutex.
>>
>> But since you are using a mutex, it would seem to me that only on
>> ImageFileReader is executing at a time. As such, I wouldn't have expected
>> any interactions between the ImageIO objects.
>>
>> Jim
>>
>> On May 21, 2014, at 3:46 PM, Scott Pfeifer <scottfivefour at gmail.com>
>> wrote:
>>
>> Hi all,
>>  I have found what seems to be a bug in IOFactory which seems to be a
>> threading issue.  I do not have a fix for it but I have a small program
>> which reproduces the issue.  I will attach the files.
>>
>> The fix I have for the situation is to either put a mutex around all
>> itkIamgeFileReader::Update()'s of assign the ioObject if I already know what
>> sort of image I am dealing with.
>> You will have to change the file names to some mhd files you have, if you
>> need me to provide some I can do that.
>>
>> to make the problem go away here just uncomment line 24 or 32 in
>> ItkTestThreadSupport.cpp
>>
>> I am running Itk 4.5.2 and boost 1.55
>>
>> If I can be of any assistance I would be happy to hel p- my stack trace
>> looks like this
>>
>>
>>
>> H5MM_xfree()
>> H5E_preintf_stack()
>> H5E_clear_starck()
>> isHdf5()
>> HDF5ImageIO::CanReadFile()
>> ImageIOFactory::CreateImageIO()>::GeneraterOutputInformation() line 116
>> ImageFileReader<itk::image<short,3> itkDefaultConvertPixelTrats<short>
>> ProcessObject::UpdateOutputInformation()
>> ImageBase<3>::UpdateOutputInformation()
>> DataObject::Update()
>> ProcessObject::update()
>>
>> <itkLoadTestMain.cpp>
>>
>> <ItkTestThreadSupport.cpp>
>>
>> <ItkTestThreadSupport.h>
>>
>> _____________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Kitware offers ITK Training Courses, for more information visit:
>> http://www.kitware.com/products/protraining.php
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-users
>
>
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>
> _______________________________________________
> Community mailing list
> Community at itk.org
> http://public.kitware.com/cgi-bin/mailman/listinfo/community
>


More information about the Insight-users mailing list