unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#43088: GNU Mailutils fails its test suite on aarch64
@ 2020-08-28 15:19 Tobias Geerinckx-Rice via Bug reports for GNU Guix
  2020-09-12 12:24 ` Pierre Langlois
  0 siblings, 1 reply; 5+ messages in thread
From: Tobias Geerinckx-Rice via Bug reports for GNU Guix @ 2020-08-28 15:19 UTC (permalink / raw)
  To: 43088


[-- Attachment #1.1: Type: text/plain, Size: 143 bytes --]

Guix,

‘readmsg’ from mailutils@3.10 segfaults on aarch64, blocking 
‘emacs’
and ‘emacs-no-x’, but not ‘emacs-minimal’.


[-- Attachment #1.2: Type: text/plain, Size: 1644 bytes --]

--- ./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@dontmailme.org  Fri Dec 28 23:28:09 2001
-Received: (from bar@dontmailme.org)
-       by dontmailme.org id fERKR9N16790
-       for foobar@nonexistent.net; Fri, 28 Dec 2001 22:18:08 
        +0200
-Date: Fri, 28 Dec 2001 23:28:08 +0200
-From: Bar <bar@dontmailme.org>
-To: Foo Bar <foobar@nonexistent.net>
-Message-Id: <200112232808.fERKR9N16790@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)

[-- Attachment #1.3: Type: text/plain, Size: 22 bytes --]


Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#43088: GNU Mailutils fails its test suite on aarch64
  2020-08-28 15:19 bug#43088: GNU Mailutils fails its test suite on aarch64 Tobias Geerinckx-Rice via Bug reports for GNU Guix
@ 2020-09-12 12:24 ` Pierre Langlois
  2020-09-13 12:20   ` Pierre Langlois
  0 siblings, 1 reply; 5+ messages in thread
From: Pierre Langlois @ 2020-09-12 12:24 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 43088

[-- Attachment #1: Type: text/plain, Size: 4009 bytes --]

Hi Tobias,

Tobias Geerinckx-Rice via Bug reports for GNU Guix writes:

> Guix,
>
> ‘readmsg’ from mailutils@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@dontmailme.org  Fri Dec 28 23:28:09 2001
> -Received: (from bar@dontmailme.org)
> -       by dontmailme.org id fERKR9N16790
> -       for foobar@nonexistent.net; Fri, 28 Dec 2001 22:18:08         +0200
> -Date: Fri, 28 Dec 2001 23:28:08 +0200
> -From: Bar <bar@dontmailme.org>
> -To: Foo Bar <foobar@nonexistent.net>
> -Message-Id: <200112232808.fERKR9N16790@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@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@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#43088: GNU Mailutils fails its test suite on aarch64
  2020-09-12 12:24 ` Pierre Langlois
@ 2020-09-13 12:20   ` Pierre Langlois
  2020-09-16 16:41     ` Ludovic Courtès
  0 siblings, 1 reply; 5+ messages in thread
From: Pierre Langlois @ 2020-09-13 12:20 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 43088


[-- Attachment #1.1: Type: text/plain, Size: 2511 bytes --]


Pierre Langlois writes:

> Hi Tobias,
>
> Tobias Geerinckx-Rice via Bug reports for GNU Guix writes:
>
>> Guix,
>>
>> ‘readmsg’ from mailutils@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@dontmailme.org  Fri Dec 28 23:28:09 2001
>> -Received: (from bar@dontmailme.org)
>> -       by dontmailme.org id fERKR9N16790
>> -       for foobar@nonexistent.net; Fri, 28 Dec 2001 22:18:08         +0200
>> -Date: Fri, 28 Dec 2001 23:28:08 +0200
>> -From: Bar <bar@dontmailme.org>
>> -To: Foo Bar <foobar@nonexistent.net>
>> -Message-Id: <200112232808.fERKR9N16790@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@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


[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-mailutils-Fix-unitialized-variable-in-readmsg.patch --]
[-- Type: text/x-patch, Size: 3167 bytes --]

From 0aac8082acd0c19a2d991376c7527053e196a1fd Mon Sep 17 00:00:00 2001
From: Pierre Langlois <pierre.langlois@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@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


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* bug#43088: GNU Mailutils fails its test suite on aarch64
  2020-09-13 12:20   ` Pierre Langlois
@ 2020-09-16 16:41     ` Ludovic Courtès
  2020-09-16 19:03       ` Pierre Langlois
  0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2020-09-16 16:41 UTC (permalink / raw)
  To: Pierre Langlois; +Cc: 43088

Hi Pierre,

Well done!

Pierre Langlois <pierre.langlois@gmx.com> skribis:

> From 0aac8082acd0c19a2d991376c7527053e196a1fd Mon Sep 17 00:00:00 2001
> From: Pierre Langlois <pierre.langlois@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’.




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#43088: GNU Mailutils fails its test suite on aarch64
  2020-09-16 16:41     ` Ludovic Courtès
@ 2020-09-16 19:03       ` Pierre Langlois
  0 siblings, 0 replies; 5+ messages in thread
From: Pierre Langlois @ 2020-09-16 19:03 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 43088-done

[-- Attachment #1: Type: text/plain, Size: 908 bytes --]

Hi Ludo,

Ludovic Courtès writes:

> Hi Pierre,
>
> Well done!
>
> Pierre Langlois <pierre.langlois@gmx.com> skribis:
>
>> From 0aac8082acd0c19a2d991376c7527053e196a1fd Mon Sep 17 00:00:00 2001
>> From: Pierre Langlois <pierre.langlois@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-09-16 19:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-28 15:19 bug#43088: GNU Mailutils fails its test suite on aarch64 Tobias Geerinckx-Rice via Bug reports for GNU Guix
2020-09-12 12:24 ` Pierre Langlois
2020-09-13 12:20   ` Pierre Langlois
2020-09-16 16:41     ` Ludovic Courtès
2020-09-16 19:03       ` Pierre Langlois

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).