[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#995829: [Debian-med-packaging] Bug#984063: Please lets coordinate itk4/itk5 issues (Was: Bug#984063)



Hi all,

Steven Robbins, on 2021-11-08:
> On Monday, November 8, 2021 1:09:43 A.M. CST Andreas Tille wrote:
>> Am Sat, Nov 06, 2021 at 01:33:29AM +0100 schrieb Jose Luis Rivero:
>>> Hello! Gazebo maintainer here, affected by this RC bug. Looking into
>>> upstream repository there is a potential commit that can be used to patch
>>> this problem until new versions land in Debian:
>>> 
>>> https://github.com/InsightSoftwareConsortium/ITK/commit/840f22feb351739359
>>> a8fdb55304124823a3a8c9

Thanks Jose for the pointer!  I took the liberty to take
inspiration from this commit and came up with the patch in
attachment applying to ITKv4 in Debian.  This solves the build
failure, but the test suite then seems to choke on two TIFF
related functions:

	1128/2926 Testing: itkTIFFImageIOPlannarConfig2
	1128/2926 Test: itkTIFFImageIOPlannarConfig2
	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"
	Directory: /<<PKGBUILDDIR>>/BUILD/Modules/IO/TIFF/test
	"itkTIFFImageIOPlannarConfig2" start time: Nov 06 23:13 UTC
	Output:
	----------------------------------------------------------
	Trying reader->Update()
	<end of output>
	Test time =   0.03 sec
	----------------------------------------------------------
	Test Failed.
	"itkTIFFImageIOPlannarConfig2" end time: Nov 06 23:13 UTC
	"itkTIFFImageIOPlannarConfig2" time elapsed: 00:00:00
	----------------------------------------------------------
	[…]
	1130/2926 Testing: itkTIFFImageIOInfoTest2
	1130/2926 Test: itkTIFFImageIOInfoTest2
	Command: "/<<PKGBUILDDIR>>/BUILD/bin/ITKIOTIFFTestDriver" "itkTIFFImageIOInfoTest"
		"/<<PKGBUILDDIR>>/BUILD/ExternalData/Modules/IO/TIFF/test/Input/ps-separated.tif"
	Directory: /<<PKGBUILDDIR>>/BUILD/Modules/IO/TIFF/test
	"itkTIFFImageIOInfoTest2" start time: Nov 06 23:13 UTC
	Output:
	----------------------------------------------------------
	<end of output>
	Test time =   0.04 sec
	----------------------------------------------------------
	Test Fail Reason:
	Required regular expression not found. Regex=[2014:09:24 14:16:01
	]
	"itkTIFFImageIOInfoTest2" end time: Nov 06 23:13 UTC
	"itkTIFFImageIOInfoTest2" time elapsed: 00:00:00
	----------------------------------------------------------
	[…]
	The following tests FAILED:
	        1128 - itkTIFFImageIOPlannarConfig2 (SEGFAULT)
	        1130 - itkTIFFImageIOInfoTest2 (SEGFAULT)

If I lookup my kernel output with dmesg, then I see the process
ITKIOTIFFTestDriver:

	[3904521.677802] ITKIOTIFFTestDr[3973924]: segfault at 0 ip 00007f8f2a1468b5 sp 00007ffc74945dd0 error 6 in libtiff.so.5.7.0[7f8f2a142000+47000]
	[3904521.677813] Code: 48 8b 00 f3 0f 10 03 f3 0f 11 00 e9 70 ee ff ff 41 8b 16 83 fa 2f 77 58 89 d0 83 c2 08 49 03 46 10 41 89 16 48 8b 00 48
		8b 13 <48> 89 10 e9 4e ee ff ff 48 8d 0d 0c 3a 04 00 ba 9a 04 00 00 48 8d
	[3904521.706743] ITKIOTIFFTestDr[3973948]: segfault at 0 ip 00007f7eb8d9a8b5 sp 00007fff3196c920 error 6 in libtiff.so.5.7.0[7f7eb8d96000+47000]
	[3904521.706755] Code: 48 8b 00 f3 0f 10 03 f3 0f 11 00 e9 70 ee ff ff 41 8b 16 83 fa 2f 77 58 89 d0 83 c2 08 49 03 46 10 41 89 16 48 8b 00 48
		8b 13 <48> 89 10 e9 4e ee ff ff 48 8d 0d 0c 3a 04 00 ba 9a 04 00 00 48 8d

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.

>> caused me having a look into the Git repository of insighttoolkit4[1].
>> It is missing the NMU 4.13.3withdata-dfsg1-4.1 by Andreas Beckmann and
>> there are now the first commits done by Steve for insighttoolkit5
>> version 5.2.1 which was ITPed by Ghislain[2].
> 
> Yep, I've already uploaded ITK 5 to Debian.
> https://ftp-master.debian.org/new/insighttoolkit5_5.2.1-1.html

Thank you Steve for your trying to move ITKv5 forwards in
Debian!  :)  I guess the missing entries can be put back after
the package is out of NEW?

