GNU bug report logs - #52560
Profiles don't survive roundtrips via files

Previous Next

Package: emacs;

Reported by: Paul Pogonyshev <pogonyshev <at> gmail.com>

Date: Thu, 16 Dec 2021 18:12:01 UTC

Severity: normal

Full log


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

From: Paul Pogonyshev <pogonyshev <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Profiles don't survive roundtrips via files
Date: Thu, 16 Dec 2021 19:11:03 +0100
[Message part 1 (text/plain, inline)]
Emacs 27.2, pretty sure it has existed since forever and still exists.

To reproduce:

M-x profiler-start RET RET
<do whatever for a few seconds>
M-x profiler-stop RET
M-x profiler-report RET

After expanding a few nodes under `command-execute' you should come to
something like `#<subr call-interactively>'.

Now continue:

M-: (profiler-write-profile (profiler-cpu-profile) "/tmp/buggy-elisp.prof")
RET
M-: (profiler-report-profile (profiler-read-profile
"/tmp/buggy-elisp.prof")) RET

Expand the same nodes and observe that nodes with `#<whatever>' under them
no longer match, after file-roundtrip these `#<...>' multiply like crazy.
It seems what's going on is that these things get stored as strings in the
file, and after rereading them into memory, they no longer compare as equal
by profiler calltree-building code.

Paul
[Message part 2 (text/html, inline)]

This bug report was last modified 3 years and 241 days ago.

Previous Next


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