GNU bug report logs - #34321
reproducibility: absolute file name in newst-treeview.elc

Previous Next

Package: emacs;

Reported by: Glenn Morris <rgm <at> gnu.org>

Date: Mon, 4 Feb 2019 22:56:02 UTC

Severity: minor

Tags: confirmed

Merged with 34322

Found in version 26.1.91

To reply to this bug, email your comments to 34321 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#34321; Package emacs. (Mon, 04 Feb 2019 22:56:02 GMT) Full text and rfc822 format available.

Message #3 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: submit <at> debbugs.gnu.org
Subject: reproducibility: absolute file name in newst-treeview.elc
Date: Mon, 04 Feb 2019 17:55:09 -0500
Package: emacs
Version: 26.1.91
Severity: minor

For some reason, the definition of newsticker--group-shift in the
compiled file newst-treeview.elc ends up containing a string that points
to the build directory. Eg in the 26.1.91 pretest tarfile, it is:

"/home/nico/work/emacs-26/lisp/emacs-lisp/cl-extra.elc"

This means that newst-treeview.elc is non-reproducible (contents change
as build directory changes).

(Issued spotted in
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/diffoscope-results/emacs.html
)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34321; Package emacs. (Tue, 05 Feb 2019 16:17:01 GMT) Full text and rfc822 format available.

Message #6 received at 34321 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Glenn Morris <rgm <at> gnu.org>,
    Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 34321 <at> debbugs.gnu.org
Subject: Re: bug#34321: reproducibility: absolute file name in
 newst-treeview.elc
Date: Tue, 05 Feb 2019 18:15:46 +0200
> From: Glenn Morris <rgm <at> gnu.org>
> Date: Mon, 04 Feb 2019 17:55:09 -0500
> 
> For some reason, the definition of newsticker--group-shift in the
> compiled file newst-treeview.elc ends up containing a string that points
> to the build directory. Eg in the 26.1.91 pretest tarfile, it is:
> 
> "/home/nico/work/emacs-26/lisp/emacs-lisp/cl-extra.elc"

Looks like a pointer to a place where cl-concatenate is defined.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34321; Package emacs. (Tue, 05 Feb 2019 18:53:01 GMT) Full text and rfc822 format available.

Message #9 received at 34321 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 34321 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: bug#34321: reproducibility: absolute file name in
 newst-treeview.elc
Date: Tue, 05 Feb 2019 13:52:36 -0500
Eli Zaretskii wrote:

>> to the build directory. Eg in the 26.1.91 pretest tarfile, it is:
>> 
>> "/home/nico/work/emacs-26/lisp/emacs-lisp/cl-extra.elc"
>
> Looks like a pointer to a place where cl-concatenate is defined.

I was going to say that this is a defun, not a defsubst, but then I see
that it is "proclaimed inline" in cl-macs.el, so it is a (confusing)
defsubst, so this is probably the same root cause as #34322.




Merged 34321 34322. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 05 Feb 2019 22:59:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34321; Package emacs. (Wed, 11 Aug 2021 19:16:01 GMT) Full text and rfc822 format available.

Message #14 received at 34321 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: 34321 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>, 34322 <at> debbugs.gnu.org,
 Michael Albinus <michael.albinus <at> gmx.de>, rgm <at> gnu.org
Subject: Re: bug#34321: reproducibility: absolute file name in
 newst-treeview.elc
Date: Wed, 11 Aug 2021 21:14:47 +0200
Stefan Monnier <monnier <at> IRO.UMontreal.CA> writes:

> But really, this is actually a side-problem: the inlined bytecode is not
> spliced the way it should, so the inlining optimization is basically
> missing.  Such a half-assed inlining gives you all the downsides of
> inlining without its upsides.  Once we fix that, the reproducibility
> problem will also be fixed.

It's two years later, so I checked whether this problem is still present
on the trunk, and indeed:

(defalias 'tramp-lookup-syntax #[257 "..." [tramp-syntax #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ftp 6 sep 8)) default separate] 2 ("/home/larsi/src/emacs/trunk/lisp/net/tramp-compat.elc" . 7627)] error "Wrong `tramp-syntax' %s"] 4 (#$ . 29248)])

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) confirmed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 11 Aug 2021 19:16:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34321; Package emacs. (Sat, 29 Jan 2022 15:16:01 GMT) Full text and rfc822 format available.

Message #19 received at 34321 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 34321 <at> debbugs.gnu.org, 34322 <at> debbugs.gnu.org
Subject: Re: bug#34322: reproducibility: absolute file name in tramp.elc
Date: Sat, 29 Jan 2022 16:15:30 +0100
Glenn Morris <rgm <at> gnu.org> writes:

> For some reason, the definition of newsticker--group-shift in the
> compiled file newst-treeview.elc ends up containing a string that points
> to the build directory. Eg in the 26.1.91 pretest tarfile, it is:
>
> "/home/nico/work/emacs-26/lisp/emacs-lisp/cl-extra.elc"
>
> This means that newst-treeview.elc is non-reproducible (contents change
> as build directory changes).

