Subject: bug#50453: 27.2; Portable dumper broken on MSW

From: Eli Zaretskii <[email-masked]>
Date: Tue, 07 Sep 2021 16:47:52 +0300

> Date: Tue, 07 Sep 2021 20:46:31 +0800
> From:  Po Lu via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
> Having recently had an opportunity to update the Emacs installed on some
> machines previously running 24.5, I noticed that Emacs 27.2 doesn't seem
> to load portable dumps, and instead fails with an out-of-memory error,
> the precise error message being:
> 
> emacs: could not load dump file
> "C:\PROGRAM FILES\EMACS\I686\libexec/emacs/27.2/i686-w64-mingw32/emacs.pdmp": out of memory.
> 
> Emacs operates normally if the portable dump file is removed, or when
> using unexec dumping.

How do you mean "operates normally if the portable dump file is
removed"?  Without a pdmp file, Emacs should load all the preloaded
Lisp files when it starts up, which is definitely not something I'd
call "normal".  Don't you see a long series of "Loading foo..."
messages when Emacs starts without a pdmp file?

> Admittedly, the machine is a Pentium 4 with 768 megabytes of memory (and
> what would you expect from a PC used to operate legacy software), but I
> see no reason loading pdumps should require more than that, as the
> previous dumper worked just fine.

First, the important figure is how much of the 768MB is free when
Emacs loads.

And second, you are using Emacs on Windows 9X, something that a few
people do, so perhaps we have some bug related to that version of
Windows.  If you can run Emacs under GDB, please step through
pdumper_load and tell where it bails out.  "Out of memory" is its
default error, so maybe the actual problem is something else, and we
just mis-diagnose it.  One possible issue could be with the way we
read the pdumper file as a memory-mapped file: perhaps something there
doesn't work on Windows 9X.

Thanks.