[Debian-med-packaging] Bug#984063: itk libtiff test issues (Was: Bug#984063)

Étienne Mollier emollier at emlwks999.eu
Sat Dec 11 09:02:02 GMT 2021


Hi Adrian,

Adrian Bunk, on 2021-12-09:
> On Tue, Nov 09, 2021 at 11:34:13PM +0100, Étienne Mollier wrote:
> > Étienne Mollier, on 2021-11-08:
> > > I haven't pushed investigations further for the moment.  This
> > > possibly appeared with tiff 4.3.0, and probably got fixed in
> > > ITKv5 as well.
> > 
> > Or not, the embedded copy is still libtiff 4.0.3 in ITKv5
> > instead of the version 4.3.0.  Maybe something went wrong with
> > our system tiff library, or the way it is called needs change;
> > it's probably worth pinging upstream.
> >...
> 
> ITKv5 appears to build, how was it fixed there?

If I append -DITK_USE_SYSTEM_TIFF:BOOL=ON, I see the same
segmentation faults already witnessed in itk4, so guess the
tiff 4.0.3 embedded works these issues around:

	1129: Test command:
		/<<PKGBUILDDIR>>/BUILD/bin/ITKIOTIFFTestDriver "--compare-MD5" "/<<PKGBUILDDIR>>/BUILD/Testing/Temporary/itkTIFFImageIOPlannarConfig2.tif" "91975481ba66709c8f3ccb538af5cd2a" "itkTIFFImageIOTest" "/<<PKGBUILDDIR>>/BUILD/ExternalData/Modules/IO/TIFF/test/Input/ps-separated.tif" "/<<PKGBUILDDIR>>/BUILD/Testing/Temporary/itkTIFFImageIOPlannarConfig2.tif" "2" "1"
	1129: Test timeout computed to be: 1500
	1129: Trying reader->Update()
	1129/2826 Testing: itkTIFFImageIOPlannarConfig2
	1129/2826 Test: itkTIFFImageIOPlannarConfig2

	1132: Test command:
		/<<PKGBUILDDIR>>/BUILD/bin/ITKIOTIFFTestDriver "itkTIFFImageIOInfoTest" "/<<PKGBUILDDIR>>/BUILD/ExternalData/Modules/IO/TIFF/test/Input/ps-separated.tif"
	1132: Test timeout computed to be: 1500
	1132/2826 Testing: itkTIFFImageIOInfoTest2
	1132/2826 Test: itkTIFFImageIOInfoTest2

There are also additionnal failures.  I suspect these are new
checks from itk5 to properly support large tiff images, greater
in size than 4GiB:

	1148: Test command: /<<PKGBUILDDIR>>/BUILD/bin/ITKIOTIFFTestDriver "itkLargeTIFFImageWriteReadTest" "/<<PKGBUILDDIR>>/BUILD/Testing/Temporary/LargeImage02.tif" "40000L"
	1148: Test timeout computed to be: 1500
	1148: Trying to allocate an image of size 3051 MiB 
	1148: Initializing pixel values
	1148: Trying to write the image to disk
	1148: Trying writer->Update()
	1148: 
	1148: itk::ExceptionObject (0x55906ce88950)
	1148: Location: "void itk::TIFFImageIO::InternalWrite(const void*)" 
	1148: File: ./Modules/IO/TIFF/src/itkTIFFImageIO.cxx
	1148: Line: 622
	1148: Description: ITK ERROR: TIFFImageIO(0x55906ce89950): Size of image exceeds the limit of libtiff.
	1148: 
	1148: 
	1148:   In ./Modules/IO/TIFF/test/itkLargeTIFFImageWriteReadTest.cxx, line 104
	2825/2826 Test #1148: itkLargeTIFFImageWriteReadTest2 ........................................................................***Failed    2.85 sec

	1149: Test command: /<<PKGBUILDDIR>>/BUILD/bin/ITKIOTIFFTestDriver "itkLargeTIFFImageWriteReadTest" "/<<PKGBUILDDIR>>/BUILD/Testing/Temporary/LargeImage03.tif" "50000L"
	1149: Test timeout computed to be: 1500
	1149: Trying to allocate an image of size 4768 MiB 
	1149: Initializing pixel values
	1149: Trying to write the image to disk
	1149: Trying writer->Update()
	1149: 
	1149: itk::ExceptionObject (0x56036aeef950)
	1149: Location: "void itk::TIFFImageIO::InternalWrite(const void*)" 
	1149: File: ./Modules/IO/TIFF/src/itkTIFFImageIO.cxx
	1149: Line: 622
	1149: Description: ITK ERROR: TIFFImageIO(0x56036aef0950): Size of image exceeds the limit of libtiff.
	1149: 
	1149: 
	1149:   In ./Modules/IO/TIFF/test/itkLargeTIFFImageWriteReadTest.cxx, line 104
	2826/2826 Test #1149: itkLargeTIFFImageWriteReadTest3 ........................................................................***Failed    4.93 sec

	1150: Test command: /<<PKGBUILDDIR>>/BUILD/bin/ITKIOTIFFTestDriver "itkLargeTIFFImageWriteReadTest" "/<<PKGBUILDDIR>>/BUILD/Testing/Temporary/LargeImage04.tif" "70000L"
	1150: Test timeout computed to be: 1500
	1150: Trying to allocate an image of size 9346 MiB 
	1150: Initializing pixel values
	1150: Trying to write the image to disk
	1150: Trying writer->Update()
	1150: 
	1150: itk::ExceptionObject (0x563af54b4950)
	1150: Location: "void itk::TIFFImageIO::InternalWrite(const void*)" 
	1150: File: ./Modules/IO/TIFF/src/itkTIFFImageIO.cxx
	1150: Line: 622
	1150: Description: ITK ERROR: TIFFImageIO(0x563af54b5950): Size of image exceeds the limit of libtiff.
	1150: 
	1150: 
	1150:   In ./Modules/IO/TIFF/test/itkLargeTIFFImageWriteReadTest.cxx, line 104
	2040/2826 Test #1150: itkLargeTIFFImageWriteReadTest4 ........................................................................***Failed   10.33 sec

The embedded copy of libtiff is excluded from itk4 .dsc.  I
would prefer not putting it back, given the trail of security
issues behind tiff.

I considered pushing a change yesterday to disable those tests
on insighttoolkit4, not to hide dust under the carpet, but to
give a chance to reverse dependencies to make it to testing in a
decent enough shape hopefuly.  However I caught a build issue in
the meantime:

	[  3%] Generating /<<PKGBUILDDIR>>/BUILD/ExternalData/Modules/Filtering/Deconvolution/test/Baseline/itkWienerDeconvolutionImageFilterIrregularKernelTest.nrrd
	usr/bin/cmake -Drelative_top=/<<PKGBUILDDIR>>/BUILD -Dfile=/<<PKGBUILDDIR>>/BUILD/ExternalData/Modules/Filtering/Deconvolution/test/Baseline/itkWienerDeconvolutionImageFilterIrregularKernelTest.nrrd -Dname=/<<PKGBUILDDIR>>/Modules/Filtering/Deconvolution/test/Baseline/itkWienerDeconvolutionImageFilterIrregularKernelTest.nrrd -Dexts=.md5+.sha512 -DExternalData_ACTION=fetch -DExternalData_CONFIG=/<<PKGBUILDDIR>>/BUILD/ITKData_config.cmake -P /<<PKGBUILDDIR>>/CMake/ExternalData.cmake
	-- Found object: "/<<PKGBUILDDIR>>/data/.ExternalData/MD5/58a1c99268c5f29b8b1ad1ae68529205"
	In file included from /<<PKGBUILDDIR>>/BUILD/Wrapping/ITKCommonBase.cxx:12:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkImage.h:28:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkNeighborhoodAccessorFunctor.h:21:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkImageBoundaryCondition.h:22:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkNeighborhood.h:24:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkSliceIterator.h:23:
	/usr/include/c++/11/valarray:1215:5: error: exception specification in declaration does not match previous declaration
	    begin(valarray<_Tp>& __va) noexcept
	    ^
	/usr/include/c++/11/bits/range_access.h:107:31: note: previous declaration is here
	  template<typename _Tp> _Tp* begin(valarray<_Tp>&);
	                              ^
	In file included from /<<PKGBUILDDIR>>/BUILD/Wrapping/ITKCommonBase.cxx:12:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkImage.h:28:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkNeighborhoodAccessorFunctor.h:21:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkImageBoundaryCondition.h:22:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkNeighborhood.h:24:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkSliceIterator.h:23:
	/usr/include/c++/11/valarray:1226:5: error: exception specification in declaration does not match previous declaration
	    begin(const valarray<_Tp>& __va) noexcept
	    ^
	/usr/include/c++/11/bits/range_access.h:108:37: note: previous declaration is here
	  template<typename _Tp> const _Tp* begin(const valarray<_Tp>&);
	                                    ^
	In file included from /<<PKGBUILDDIR>>/BUILD/Wrapping/ITKCommonBase.cxx:12:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkImage.h:28:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkNeighborhoodAccessorFunctor.h:21:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkImageBoundaryCondition.h:22:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkNeighborhood.h:24:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkSliceIterator.h:23:
	/usr/include/c++/11/valarray:1237:5: error: exception specification in declaration does not match previous declaration
	    end(valarray<_Tp>& __va) noexcept
	    ^
	/usr/include/c++/11/bits/range_access.h:109:31: note: previous declaration is here
	  template<typename _Tp> _Tp* end(valarray<_Tp>&);
	                              ^
	In file included from /<<PKGBUILDDIR>>/BUILD/Wrapping/ITKCommonBase.cxx:12:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkImage.h:28:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkNeighborhoodAccessorFunctor.h:21:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkImageBoundaryCondition.h:22:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkNeighborhood.h:24:
	In file included from /<<PKGBUILDDIR>>/Modules/Core/Common/include/itkSliceIterator.h:23:
	/usr/include/c++/11/valarray:1253:5: error: exception specification in declaration does not match previous declaration
	    end(const valarray<_Tp>& __va) noexcept
	    ^
	/usr/include/c++/11/bits/range_access.h:110:37: note: previous declaration is here
	  template<typename _Tp> const _Tp* end(const valarray<_Tp>&);

I'm a bit dry about the root cause right now.

> The other problem is #984284, which seems to require a rename
> of the libinsighttoolkit4.13 package.

I attempted to build otb against itk5, but it's not ready for
the version bump yet apparently.  What rename did you have in
mind for the libinsighttoolkit4.13 package exactly?

Thanks for jumping in,  :)
-- 
Étienne Mollier <emollier at emlwks999.eu>
Fingerprint:  8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
Sent from /dev/pts/2, please excuse my verbosity.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20211211/9048472a/attachment-0003.sig>


More information about the Debian-med-packaging mailing list