Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected]
Control: affects -1 + src:milib
User: [email protected]
Usertags: pu

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Dear Release Team,

I would like to propose an upload to stable for milib.

[ Reason ]
There is a FTBFS bug #1139472 in src:milib, due to an exception that is newly
thrown by a class in libjackson2-databind-java, version 2.14.0. This latter
package has been introduced in unstable and then in stable-p-u and
oldstable-p-u, hence a FTBFS in unstable, stable and oldstable.
The proposed upload fixes this build failure, with the same patch that has been
successfully fixing it in unstable and testing for three weeks.

[ Impact ]
If the update is not approved, the package will go on FTBFS-ing in stable and
the program could crash if the newly raised IOException of jackson-databind is
indeed thrown at runtime.

[ Tests ]
The build-time tests run successfully in unstable, stable and oldstable, and
the package has been in testing for three weeks.

[ Risks ]
Honestly, code is trivial as we are just catching one more exception in the
code, nothing else changed.

[ Checklist ]
  [X] *all* changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in stable
  [X] the issue is verified as fixed in unstable

[ Changes ]
The change is the application of a patch, which is exactly the one I applied
in unstable in version 2.2.0+dfsg-2.

[ Other info ]
There is a companion bug for the fix in oldstable.

Thanks a lot for your consideration,

- -- 
Pierre

-----BEGIN PGP SIGNATURE-----

iQJDBAEBCgAtFiEEM8soQxPpC9J9y0UjYAMWptwndHYFAmpb7sAPHHBndEBkZWJp
YW4ub3JnAAoJEGADFqbcJ3R26PsP/jeoPZyP8UuAYogXK9C87gW72HNNUYGmqTHI
5EHHcy2qmamWD3ryascE09ej5uQFkrSadxUVowl66ZdrSiychP2hx28ajxi+ryuu
rNT/4giThi0VicRfayIWwfc/OlR5ElBOWnfOyK46RX/wiZpdOGH4Qtv2n1Ugh+JH
Qg17y11sKKf02tXd45GIanv0jXie6DbvtOjRO+rYfazNo78Wifit9PJ7ybuMExEF
dlESzk9mYemeEwaV5er07HBIpC5ws+tibQXa+eQU7ozt+Tvr+Nk654XnuKmgDHF9
ZCCEXMd56tNEziAGddCjgBeRnG6K3cypazZ4B4F/zSk8N4zCGC3Av+Eolhhlxsi8
iH/GYIclf4eILO2ZGT1IJl3Wbk95ET5TbB70QfX9Srkb8WB1LIC9f6W2Ro96VDjs
3Fj0+dzY4NSNPERIFeuz7aKs8+/d8ubKCENkcWTqTh9U5Hkf9LI+sSHSzPz301Ox
N1p94nsBnc/eLl0utOP4/zeJeJASFCyDu2LcBklDR31GnZzIoDaS13VXm5XJVSHR
taMrxUd3FCjaw0dxL9tD3AY4yEc6zG4Zz1qYGcKI1SBnc7zolZRsPDYdkKlgv+sI
igU1PtFmck0x2qJ5BqKn79ukJG5/8SBoDZR5gFi5zt9ukASVwZjEzBwv1jVorgK3
jSHVPpLT
=DO/G
-----END PGP SIGNATURE-----
diff -Nru milib-2.2.0+dfsg/debian/changelog milib-2.2.0+dfsg/debian/changelog
--- milib-2.2.0+dfsg/debian/changelog   2022-12-30 14:38:35.000000000 +0100
+++ milib-2.2.0+dfsg/debian/changelog   2026-07-17 15:02:41.000000000 +0200
@@ -1,3 +1,9 @@
+milib (2.2.0+dfsg-1+deb13u1) trixie; urgency=medium
+
+  * Patching code to catch IOException (Closes: #1139472)
+
+ -- Pierre Gruet <[email protected]>  Fri, 17 Jul 2026 15:02:41 +0200
+
 milib (2.2.0+dfsg-1) unstable; urgency=medium
 
   * New upstream version 2.2.0+dfsg
diff -Nru milib-2.2.0+dfsg/debian/patches/series 
milib-2.2.0+dfsg/debian/patches/series
--- milib-2.2.0+dfsg/debian/patches/series      2022-11-14 21:52:46.000000000 
+0100
+++ milib-2.2.0+dfsg/debian/patches/series      2026-07-17 15:02:41.000000000 
+0200
@@ -2,3 +2,4 @@
 guava_interface.patch
 deactivate_test_reading_build_properties.patch
 flaky_test.patch
+uncaught_IOException.patch
diff -Nru milib-2.2.0+dfsg/debian/patches/uncaught_IOException.patch 
milib-2.2.0+dfsg/debian/patches/uncaught_IOException.patch
--- milib-2.2.0+dfsg/debian/patches/uncaught_IOException.patch  1970-01-01 
01:00:00.000000000 +0100
+++ milib-2.2.0+dfsg/debian/patches/uncaught_IOException.patch  2026-07-17 
15:01:02.000000000 +0200
@@ -0,0 +1,84 @@
+Description: catching IOException newly thrown by
+ com.fasterxml.jackson.databind.ObjectMapper
+Author: Pierre Gruet <[email protected]>
+Bug-Debian: https://bugs.debian.org/1139472
+Forwarded: no
+Last-Update: 2026-06-28
+
+--- a/src/main/java/com/milaboratory/util/ReportUtil.java
++++ b/src/main/java/com/milaboratory/util/ReportUtil.java
+@@ -89,6 +89,8 @@
+             return content.getBytes(StandardCharsets.UTF_8);
+         } catch (JsonProcessingException e) {
+             throw new RuntimeException(e);
++        } catch (IOException e) {
++            throw new RuntimeException(e);
+         }
+     }
+ 
+--- a/src/main/java/com/milaboratory/util/GlobalObjectMappers.java
++++ b/src/main/java/com/milaboratory/util/GlobalObjectMappers.java
+@@ -42,7 +42,12 @@
+     private static ObjectMapper PRETTY = null;
+ 
+     public static String toOneLine(Object object) throws 
JsonProcessingException {
+-        String str = 
GlobalObjectMappers.getOneLine().writeValueAsString(object);
++        String str;
++        try {
++            str = GlobalObjectMappers.getOneLine().writeValueAsString(object);
++        } catch (IOException e) {
++            throw new RuntimeException(e);
++        }
+ 
+         if (str.contains("\n"))
+             throw new RuntimeException("Internal error.");
+--- 
a/src/main/java/com/milaboratory/core/alignment/kaligner2/KAlignerParameters2.java
++++ 
b/src/main/java/com/milaboratory/core/alignment/kaligner2/KAlignerParameters2.java
+@@ -21,6 +21,8 @@
+ import com.milaboratory.core.sequence.NucleotideSequence;
+ import com.milaboratory.util.GlobalObjectMappers;
+ 
++import java.io.IOException;
++
+ /**
+  * @author Dmitry Bolotin
+  * @author Stanislav Poslavsky
+@@ -712,6 +714,8 @@
+             return "KAlignerParameters" + 
GlobalObjectMappers.getPretty().writeValueAsString(this);
+         } catch (JsonProcessingException e) {
+             return "Error...";
++        } catch (IOException e) {
++            throw new RuntimeException(e);
+         }
+     }
+ }
+--- 
a/src/main/java/com/milaboratory/core/alignment/AffineGapAlignmentScoring.java
++++ 
b/src/main/java/com/milaboratory/core/alignment/AffineGapAlignmentScoring.java
+@@ -24,6 +24,7 @@
+ import com.milaboratory.core.sequence.Sequence;
+ import com.milaboratory.util.GlobalObjectMappers;
+ 
++import java.io.IOException;
+ import java.io.ObjectStreamException;
+ 
+ /**
+@@ -155,6 +156,8 @@
+             return GlobalObjectMappers.getPretty().writeValueAsString(this);
+         } catch (JsonProcessingException e) {
+             throw new RuntimeException(e);
++        } catch (IOException e) {
++            throw new RuntimeException(e);
+         }
+     }
+ 
+--- 
a/src/main/java/com/milaboratory/core/alignment/kaligner1/KAlignerParameters.java
++++ 
b/src/main/java/com/milaboratory/core/alignment/kaligner1/KAlignerParameters.java
+@@ -630,6 +630,8 @@
+             return "KAlignerParameters" + 
GlobalObjectMappers.getPretty().writeValueAsString(this);
+         } catch (JsonProcessingException e) {
+             return "Error...";
++        } catch (IOException e) {
++            throw new RuntimeException(e);
+         }
+     }
+ }

Reply via email to