Your message dated Sun, 11 Dec 2022 17:19:10 +0000
with message-id <e1p4pyo-009t26...@fasolo.debian.org>
and subject line Bug#1025880: fixed in libsyntax-keyword-multisub-perl 0.02-3
has caused the Debian Bug report #1025880,
regarding libsyntax-keyword-multisub-perl: FTBFS on armhf et all due to wrong
format string usage
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
1025880: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1025880
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: libsyntax-keyword-multisub-perl
Version: 0.02-2
Severity: serious
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu lunar ubuntu-patch
Hi Gregor,
libsyntax-keyword-multisub-perl fails to build from source on multiple
architectures because the build-time test suite successfully captures a bug
in the code for which there is a compiler warning during the build:
lib/Syntax/Keyword/MultiSub.xs:52:11: warning: format ‘%d’ expects argument
of type ‘int’, but argument 4 has type ‘IV’ {aka ‘long long int’} [-Wformat=]
(https://buildd.debian.org/status/fetch.php?pkg=libsyntax-keyword-multisub-perl&arch=armhf&ver=0.02-2&stamp=1658361396&raw=0)
The code uses a format string for an int, but passes nargs which is of type
IV which is almost never an int. Therefore on some architectures the value
is being read from the wrong place in memory, resulting in a garbage value
instead of '3' as it should be in the test case:
[...]
# Failed test 'f() complains with too many args'
# at t/01multi.t line 22.
# 'Unable to find a function body for a call to &main::f
having 40571528 arguments at t/01multi.t line 21.
# '
# doesn't match '(?^u:^Unable to find a function body for a call to
&main::f having 3 arguments at )'
# Looks like you failed 1 test of 9.
[...]
The attached patch fixes the code by casting nargs to an int, which in
practice should always be sufficient.
Normally a build failure on architectures where the package has never built
before is an 'important' rather than 'serious' bug; because the new version
of libfuture-asyncawait-perl build-depends on
libsyntax-keyword-multisub-perl, it is also blocked by this bug so I am
marking it serious instead.
Thanks,
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer https://www.debian.org/
slanga...@ubuntu.com vor...@debian.org
diff -Nru
libsyntax-keyword-multisub-perl-0.02/debian/patches/correct-format-string-arguments.patch
libsyntax-keyword-multisub-perl-0.02/debian/patches/correct-format-string-arguments.patch
---
libsyntax-keyword-multisub-perl-0.02/debian/patches/correct-format-string-arguments.patch
1969-12-31 16:00:00.000000000 -0800
+++
libsyntax-keyword-multisub-perl-0.02/debian/patches/correct-format-string-arguments.patch
2022-12-10 20:41:55.000000000 -0800
@@ -0,0 +1,23 @@
+Description: Ensure format string arguments are of the matching type
+ The code treats 'nargs' as an int, but it is of type IV which may be of a
+ different size. This results in the code reading the wrong area of memory
+ on some architectures, and rightly failing the build because the resulting
+ error message is wrong (printing a garbage value for the number of arguments,
+ instead of '3').
+Author: Steve Langasek <steve.langa...@ubuntu.com>
+Last-Update: 2022-12-10
+Forwarded: no
+
+Index: libsyntax-keyword-multisub-perl-0.02/lib/Syntax/Keyword/MultiSub.xs
+===================================================================
+--- libsyntax-keyword-multisub-perl-0.02.orig/lib/Syntax/Keyword/MultiSub.xs
++++ libsyntax-keyword-multisub-perl-0.02/lib/Syntax/Keyword/MultiSub.xs
+@@ -50,7 +50,7 @@
+
+ if(!jumpcv)
+ croak("Unable to find a function body for a call to &%s::%s having %d
arguments",
+- HvNAME(CvSTASH(runcv)), GvNAME(CvGV(runcv)), nargs);
++ HvNAME(CvSTASH(runcv)), GvNAME(CvGV(runcv)), (int)nargs);
+
+ /* Now pretend to be goto &$cv
+ * Reuse the same PL_op structure and just call that ppfunc */
diff -Nru libsyntax-keyword-multisub-perl-0.02/debian/patches/series
libsyntax-keyword-multisub-perl-0.02/debian/patches/series
--- libsyntax-keyword-multisub-perl-0.02/debian/patches/series 1969-12-31
16:00:00.000000000 -0800
+++ libsyntax-keyword-multisub-perl-0.02/debian/patches/series 2022-12-10
20:38:30.000000000 -0800
@@ -0,0 +1 @@
+correct-format-string-arguments.patch
--- End Message ---
--- Begin Message ---
Source: libsyntax-keyword-multisub-perl
Source-Version: 0.02-3
Done: gregor herrmann <gre...@debian.org>
We believe that the bug you reported is fixed in the latest version of
libsyntax-keyword-multisub-perl, which is due to be installed in the Debian FTP
archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 1025...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
gregor herrmann <gre...@debian.org> (supplier of updated
libsyntax-keyword-multisub-perl package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Sun, 11 Dec 2022 17:57:57 +0100
Source: libsyntax-keyword-multisub-perl
Architecture: source
Version: 0.02-3
Distribution: unstable
Urgency: medium
Maintainer: Debian Perl Group <pkg-perl-maintain...@lists.alioth.debian.org>
Changed-By: gregor herrmann <gre...@debian.org>
Closes: 1025880
Changes:
libsyntax-keyword-multisub-perl (0.02-3) unstable; urgency=medium
.
* Add patch from CPAN RT to fix formatting an IV variable.
(Closes: #1025880)
Checksums-Sha1:
324565db810fc7f8e39710dd16e8b173084ad6ef 2730
libsyntax-keyword-multisub-perl_0.02-3.dsc
23a5358cb728a2b8bb06ed3685bcc7aa053faabe 2936
libsyntax-keyword-multisub-perl_0.02-3.debian.tar.xz
Checksums-Sha256:
3bddd4cd1919ff05c17635355141afad22318f473fc992e3ccdb6b550ef79979 2730
libsyntax-keyword-multisub-perl_0.02-3.dsc
8d302fda72812900c6775d5d9fe2658e59cd8bbccd0ad7fb7a149575a6ee74e6 2936
libsyntax-keyword-multisub-perl_0.02-3.debian.tar.xz
Files:
2073f9185027b706b9cd27a0db25ccc8 2730 perl optional
libsyntax-keyword-multisub-perl_0.02-3.dsc
561e3c93186a308ca50abb857173a4e7 2936 perl optional
libsyntax-keyword-multisub-perl_0.02-3.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAmOWDPhfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx
RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ
qgbH9A/9GDLz9AU8ZHLuCDbhWEgq1xvd+iJa7L6ujebbiaXxf62u9TMu7WekVbKE
CkVlN6UWwURbIqhsCLIyMDDNTZO+CVrH/1DpkskTksB7ryc1/iMjKAgowhh9nwFB
STuzW5iOnmXobBSF2Tb54nqRzJ1n5d9jAZMlIzFnHVWxxiIfkSIMBn3TkosGBNnx
WH8QgwAfWURL1i+nTKXfMYkWieP1NMBfTclGnNtLK7ReHhlFE0bfnLTRqXBueeeS
BI1adbUrjJYqQ1mPFjHGx8g56GmZjgn8nhK4OxTYTUd8Q36UXKiY0WpswR2RXH2y
xjcVchDVhz3g4uTHXGvUPWg8/Z3qtsCMxTizuD3FKV63VSxahEeNVtI/RQqGs3cF
bifp7G6S6CNcgz11eFv84O6jaOsrvg0XxOmbNqCYWgwubrjZ6am8MZI+T0rMRvZe
ZL/jOjpHx/2kZaFNYnvItLO/KNUs/aoqPin4MTB/kq3dcJPXxzvs9ECAJTFDc3OL
fXrQBBysfaOj9QnP3V7A1MiNn3xJMgfphizA0xisskUQByxBkfgnIn3VVTv41XGt
wOv8PYRGXMNVBZzUd1yQqoE57tikSEeVEOaufB/vdoFhNuarh7aZbYtFwM0UK+kd
rZfyfJz+ev9dfzx+eWUQqHjYzcNh6oCUYbi3E71uD5tAeJKLyWo=
=xTDK
-----END PGP SIGNATURE-----
--- End Message ---