I grepped through the news*.elc files for /home, but couldn't find any.
So has this problem fixed itself since it was reported?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sat, 29 Jan 2022 15:18:01 GMT) Full text and rfc822 format available.

Removed tag(s) moreinfo. Request was from Glenn Morris <rgm <at> fencepost.gnu.org> to control <at> debbugs.gnu.org. (Sat, 29 Jan 2022 17:38:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34321; Package emacs. (Sat, 29 Jan 2022 17:41:01 GMT) Full text and rfc822 format available.

Message #26 received at 34321 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 34321 <at> debbugs.gnu.org, 34322 <at> debbugs.gnu.org
Subject: Re: bug#34322: reproducibility: absolute file name in tramp.elc
Date: Sat, 29 Jan 2022 12:40:29 -0500
Lars Ingebrigtsen wrote:

> So has this problem fixed itself since it was reported?

No it has not.

find . -name '*.elc' | xargs grep /scratch
Binary file ./lisp/org/ox-odt.elc matches
Binary file ./lisp/org/ox.elc matches
Binary file ./lisp/progmodes/cc-mode.elc matches

Even if that didn't return any matches, the onus would still be there to
verify that it was due to a genuine bytecode fix rather than
coincidental changes in the source files or build ordering.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34321; Package emacs. (Sun, 30 Jan 2022 15:55:01 GMT) Full text and rfc822 format available.

Message #29 received at 34321 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 34321 <at> debbugs.gnu.org, 34322 <at> debbugs.gnu.org
Subject: Re: bug#34322: reproducibility: absolute file name in tramp.elc
Date: Sun, 30 Jan 2022 16:54:25 +0100
Glenn Morris <rgm <at> gnu.org> writes:

>> So has this problem fixed itself since it was reported?
>
> No it has not.
>
> find . -name '*.elc' | xargs grep /scratch
> Binary file ./lisp/org/ox-odt.elc matches
> Binary file ./lisp/org/ox.elc matches
> Binary file ./lisp/progmodes/cc-mode.elc matches

Ah, right, I also get my complete path in those .elc files.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34321; Package emacs. (Sun, 30 Jan 2022 17:05:01 GMT) Full text and rfc822 format available.

Message #32 received at 34321 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Schwab <schwab <at> linux-m68k.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: Glenn Morris <rgm <at> gnu.org>, 34321 <at> debbugs.gnu.org, 34322 <at> debbugs.gnu.org
Subject: Re: bug#34322: reproducibility: absolute file name in tramp.elc
Date: Sun, 30 Jan 2022 18:03:59 +0100
On Jan 30 2022, Lars Ingebrigtsen wrote:

> Glenn Morris <rgm <at> gnu.org> writes:
>
>>> So has this problem fixed itself since it was reported?
>>
>> No it has not.
>>
>> find . -name '*.elc' | xargs grep /scratch
>> Binary file ./lisp/org/ox-odt.elc matches
>> Binary file ./lisp/org/ox.elc matches
>> Binary file ./lisp/progmodes/cc-mode.elc matches
>
> Ah, right, I also get my complete path in those .elc files.

That appears to be a bug in the bytecode inliner.  In ox.elc the
function org-element-class (a defsubst) is supposed to be inlined into
org-export-data and org-export-expand, but instead the original bytecode
of org-element-class is put into the bytecode, including its doc string
reference (pointing to org-element.elc, which would normally be written
as $# if it appeared there instead of in ex.elc).

-- 
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34321; Package emacs. (Sun, 01 May 2022 09:04:01 GMT) Full text and rfc822 format available.

Message #35 received at 34321 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Andreas Schwab <schwab <at> linux-m68k.org>
Cc: Mattias EngdegÄrd <mattiase <at> acm.org>,
 Glenn Morris <rgm <at> gnu.org>, 34321 <at> debbugs.gnu.org,
 Stefan Monnier <monnier <at> iro.umontreal.ca>, 34322 <at> debbugs.gnu.org
Subject: Re: bug#34322: reproducibility: absolute file name in tramp.elc
Date: Sun, 01 May 2022 11:03:06 +0200
Andreas Schwab <schwab <at> linux-m68k.org> writes:

> That appears to be a bug in the bytecode inliner.  In ox.elc the
> function org-element-class (a defsubst) is supposed to be inlined into
> org-export-data and org-export-expand, but instead the original bytecode
> of org-element-class is put into the bytecode, including its doc string
> reference (pointing to org-element.elc, which would normally be written
> as $# if it appeared there instead of in ex.elc).

Hm, yes.

(As an aside, org-element-class should probably not be a defsubst,
because three other org files declare-function it because they don't
load it at compile time.  But ox.el does load it when compiling.)

Perhaps Stefan or Mattias have some input on what's going wrong with
inlining here; added to the CCs.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 2 years and 238 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.