> If we can get ITK4 to build with current compilers, my suggestion would be to 
> make a v4 branch in the current repository.  On the other hand, it's kind of 
> 11th hour here.  I'm much more focused on replacing v4 with v5 -- which, to be 
> fair is already more than two years old.  ITK v4 is no longer supported 
> upstream.

Given the current layout, I'm considering the following
d/gbp.conf if names are okay, namimg things is hard.  The
disabled pristine-tar is because of the way the multiple
tarballs of the source are combined:

	[DEFAULT]
	debian-branch = itk-4.y
	upstream-branch = upstream-itk-4.y
	pristine-tar = False

While trying to keep insighttoolkit4 available in bookworm would
be nice for our users, this also involves maintaining two years
of backporting fixes brought to v5 into v4.  It's quite possible
we hit several other brick walls before bookworm around 2023, so
I agree priority should be to migrate to v5.

>> In any case people who are interested in ITK should coordinate their
>> work and talk to each other which I'd like to kindly invite you to
>> do here on the Debian Med mailing list (any other channel is fine for
>> sure).
> 
> Yes, I've always used debian-med for communications.  Additional hands are 
> always welcomed.

Sorry I didn't ping on this topic earlier, I probably should
have done so when looking up the build failure on Saturday.

In hope this helps,
Kind Regards,
-- 
Étienne Mollier <emollier@emlwks999.eu>
Fingerprint:  8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
Sent from /dev/pts/2, please excuse my verbosity.
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkAmoebaOptimizerv4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkAmoebaOptimizerv4Test.cxx
@@ -93,7 +93,7 @@
     GetDerivative( derivative );
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE
+  virtual void Initialize(void) ITK_OVERRIDE
   {
     m_Parameters.SetSize( SpaceDimension );
   }
@@ -201,7 +201,7 @@
     GetDerivative( derivative );
     }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE
+  virtual void Initialize(void) ITK_OVERRIDE
     {
     m_Parameters.SetSize( SpaceDimension );
     }
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkConjugateGradientLineSearchOptimizerv4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkConjugateGradientLineSearchOptimizerv4Test.cxx
@@ -61,7 +61,7 @@
     m_Parameters.Fill( 0 );
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  virtual void Initialize(void) ITK_OVERRIDE {}
 
   virtual void GetDerivative( DerivativeType & derivative ) const ITK_OVERRIDE
   {
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkExhaustiveOptimizerv4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkExhaustiveOptimizerv4Test.cxx
@@ -96,7 +96,7 @@
     GetDerivative( derivative );
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE
+  virtual void Initialize(void) ITK_OVERRIDE
   {
     m_Parameters.SetSize( SpaceDimension );
   }
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkGradientDescentLineSearchOptimizerv4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkGradientDescentLineSearchOptimizerv4Test.cxx
@@ -63,7 +63,7 @@
     m_Parameters.Fill( 0 );
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  virtual void Initialize(void) ITK_OVERRIDE {}
 
   virtual void GetDerivative( DerivativeType & derivative ) const ITK_OVERRIDE
   {
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkGradientDescentOptimizerBasev4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkGradientDescentOptimizerBasev4Test.cxx
@@ -74,7 +74,7 @@
     return false;
     }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  virtual void Initialize(void) ITK_OVERRIDE {}
 
   virtual void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
   { Superclass::PrintSelf( os, indent ); }
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkGradientDescentOptimizerv4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkGradientDescentOptimizerv4Test.cxx
@@ -62,7 +62,7 @@
     m_Parameters.Fill( 0 );
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  virtual void Initialize(void) ITK_OVERRIDE {}
 
   virtual void GetDerivative( DerivativeType & derivative ) const ITK_OVERRIDE
   {
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkGradientDescentOptimizerv4Test2.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkGradientDescentOptimizerv4Test2.cxx
@@ -57,7 +57,7 @@
     m_Parameters.Fill( 0 );
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  virtual void Initialize(void) ITK_OVERRIDE {}
 
   virtual void GetDerivative( DerivativeType & derivative ) const ITK_OVERRIDE
   {
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkLBFGS2Optimizerv4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkLBFGS2Optimizerv4Test.cxx
@@ -97,7 +97,7 @@
     GetDerivative( derivative );
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE
+  virtual void Initialize(void) ITK_OVERRIDE
   {
     m_Parameters.SetSize( SpaceDimension );
   }
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkLBFGSBOptimizerv4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkLBFGSBOptimizerv4Test.cxx
@@ -68,7 +68,7 @@
     m_HasLocalSupport = false;
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE
+  virtual void Initialize(void) ITK_OVERRIDE
   {
     m_Parameters.SetSize( SpaceDimension );
   }
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkLBFGSOptimizerv4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkLBFGSOptimizerv4Test.cxx
@@ -99,7 +99,7 @@
     GetDerivative( derivative );
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE
+  virtual void Initialize(void) ITK_OVERRIDE
   {
     m_Parameters.SetSize( SpaceDimension );
   }
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkMultiGradientOptimizerv4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkMultiGradientOptimizerv4Test.cxx
@@ -65,7 +65,7 @@
     m_Parameters(ITK_NULLPTR)
   {}
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  virtual void Initialize(void) ITK_OVERRIDE {}
 
   virtual void GetDerivative( DerivativeType & derivative ) const ITK_OVERRIDE
     {
@@ -170,7 +170,7 @@
     m_Parameters(ITK_NULLPTR)
   {}
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  virtual void Initialize(void) ITK_OVERRIDE {}
 
   virtual void GetDerivative( DerivativeType & derivative ) const ITK_OVERRIDE
     {
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkMultiStartOptimizerv4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkMultiStartOptimizerv4Test.cxx
@@ -59,7 +59,7 @@
     m_Parameters.Fill( 0 );
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  virtual void Initialize(void) ITK_OVERRIDE {}
 
   virtual void GetDerivative( DerivativeType & derivative ) const ITK_OVERRIDE
     {
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkObjectToObjectMetricBaseTest.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkObjectToObjectMetricBaseTest.cxx
@@ -78,7 +78,7 @@
   {
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  virtual void Initialize(void) ITK_OVERRIDE {}
 
   virtual void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
   { Superclass::PrintSelf( os, indent ); }
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkObjectToObjectOptimizerBaseTest.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkObjectToObjectOptimizerBaseTest.cxx
@@ -73,7 +73,7 @@
 
   virtual void SetParameters( ParametersType & ) ITK_OVERRIDE {}
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  virtual void Initialize(void) ITK_OVERRIDE {}
 
   virtual void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
   { Superclass::PrintSelf( os, indent ); }
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkOnePlusOneEvolutionaryOptimizerv4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkOnePlusOneEvolutionaryOptimizerv4Test.cxx
@@ -91,7 +91,7 @@
     GetDerivative( derivative );
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE
+  virtual void Initialize(void) ITK_OVERRIDE
   {
     m_Parameters.SetSize( SpaceDimension );
   }
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkPowellOptimizerv4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkPowellOptimizerv4Test.cxx
@@ -87,7 +87,7 @@
     GetDerivative( derivative );
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE
+  virtual void Initialize(void) ITK_OVERRIDE
   {
     m_Parameters.SetSize( SpaceDimension );
   }
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesEstimatorTest.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesEstimatorTest.cxx
@@ -70,7 +70,7 @@
   const ParametersType & GetParameters() const ITK_OVERRIDE
   { return m_Parameters; }
 
-  void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  void Initialize(void) ITK_OVERRIDE {}
 
   void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
   { Superclass::PrintSelf( os, indent ); }
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesFromIndexShiftTest.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesFromIndexShiftTest.cxx
@@ -69,7 +69,7 @@
   const ParametersType & GetParameters() const ITK_OVERRIDE
   { return m_Parameters; }
 
-  void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  void Initialize(void) ITK_OVERRIDE {}
 
   ParametersType  m_Parameters;
 
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesFromJacobianTest.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesFromJacobianTest.cxx
@@ -69,7 +69,7 @@
   const ParametersType & GetParameters() const ITK_OVERRIDE
   { return m_Parameters; }
 
-  void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  void Initialize(void) ITK_OVERRIDE {}
 
   ParametersType  m_Parameters;
 
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesFromPhysicalShiftTest.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesFromPhysicalShiftTest.cxx
@@ -68,7 +68,7 @@
   const ParametersType & GetParameters() const ITK_OVERRIDE
   { return m_Parameters; }
 
-  void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  void Initialize(void) ITK_OVERRIDE {}
 
   ParametersType  m_Parameters;
 
--- insighttoolkit.orig/Modules/Numerics/Optimizersv4/test/itkRegularStepGradientDescentOptimizerv4Test.cxx
+++ insighttoolkit/Modules/Numerics/Optimizersv4/test/itkRegularStepGradientDescentOptimizerv4Test.cxx
@@ -61,7 +61,7 @@
     m_Parameters.Fill( 0 );
   }
 
-  virtual void Initialize(void) throw ( itk::ExceptionObject ) ITK_OVERRIDE {}
+  virtual void Initialize(void) ITK_OVERRIDE {}
 
   virtual void GetDerivative( DerivativeType & derivative ) const ITK_OVERRIDE
   {
--- insighttoolkit.orig/Modules/Video/Core/test/itkTemporalProcessObjectTest.cxx
+++ insighttoolkit/Modules/Video/Core/test/itkTemporalProcessObjectTest.cxx
@@ -149,7 +149,7 @@
   }
 
   /** Override PropagateRequestedRegion for debug output */
-  virtual void PropagateRequestedRegion() throw (itk::InvalidRequestedRegionError) ITK_OVERRIDE
+  virtual void PropagateRequestedRegion() ITK_OVERRIDE
   {
     Superclass::PropagateRequestedRegion();
   }

Attachment: signature.asc
Description: PGP signature


Reply to: