Skip to content

DeformableRegistration8Test3 seems broken (requires ITK_USE_BRAINWEB_DATA) #5170

Open
@seanm

Description

@seanm

I suspect ITK_USE_BRAINWEB_DATA does not get a lot of testing...

If I enable that option, build, then do ctest -V -R DeformableRegistration8Test3, I get a failure like:

Starting Registration
ExceptionObject caught !

itk::ImageFileReaderException (0x60f000002280)
Location: "virtual void itk::ImageFileReader<itk::Image<float, 3>>::GenerateOutputInformation() [TOutputImage = itk::Image<float, 3>, ConvertPixelTraits = itk::DefaultConvertPixelTraits<float>]"
File: /Users/sean/external/ITK/Modules/IO/ImageBase/include/itkImageFileReader.hxx
Line: 135
Description:  Could not create IO object for reading file /Users/sean/external/ITK-ASan-bin/Testing/Temporary/BSplineWarping2Test.mhd
The file doesn't exist.
Filename = /Users/sean/external/ITK-ASan-bin/Testing/Temporary/BSplineWarping2Test.mhd

Indeed that file is not there. If I then do ctest -j22 -R ., that seems to tickle something else to get/create the file. Now if I run just DeformableRegistration8Test3 it finds that file, and I get farther.

It runs for minutes and consumes tonnes of RAM. I have 192 GiB of physical RAM and it uses it all and starts swapping.

If I then enable UBSan I find a use of a null pointer. I chased it a bit and if you take this virtualImage:

const typename VirtualImageType::ConstPointer virtualImage = this->m_Associate->GetVirtualImage();

and add the line after assert(virtualImage->GetBufferPointer()); that's the null, which I believe is unexpected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:BugInconsistencies or issues which will cause an incorrect result under some or all circumstances

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions