all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Bernhard M. Wiedemann" <bernhardout@lsmod.de>
To: emacs-devel@gnu.org
Subject: reproducible .pdmp generation
Date: Tue, 1 Oct 2024 17:08:30 +0200	[thread overview]
Message-ID: <65874876-d30b-4a35-818f-50e135c77b76@lsmod.de> (raw)


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

Hi,

I tried to get emacs builds to produce bit-reproducible .pdmp files.

I reduced it to this reproducer:

> cd ~/rpmbuild/BUILD/emacs-29.4/src && setarch -R taskset 1 valgrind --leak-check=full --track-origins=yes ./temacs "--__aslr-disabled" "-batch" "--no-build-details" "-l" "loadup" "--temacs=pdump" "--bin-dest" "/usr/bin/" "--eln-dest" "/usr/lib64/emacs/29.4/" && md5sum emacs.pdmp


Here, valgrind reports about several uses of un-initialized memory, 
which could explain part of the variations.
Many come from alloc.c lmalloc and lrealloc

But there might be other issues involved.
One pair of .pdmp files had this noteworthy hunk in the diff:

>  009ca3a0  73 20 74 6f 20 64 6f 63  20 73 74 72 69 6e 67 73  |s to doc strings|
>  009ca3b0  2e 2e 2e 64 6f 6e 65 0a  50 75 72 65 2d 68 61 73  |...done.Pure-has|
>  009ca3c0  68 65 64 3a 20 31 35 39  35 37 20 73 74 72 69 6e  |hed: 15957 strin|
> -009ca3d0  67 73 2c 20 31 39 35 33  20 76 65 63 74 6f 72 73  |gs, 1953 vectors|
> +009ca3d0  67 73 2c 20 31 39 34 37  20 76 65 63 74 6f 72 73  |gs, 1947 vectors|
>  009ca3e0  2c 20 34 39 35 33 31 20  63 6f 6e 73 65 73 2c 20  |, 49531 conses, |
>  009ca3f0  31 32 33 33 20 62 79 74  65 63 6f 64 65 73 2c 20  |1233 bytecodes, |
>  009ca400  33 37 31 20 6f 74 68 65  72 73 0a 44 75 6d 70 69  |371 others.Dumpi|

Is there a tool to convert .pdmp files into some readable text form, so 
that I can better understand what differs there?

What other approaches could help to track down the source of 
non-determinism here?

Are these files actually needed to use emacs?

Ciao
Bernhard M.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

             reply	other threads:[~2024-10-01 15:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-01 15:08 Bernhard M. Wiedemann [this message]
2024-10-01 16:04 ` reproducible .pdmp generation Eli Zaretskii
2024-10-01 16:32   ` Daniel Colascione
2024-10-08  6:46     ` Bernhard M. Wiedemann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=65874876-d30b-4a35-818f-50e135c77b76@lsmod.de \
    --to=bernhardout@lsmod.de \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.