GNU bug report logs -
#43088
GNU Mailutils fails its test suite on aarch64
Previous Next
Reported by: Tobias Geerinckx-Rice <me <at> tobias.gr>
Date: Fri, 28 Aug 2020 15:20:01 UTC
Severity: normal
Done: Pierre Langlois <pierre.langlois <at> gmx.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 43088 in the body.
You can then email your comments to 43088 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#43088
; Package
guix
.
(Fri, 28 Aug 2020 15:20:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Tobias Geerinckx-Rice <me <at> tobias.gr>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Fri, 28 Aug 2020 15:20:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Guix,
‘readmsg’ from mailutils <at> 3.10 segfaults on aarch64, blocking
‘emacs’
and ‘emacs-no-x’, but not ‘emacs-minimal’.
[Message part 2 (text/plain, inline)]
--- ./readmsg/tests/testsuite.dir/4/testsuite.log
---------------------------
# -*- compilation -*-
4. hdr.at:17: testing readmsg -h ...
./hdr.at:17:
MAIL=$abs_top_srcdir/testsuite/spool/mbox1
FOLDER=$MAIL
export MAIL FOLDER
readmsg --no-site --no-user readmsg -h SOMETHING
--- /dev/null 2020-08-25 23:01:26.064000000 +0000
+++
/tmp/guix-build-mailutils-3.10.drv-0/mailutils-3.10/readmsg/tests/testsuite.dir/at-groups/4/stderr
2020-08-
27 15:25:42.447733149 +0000
@@ -0,0 +1 @@
+/tmp/guix-build-mailutils-3.10.drv-0/mailutils-3.10/readmsg/tests/testsuite.dir/at-groups/4/test-source:
line 2
1: 30506 Segmentation fault readmsg --no-site --no-user
readmsg -h SOMETHING
--- - 2020-08-27 15:25:42.455592145 +0000
+++
/tmp/guix-build-mailutils-3.10.drv-0/mailutils-3.10/readmsg/tests/testsuite.dir/at-groups/4/stdout
2020-08-
27 15:25:42.451733151 +0000
@@ -1,17 +1,2 @@
From bar <at> dontmailme.org Fri Dec 28 23:28:09 2001
-Received: (from bar <at> dontmailme.org)
- by dontmailme.org id fERKR9N16790
- for foobar <at> nonexistent.net; Fri, 28 Dec 2001 22:18:08
+0200
-Date: Fri, 28 Dec 2001 23:28:08 +0200
-From: Bar <bar <at> dontmailme.org>
-To: Foo Bar <foobar <at> nonexistent.net>
-Message-Id: <200112232808.fERKR9N16790 <at> dontmailme.org>
-Subject: Re: Jabberwocky
-
-It seems very pretty, but it's *rather* hard to understand!'
-Somehow it seems to fill my head with ideas -- only I don't
-exactly know what they are! However, SOMEBODY killed SOMETHING:
-that's clear, at any rate...
-
-
./hdr.at:17: exit code was 139, expected 0
4. hdr.at:17: 4. readmsg -h (hdr.at:17): FAILED (hdr.at:17)
[Message part 3 (text/plain, inline)]
Kind regards,
T G-R
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#43088
; Package
guix
.
(Sat, 12 Sep 2020 12:25:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 43088 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Tobias,
Tobias Geerinckx-Rice via Bug reports for GNU Guix writes:
> Guix,
>
> ‘readmsg’ from mailutils <at> 3.10 segfaults on aarch64, blocking
> ‘emacs’
> and ‘emacs-no-x’, but not ‘emacs-minimal’.
>
> --- ./readmsg/tests/testsuite.dir/4/testsuite.log
> ---------------------------
>
> # -*- compilation -*-
> 4. hdr.at:17: testing readmsg -h ...
> ./hdr.at:17:
> MAIL=$abs_top_srcdir/testsuite/spool/mbox1
> FOLDER=$MAIL
> export MAIL FOLDER
> readmsg --no-site --no-user readmsg -h SOMETHING
> --- /dev/null 2020-08-25 23:01:26.064000000 +0000
> +++
> /tmp/guix-build-mailutils-3.10.drv-0/mailutils-3.10/readmsg/tests/testsuite.dir/at-groups/4/stderr
> 2020-08-
> 27 15:25:42.447733149 +0000
> @@ -0,0 +1 @@
> +/tmp/guix-build-mailutils-3.10.drv-0/mailutils-3.10/readmsg/tests/testsuite.dir/at-groups/4/test-source:
> line 2
> 1: 30506 Segmentation fault readmsg --no-site --no-user readmsg -h
> SOMETHING
> --- - 2020-08-27 15:25:42.455592145 +0000
> +++
> /tmp/guix-build-mailutils-3.10.drv-0/mailutils-3.10/readmsg/tests/testsuite.dir/at-groups/4/stdout
> 2020-08-
> 27 15:25:42.451733151 +0000
> @@ -1,17 +1,2 @@
> From bar <at> dontmailme.org Fri Dec 28 23:28:09 2001
> -Received: (from bar <at> dontmailme.org)
> - by dontmailme.org id fERKR9N16790
> - for foobar <at> nonexistent.net; Fri, 28 Dec 2001 22:18:08 +0200
> -Date: Fri, 28 Dec 2001 23:28:08 +0200
> -From: Bar <bar <at> dontmailme.org>
> -To: Foo Bar <foobar <at> nonexistent.net>
> -Message-Id: <200112232808.fERKR9N16790 <at> dontmailme.org>
> -Subject: Re: Jabberwocky
> -
> -It seems very pretty, but it's *rather* hard to understand!'
> -Somehow it seems to fill my head with ideas -- only I don't
> -exactly know what they are! However, SOMEBODY killed SOMETHING:
> -that's clear, at any rate...
> -
> -
>
> ./hdr.at:17: exit code was 139, expected 0
> 4. hdr.at:17: 4. readmsg -h (hdr.at:17): FAILED (hdr.at:17)
I've been hit by this as well so I thought I'd look into it today, and I
think I found the problem! I just sent an email upstream to
bug-mailutils <at> gnu.org about it.
Essentially, we have a `weedc' variable that's not initialized, and on
aarch64 it gets initialized with `0xffff'. See
https://git.savannah.gnu.org/cgit/mailutils.git/tree/readmsg/readmsg.c#n469
Here's the reproducer I just sent upstream:
```
$ export MAIL=/tmp/guix-build-mailutils-3.10.drv-0/mailutils-3.10/testsuite/spool/mbox1
$ export FOLDER=/tmp/guix-build-mailutils-3.10.drv-0/mailutils-3.10/testsuite/spool/mbox1
$ ... edit readmsg script so that `gdb --args' is prepended
$ /tmp/guix-build-mailutils-3.10.drv-0/mailutils-3.10/readmsg/readmsg --no-site --no-user readmsg -h SOMETHING
...
(gdb) start
Temporary breakpoint 2 at 0x4034c8: file readmsg.c, line 463.
Starting program: /tmp/guix-build-mailutils-3.10.drv-0/mailutils-3.10/readmsg/.libs/readmsg --no-site --no-user readmsg -h SOMETHING
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/gnu/store/cb88z63hyg1icd2kkahiink2p291mhr2-glibc-2.31/lib/libthread_db.so.1".
Temporary breakpoint 2, main (argc=6, argv=0xffffffffeb58) at readmsg.c:463
463 int *set = NULL;
(gdb) p weedc
$4 = 65535
(gdb) watch weedc
Hardware watchpoint 3: weedc
(gdb) c
Continuing.
From bar <at> dontmailme.org Fri Dec 28 23:28:09 2001
Program received signal SIGSEGV, Segmentation fault.
0x00000000004030a0 in print_header (message=0x470f90, unix_header=1, weedc=65535, weedv=0x4042c8 <__libc_csu_init>) at readmsg.c:353
353 if (weedv[j][0] == '!')
(gdb) p j
$5 = 0
(gdb) p weedv[j][0]
Cannot access memory at address 0x910003fda9bc7bfd
(gdb) up
#1 0x0000000000403a2c in main (argc=2, argv=0xffffffffeb78) at readmsg.c:580
580 print_header (msg, unix_header, weedc, weedv);
(gdb) p weedc
$6 = 65535
(gdb)
```
The test suite all passes if we initialize `int weedc = 0'!
Thanks,
Pierre
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#43088
; Package
guix
.
(Sun, 13 Sep 2020 12:22:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 43088 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Pierre Langlois writes:
> Hi Tobias,
>
> Tobias Geerinckx-Rice via Bug reports for GNU Guix writes:
>
>> Guix,
>>
>> ‘readmsg’ from mailutils <at> 3.10 segfaults on aarch64, blocking
>> ‘emacs’
>> and ‘emacs-no-x’, but not ‘emacs-minimal’.
>>
>> --- ./readmsg/tests/testsuite.dir/4/testsuite.log
>> ---------------------------
>>
>> # -*- compilation -*-
>> 4. hdr.at:17: testing readmsg -h ...
>> ./hdr.at:17:
>> MAIL=$abs_top_srcdir/testsuite/spool/mbox1
>> FOLDER=$MAIL
>> export MAIL FOLDER
>> readmsg --no-site --no-user readmsg -h SOMETHING
>> --- /dev/null 2020-08-25 23:01:26.064000000 +0000
>> +++
>> /tmp/guix-build-mailutils-3.10.drv-0/mailutils-3.10/readmsg/tests/testsuite.dir/at-groups/4/stderr
>> 2020-08-
>> 27 15:25:42.447733149 +0000
>> @@ -0,0 +1 @@
>> +/tmp/guix-build-mailutils-3.10.drv-0/mailutils-3.10/readmsg/tests/testsuite.dir/at-groups/4/test-source:
>> line 2
>> 1: 30506 Segmentation fault readmsg --no-site --no-user readmsg -h
>> SOMETHING
>> --- - 2020-08-27 15:25:42.455592145 +0000
>> +++
>> /tmp/guix-build-mailutils-3.10.drv-0/mailutils-3.10/readmsg/tests/testsuite.dir/at-groups/4/stdout
>> 2020-08-
>> 27 15:25:42.451733151 +0000
>> @@ -1,17 +1,2 @@
>> From bar <at> dontmailme.org Fri Dec 28 23:28:09 2001
>> -Received: (from bar <at> dontmailme.org)
>> - by dontmailme.org id fERKR9N16790
>> - for foobar <at> nonexistent.net; Fri, 28 Dec 2001 22:18:08 +0200
>> -Date: Fri, 28 Dec 2001 23:28:08 +0200
>> -From: Bar <bar <at> dontmailme.org>
>> -To: Foo Bar <foobar <at> nonexistent.net>
>> -Message-Id: <200112232808.fERKR9N16790 <at> dontmailme.org>
>> -Subject: Re: Jabberwocky
>> -
>> -It seems very pretty, but it's *rather* hard to understand!'
>> -Somehow it seems to fill my head with ideas -- only I don't
>> -exactly know what they are! However, SOMEBODY killed SOMETHING:
>> -that's clear, at any rate...
>> -
>> -
>>
>> ./hdr.at:17: exit code was 139, expected 0
>> 4. hdr.at:17: 4. readmsg -h (hdr.at:17): FAILED (hdr.at:17)
>
> I've been hit by this as well so I thought I'd look into it today, and I
> think I found the problem! I just sent an email upstream to
> bug-mailutils <at> gnu.org about it.
Cool, upstream fixed the bug! [0]
Here's a patch to apply the fix before we get the next release.
OK to commit?
Thanks,
Pierre
[0]: https://git.savannah.gnu.org/cgit/mailutils.git/commit/?id=5ca6382fe8adb5bc436a6d873c8b86c69d5abfd1
[signature.asc (application/pgp-signature, inline)]
[0001-gnu-mailutils-Fix-unitialized-variable-in-readmsg.patch (text/x-patch, inline)]
From 0aac8082acd0c19a2d991376c7527053e196a1fd Mon Sep 17 00:00:00 2001
From: Pierre Langlois <pierre.langlois <at> gmx.com>
Date: Sun, 13 Sep 2020 13:02:52 +0100
Subject: [PATCH] gnu: mailutils: Fix unitialized variable in readmsg.
Fixes mailutils on aarch64, see <https://issues.guix.gnu.org/43088>.
* gnu/packages/patches/mailutils-fix-uninitialized-variable.patch: New
file.
* gnu/packages/mail.scm (mailutils)[source]: Add patch.
* gnu/local.mk (dist_patch_DATA): Register patch.
---
gnu/local.mk | 1 +
gnu/packages/mail.scm | 5 +++-
...mailutils-fix-uninitialized-variable.patch | 26 +++++++++++++++++++
3 files changed, 31 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/mailutils-fix-uninitialized-variable.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 1baa8405c5..6cdbe0d778 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1291,6 +1291,7 @@ dist_patch_DATA = \
%D%/packages/patches/luajit-no_ldconfig.patch \
%D%/packages/patches/luit-posix.patch \
%D%/packages/patches/lvm2-static-link.patch \
+ %D%/packages/patches/mailutils-fix-uninitialized-variable.patch \
%D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mariadb-client-test-32bit.patch \
%D%/packages/patches/mars-install.patch \
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 4a9c6fc90f..45d7877c27 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -197,7 +197,10 @@ example, modify the message headers or body, or encrypt or sign the message.")
version ".tar.xz"))
(sha256
(base32
- "17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9"))))
+ "17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9"))
+ (patches
+ ;; Fixes https://issues.guix.gnu.org/43088.
+ (search-patches "mailutils-fix-uninitialized-variable.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/patches/mailutils-fix-uninitialized-variable.patch b/gnu/packages/patches/mailutils-fix-uninitialized-variable.patch
new file mode 100644
index 0000000000..2a1c81648b
--- /dev/null
+++ b/gnu/packages/patches/mailutils-fix-uninitialized-variable.patch
@@ -0,0 +1,26 @@
+From 5ca6382fe8adb5bc436a6d873c8b86c69d5abfd1 Mon Sep 17 00:00:00 2001
+From: Sergey Poznyakoff <gray <at> gnu.org>
+Date: Sun, 13 Sep 2020 14:43:46 +0300
+Subject: [PATCH] Fix uninitialized variable in readmsg
+
+* readmsg/readmsg.c (main): Initialize weedc.
+---
+ readmsg/readmsg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/readmsg/readmsg.c b/readmsg/readmsg.c
+index 9f305bb9c..3a9f420db 100644
+--- a/readmsg/readmsg.c
++++ b/readmsg/readmsg.c
+@@ -466,7 +466,7 @@ main (int argc, char **argv)
+ mu_mailbox_t mbox = NULL;
+ struct mu_wordsplit ws;
+ char **weedv;
+- int weedc;
++ int weedc = 0;
+ int unix_header = 0;
+
+ /* Native Language Support */
+--
+2.28.0
+
--
2.28.0
Information forwarded
to
bug-guix <at> gnu.org
:
bug#43088
; Package
guix
.
(Wed, 16 Sep 2020 16:43:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 43088 <at> debbugs.gnu.org (full text, mbox):
Hi Pierre,
Well done!
Pierre Langlois <pierre.langlois <at> gmx.com> skribis:
> From 0aac8082acd0c19a2d991376c7527053e196a1fd Mon Sep 17 00:00:00 2001
> From: Pierre Langlois <pierre.langlois <at> gmx.com>
> Date: Sun, 13 Sep 2020 13:02:52 +0100
> Subject: [PATCH] gnu: mailutils: Fix unitialized variable in readmsg.
>
> Fixes mailutils on aarch64, see <https://issues.guix.gnu.org/43088>.
For easier grepping, I recommend always writing:
Fixes <https://bugs.gnu.org/NNN>.
> * gnu/packages/patches/mailutils-fix-uninitialized-variable.patch: New
> file.
> * gnu/packages/mail.scm (mailutils)[source]: Add patch.
> * gnu/local.mk (dist_patch_DATA): Register patch.
Otherwise LGTM, thank you! It’s OK to push on ‘master’.
Ludo’.
Reply sent
to
Pierre Langlois <pierre.langlois <at> gmx.com>
:
You have taken responsibility.
(Wed, 16 Sep 2020 19:04:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Tobias Geerinckx-Rice <me <at> tobias.gr>
:
bug acknowledged by developer.
(Wed, 16 Sep 2020 19:04:02 GMT)
Full text and
rfc822 format available.
Message #19 received at 43088-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Ludo,
Ludovic Courtès writes:
> Hi Pierre,
>
> Well done!
>
> Pierre Langlois <pierre.langlois <at> gmx.com> skribis:
>
>> From 0aac8082acd0c19a2d991376c7527053e196a1fd Mon Sep 17 00:00:00 2001
>> From: Pierre Langlois <pierre.langlois <at> gmx.com>
>> Date: Sun, 13 Sep 2020 13:02:52 +0100
>> Subject: [PATCH] gnu: mailutils: Fix unitialized variable in readmsg.
>>
>> Fixes mailutils on aarch64, see <https://issues.guix.gnu.org/43088>.
>
> For easier grepping, I recommend always writing:
>
> Fixes <https://bugs.gnu.org/NNN>.
>
Cool, done.
>> * gnu/packages/patches/mailutils-fix-uninitialized-variable.patch: New
>> file.
>> * gnu/packages/mail.scm (mailutils)[source]: Add patch.
>> * gnu/local.mk (dist_patch_DATA): Register patch.
>
> Otherwise LGTM, thank you! It’s OK to push on ‘master’.
Thanks! Pushed as 891b045f3848596c8939e31e80185f31448cade1
Pierre
[signature.asc (application/pgp-signature, inline)]
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 15 Oct 2020 11:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 187 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.