Emacs is not reproducible

  • Open
  • quality assurance status badge
Details
5 participants
  • Bone Baboon
  • Jack Hill
  • Ludovic Courtès
  • Maxim Cournoyer
  • zimoun
Owner
unassigned
Submitted by
Maxim Cournoyer
Severity
normal
Merged with
M
M
Maxim Cournoyer wrote on 2 Apr 2019 17:55
(name . bug-guix)(address . bug-guix@gnu.org)
87a7h88kro.fsf@gmail.com
Found on the latest staging branch. The diffoscope log produced by:

Toggle snippet (3 lines)
diffoscope --exclude-command '/gnu/store/.*/bin/stat' --text=emacs.diffoscope /gnu/store/cjmgl8820dhxb400q9zv90b1a1z0px14-emacs-26.1{,-check}

The 'stat' command output was muted to ignore the many occurrences of
differing link numbers (and reduce the attached log size).

Here's an excerpt:

Toggle snippet (28 lines)
--- /gnu/store/cjmgl8820dhxb400q9zv90b1a1z0px14-emacs-26.1
+++ /gnu/store/cjmgl8820dhxb400q9zv90b1a1z0px14-emacs-26.1-check
??? bin
? ??? .emacs-26.1-real
? ? ??? /gnu/store/02iklp4swqs0ipxhg5x9b2shmj6b30h1-binutils-2.31.1/bin/readelf --wide --decompress --hex-dump=.data {}
? ? ? @@ -13602,17 +13602,17 @@
? ? ? 0x0068f670 9caa9600 00000000 01000000 00000000 ................
? ? ? 0x0068f680 ffffffff ffffffff 00000000 00000000 ................
? ? ? 0x0068f690 07af9600 00000000 07000000 00000000 ................
? ? ? 0x0068f6a0 ffffffff ffffffff 00000000 00000000 ................
? ? ? 0x0068f6b0 94aa9600 00000000 09000000 00000000 ................
? ? ? 0x0068f6c0 ffffffff ffffffff 00000000 00000000 ................
? ? ? 0x0068f6d0 8aaa9600 00000000 8e720100 00000000 .........r......
? ? ? - 0x0068f6e0 ebf66800 00000000 36f00100 00000000 ..h.....6.......
? ? ? - 0x0068f6f0 fbf66800 00000000 ce3d3800 00000000 ..h......=8.....
? ? ? - 0x0068f700 0bf76800 00000000 22e03b00 00000000 ..h.....".;.....
? ? ? + 0x0068f6e0 ebf66800 00000000 12ec0100 00000000 ..h.............
? ? ? + 0x0068f6f0 fbf66800 00000000 4abd2e00 00000000 ..h.....J.......
? ? ? + 0x0068f700 0bf76800 00000000 c2313100 00000000 ..h......11.....
? ? ? 0x0068f710 00000000 00000000 06000012 00000040 ...............@
? ? ? 0x0068f720 5bf76800 00000000 7cf76800 00000000 [.h.....|.h.....
? ? ? 0x0068f730 9df76800 00000000 32000000 00000000 ..h.....2.......
? ? ? 0x0068f740 b6b1a700 00000000 fcf96800 00000000 ..........h.....
? ? ? 0x0068f750 00000000 00000000 50280000 00000000 ........P(......
? ? ? 0x0068f760 6bf76800 00000000 10df4300 00000000 k.h.......C.....
? ? ? 0x0068f770 00000000 00000000 9c000000 00000000 ................
? ? ??? /gnu/store/02iklp4swqs0ipxhg5x9b2shmj6b30h1-binutils-2.31.1/bin/readelf --wide --decompress --hex-dump=,bss {}
L
L
Ludovic Courtès wrote on 30 Nov 2019 15:32
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 35085@debbugs.gnu.org)
87tv6lph8p.fsf@gnu.org
Just a heads-up to say that this still applies to 26.3. The affected
files are:

Toggle snippet (19 lines)
$ diff -r --no-dereference /tmp/emacs.{1,2}
Binary files /tmp/emacs.1/bin/.emacs-26.3-real and /tmp/emacs.2/bin/.emacs-26.3-real differ
Binary files /tmp/emacs.1/share/emacs/26.3/lisp/calendar/cal-iso.elc and /tmp/emacs.2/share/emacs/26.3/lisp/calendar/cal-iso.elc differ
Binary files /tmp/emacs.1/share/emacs/26.3/lisp/cedet/semantic/lex-spp.elc and /tmp/emacs.2/share/emacs/26.3/lisp/cedet/semantic/lex-spp.elc differ
Binary files /tmp/emacs.1/share/emacs/26.3/lisp/cedet/semantic/tag-ls.elc and /tmp/emacs.2/share/emacs/26.3/lisp/cedet/semantic/tag-ls.elc differ
Binary files /tmp/emacs.1/share/emacs/26.3/lisp/cedet/semantic/tag-write.elc and /tmp/emacs.2/share/emacs/26.3/lisp/cedet/semantic/tag-write.elc differ
Binary files /tmp/emacs.1/share/emacs/26.3/lisp/emacs-lisp/easy-mmode.elc and /tmp/emacs.2/share/emacs/26.3/lisp/emacs-lisp/easy-mmode.elc differ
Binary files /tmp/emacs.1/share/emacs/26.3/lisp/eshell/esh-proc.elc and /tmp/emacs.2/share/emacs/26.3/lisp/eshell/esh-proc.elc differ
Binary files /tmp/emacs.1/share/emacs/26.3/lisp/progmodes/ada-xref.elc and /tmp/emacs.2/share/emacs/26.3/lisp/progmodes/ada-xref.elc differ
Binary files /tmp/emacs.1/share/emacs/26.3/lisp/progmodes/ebnf-bnf.elc and /tmp/emacs.2/share/emacs/26.3/lisp/progmodes/ebnf-bnf.elc differ
Binary files /tmp/emacs.1/share/emacs/26.3/lisp/vc/ediff-mult.elc and /tmp/emacs.2/share/emacs/26.3/lisp/vc/ediff-mult.elc differ
$ guix describe
Generation 117 Nov 27 2019 16:43:08 (current)
guix f678cc9
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: f678cc9c793bcf23ced842f815c5d98bbde5fa31

Ludo’.
Z
Z
zimoun wrote on 7 Jan 2020 21:01
bug#35085: Emacs is not reproducible
CAJ3okZ145cdCsGakvaJUM+ve+RaTN0ry5VAnLK=X3yKJYW2UTg@mail.gmail.com
Dear,

An update to say that the situation is maybe worse.


Let build the same version than Ludo [1] with:

Toggle snippet (7 lines)
guix time-machine --commit=f678cc9 -- build emacs
guix time-machine --commit=f678cc9 -- build emacs \
--check --no-grafts -K
diff -r --no-dereference
/gnu/store/zja4gdq52wxlppa0pq2j5id7pl9zfqkq-emacs-26.3{,-check}



Then, Ludo reported theses ones that I do not have:

Toggle snippet (8 lines)
lisp/calendar/cal-iso.elc
lisp/cedet/semantic/lex-spp.elc
lisp/cedet/semantic/tag-ls.elc
lisp/emacs-lisp/easy-mode.elc
lisp/eshell/esh-proc.elc
lisp/vc/ediff-mult.elc

but instead I have these ones:

Toggle snippet (14 lines)
/gnu/store/zja4gdq52wxlppa0pq2j5id7pl9zfqkq-emacs-26.3/share/emacs/26.3/lisp/calendar/cal-islam.elc
/gnu/store/zja4gdq52wxlppa0pq2j5id7pl9zfqkq-emacs-26.3/share/emacs/26.3/lisp/emacs-lisp/eieio.elc
/gnu/store/zja4gdq52wxlppa0pq2j5id7pl9zfqkq-emacs-26.3/share/emacs/26.3/lisp/eshell/esh-cmd.elc
/gnu/store/zja4gdq52wxlppa0pq2j5id7pl9zfqkq-emacs-26.3/share/emacs/26.3/lisp/gnus/gnus-int.elc
/gnu/store/zja4gdq52wxlppa0pq2j5id7pl9zfqkq-emacs-26.3/share/emacs/26.3/lisp/gnus/gnus-start.elc
/gnu/store/zja4gdq52wxlppa0pq2j5id7pl9zfqkq-emacs-26.3/share/emacs/26.3/lisp/net/tramp-ftp.elc
/gnu/store/zja4gdq52wxlppa0pq2j5id7pl9zfqkq-emacs-26.3/share/emacs/26.3/lisp/org/org-lint.elc
/gnu/store/zja4gdq52wxlppa0pq2j5id7pl9zfqkq-emacs-26.3/share/emacs/26.3/lisp/org/org-mobile.elc
/gnu/store/zja4gdq52wxlppa0pq2j5id7pl9zfqkq-emacs-26.3/share/emacs/26.3/lisp/org/ox-md.elc
/gnu/store/zja4gdq52wxlppa0pq2j5id7pl9zfqkq-emacs-26.3/share/emacs/26.3/lisp/org/ox-odt.elc
/gnu/store/zja4gdq52wxlppa0pq2j5id7pl9zfqkq-emacs-26.3/share/emacs/26.3/lisp/progmodes/ada-xref.elc
/gnu/store/zja4gdq52wxlppa0pq2j5id7pl9zfqkq-emacs-26.3/share/emacs/26.3/lisp/progmodes/ebnf-abn.elc

And building several times changes a bit this list, e.g., sometimes
'lisp/progmodes/ada-xref.elc' differs, sometimes not.


Using Guix commit 3c9e86ae8bf09d993e2e7a4ecb43d80da8fabb99, * means
appears in the Ludo's list and # in mine (above).

Toggle snippet (16 lines)
*/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/bin/.emacs-26.3-real
*/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/share/emacs/26.3/lisp/emacs-lisp/easy-mmode.elc
#/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/share/emacs/26.3/lisp/emacs-lisp/eieio.elc
*/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/share/emacs/26.3/lisp/eshell/esh-proc.elc
#/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/share/emacs/26.3/lisp/gnus/gnus-int.elc
#/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/share/emacs/26.3/lisp/gnus/gnus-start.elc
#/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/share/emacs/26.3/lisp/net/tramp-ftp.elc
#/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/share/emacs/26.3/lisp/org/org-lint.elc
#/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/share/emacs/26.3/lisp/org/org-mobile.elc
#/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/share/emacs/26.3/lisp/org/ox-md.elc
#/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/share/emacs/26.3/lisp/org/ox-odt.elc
#/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/share/emacs/26.3/lisp/progmodes/ebnf-abn.elc
*/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/share/emacs/26.3/lisp/progmodes/ebnf-bnf.elc
*/gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3/share/emacs/26.3/lisp/vc/ediff-mult.elc

For example, the file 'lisp/cedet/semantic/lex-spp.elc' sometimes
differs, sometimes not.


Maybe, the first step is to inspect the .elc files. But I am not sure
how to use diffoscope, I mean, I am not able to find my road with:

Toggle snippet (5 lines)
diffoscope /gnu/store/54m1fqnkhjm5jy22barxy3r86jg6nsxs-emacs-26.3{,-check}/share/emacs/26.3/lisp/emacs-lisp/easy-mmode.elc



All the best,
simon
J
J
Jack Hill wrote on 2 May 2020 06:08
(no subject)
(address . control@debbugs.gnu.org)
alpine.DEB.2.20.2005020007210.5735@marsh.hcoop.net
merge 35085 41012
J
J
Jack Hill wrote on 2 May 2020 06:10
emacs reproducability problem also affects emacs-next 27.0.91
(address . 35085@debbugs.gnu.org)
alpine.DEB.2.20.2005020008170.5735@marsh.hcoop.net
Hi,

I filed a duplicate bug earlier today while working on emacs-next. The
problem now also seems to include the new .pdmp files.

Best,
Jack
Z
Z
zimoun wrote on 9 Sep 2020 17:37
Re: bug#35085: Emacs is not reproducible
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 35085@debbugs.gnu.org)
878sdjufjo.fsf@gmail.com
Dear,

Just a heads-up to say that this still applies to 27.1.

Toggle snippet (16 lines)
guix describe
Generation 86 Sep 09 2020 12:21:38 (current)
guix ce022b2
repository URL: https://git.savannah.gnu.org/git/guix.git
commit: ce022b2e142c75b9e4d05fc1aec91e345dc374a7

guix time-machine --commit=057d584b98 -- build emacs --no-grafts
[...]
/gnu/store/wn1m7lwnasvwygbaf8ky413qzbm96mys-emacs-27.1

guix time-machine --commit=057d584b98 \
-- build emacs --check --no-grafts
[...]
guix build: error: derivation `/gnu/store/s9avsbm004zjrkba9v58ricy2vk56gzz-emacs-27.1.drv' may not be deterministic: output `/gnu/store/wn1m7lwnasvwygbaf8ky413qzbm96mys-emacs-27.1' differs

Then the files that differ are:

Toggle snippet (17 lines)
diff -r --no-dereference /gnu/store/wn1m7lwnasvwygbaf8ky413qzbm96mys-emacs-27.1{,-check}
Binary files /gnu/store/…-emacs-27.1/libexec/emacs/27.1/x86_64-pc-linux-gnu/emacs.pdmp
and /gnu/store/…-emacs-27.1-check/libexec/emacs/27.1/x86_64-pc-linux-gnu/emacs.pdmp differ
Binary files /gnu/store/…-emacs-27.1/share/emacs/27.1/lisp/cedet/semantic/lex-spp.elc
and /gnu/store/…-emacs-27.1-check/share/emacs/27.1/lisp/cedet/semantic/lex-spp.elc differ
Binary files /gnu/store/…-emacs-27.1/share/emacs/27.1/lisp/cedet/semantic/tag-file.elc
and /gnu/store/…-emacs-27.1-check/share/emacs/27.1/lisp/cedet/semantic/tag-file.elc differ
Binary files /gnu/store/…-emacs-27.1/share/emacs/27.1/lisp/cedet/semantic/tag-ls.elc
and /gnu/store/…-emacs-27.1-check/share/emacs/27.1/lisp/cedet/semantic/tag-ls.elc differ
Binary files /gnu/store/…-emacs-27.1/share/emacs/27.1/lisp/cedet/semantic.elc
and /gnu/store/…-emacs-27.1-check/share/emacs/27.1/lisp/cedet/semantic.elc differ
Binary files /gnu/store/…-emacs-27.1/share/emacs/27.1/lisp/gnus/mm-extern.elc
and /gnu/store/…-emacs-27.1-check/share/emacs/27.1/lisp/gnus/mm-extern.elc differ



All the best,
simon
B
B
Bone Baboon wrote on 17 May 2021 02:30
Re: bug#35085: Emacs is not reproducible
(address . 35085@debbugs.gnu.org)
87wnrycic1.fsf@disroot.org
Emacs 27.2 is not reproducible.

`guix describe` outputs:

```
Generation 24 May 12 2021 18:06:24 (current)
guix d6aeebb
branch: master
commit: d6aeebb23639258311fdfb9dbf5f903079fde51a
```

`guix challenge emacs` outputs:

```
/gnu/store/c52rwsavrj62dc50y599zi215ibh6a5h-emacs-27.2 contents differ:
local hash: 1d2cwadp5dhjmaw7ai3jnp306iqqs89dw5gm793j84wk0sxpyvhz
https://ci.guix.gnu.org/nar/lzip/c52rwsavrj62dc50y599zi215ibh6a5h-emacs-27.2:1ny8qvr5aha5ffm4mfh70b37512vxkayxq1nd25hsadpfyc19wj5
differing files:
/libexec/emacs/27.2/i686-pc-linux-gnu/emacs.pdmp
/share/emacs/27.2/lisp/eshell/esh-cmd.elc
/share/emacs/27.2/lisp/net/tramp.elc
/share/emacs/27.2/lisp/net/tramp-ftp.elc
/share/emacs/27.2/lisp/net/tramp-gvfs.elc
/share/emacs/27.2/lisp/gnus/mm-extern.elc
/share/emacs/27.2/lisp/gnus/gnus-registry.elc
/share/emacs/27.2/lisp/gnus/nnmairix.elc
/share/emacs/27.2/lisp/gnus/nnir.elc
/share/emacs/27.2/lisp/vc/ediff-util.elc
/share/emacs/27.2/lisp/cedet/semantic/util.elc
/share/emacs/27.2/lisp/cedet/semantic/texi.elc
/share/emacs/27.2/lisp/calendar/cal-mayan.elc
/share/emacs/27.2/lisp/calendar/cal-persia.elc
/share/emacs/27.2/lisp/calendar/cal-tex.elc
/share/emacs/27.2/lisp/org/org-agenda.elc
/share/emacs/27.2/lisp/org/ox-odt.elc
/share/emacs/27.2/lisp/mh-e/mh-junk.elc

1 store items were analyzed:
- 0 (0.0%) were identical
- 1 (100.0%) differed
- 0 (0.0%) were inconclusive
```
B
B
Bone Baboon wrote on 17 May 2021 15:57
Re: bug#35085: Emacs is not reproducible
(address . 35085@debbugs.gnu.org)
87r1i5cvjv.fsf@disroot.org
Bone Baboon writes:

Toggle quote (44 lines)
> Emacs 27.2 is not reproducible.
>
> `guix describe` outputs:
>
> ```
> Generation 24 May 12 2021 18:06:24 (current)
> guix d6aeebb
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: d6aeebb23639258311fdfb9dbf5f903079fde51a
> ```
>
> `guix challenge emacs` outputs:
>
> ```
> /gnu/store/c52rwsavrj62dc50y599zi215ibh6a5h-emacs-27.2 contents differ:
> local hash: 1d2cwadp5dhjmaw7ai3jnp306iqqs89dw5gm793j84wk0sxpyvhz
> https://ci.guix.gnu.org/nar/lzip/c52rwsavrj62dc50y599zi215ibh6a5h-emacs-27.2: 1ny8qvr5aha5ffm4mfh70b37512vxkayxq1nd25hsadpfyc19wj5
> differing files:
> /libexec/emacs/27.2/i686-pc-linux-gnu/emacs.pdmp
> /share/emacs/27.2/lisp/eshell/esh-cmd.elc
> /share/emacs/27.2/lisp/net/tramp.elc
> /share/emacs/27.2/lisp/net/tramp-ftp.elc
> /share/emacs/27.2/lisp/net/tramp-gvfs.elc
> /share/emacs/27.2/lisp/gnus/mm-extern.elc
> /share/emacs/27.2/lisp/gnus/gnus-registry.elc
> /share/emacs/27.2/lisp/gnus/nnmairix.elc
> /share/emacs/27.2/lisp/gnus/nnir.elc
> /share/emacs/27.2/lisp/vc/ediff-util.elc
> /share/emacs/27.2/lisp/cedet/semantic/util.elc
> /share/emacs/27.2/lisp/cedet/semantic/texi.elc
> /share/emacs/27.2/lisp/calendar/cal-mayan.elc
> /share/emacs/27.2/lisp/calendar/cal-persia.elc
> /share/emacs/27.2/lisp/calendar/cal-tex.elc
> /share/emacs/27.2/lisp/org/org-agenda.elc
> /share/emacs/27.2/lisp/org/ox-odt.elc
> /share/emacs/27.2/lisp/mh-e/mh-junk.elc
>
> 1 store items were analyzed:
> - 0 (0.0%) were identical
> - 1 (100.0%) differed
> - 0 (0.0%) were inconclusive
> ```

Attached is the diffoscope output for Emacs 27.2.
?