Subject: Re: bug#57880: 28.1; Emacs crashes with native compilation on when some antivirus program is running on MS-Windows

From: Ioannis Kappas <[email-masked]>
Date: Fri, 23 Sep 2022 17:43:01 +0100

Hi Eli,

On Fri, Sep 23, 2022 at 6:53 AM Eli Zaretskii <[email-masked]> wrote:
>
> > From: Ioannis Kappas <[email-masked]>
> > Date: Thu, 22 Sep 2022 21:46:14 +0100
> > Cc: [email-masked], [email-masked]
> >
> > > > Or could there be an early init option to bypass the native compilation. This
> > > > way the users can test the issue with is native comp.
> > >
> > > There is one already.
> >
> > Are you referring to an option for building form source? I couldn't
> > find an option
> > to turn off native compile for the precompiled windows binaries (such as those
> > retrieved from the official ftp site or from msys2 pacman) that can configured
> > to disable native comp.
>
> It's native-comp-deferred-compilation: set it to nil.  For a good
> measure, also set comp-enable-subr-trampolines to nil.  Emacs does
> this automatically at startup if libgccjit cannot be loaded.

Thanks, it's good to know, I could find any straight references about it
on the web.

> So you are saying that if someone installs Emacs under C:/Users, that
> Emacs will not work, regardless of the native-compilation, because it
> will be unable to load the DLLs which come in the Emacs binary
> distribution, for example the image libraries?  Then it is strange
> that we haven't heard about such a major issue with Emacs on Windows
> until now.

Correct. I can't comment on how widespread that is. I personally stayed with
the 27 branch until I discovered the surprising cause of the failure.
I would not have reported it with just a simple hexadecimals backtrace,
without a single clue what might have been going wrong.

> Thanks, but that doesn't really answer my question, which was about
> the specific brands of AV software _known_ to do this.  You seem to
> saying that the answer is 'all of them", but I'm asking what are the
> brands with which this was actually seen.

Sorry for being a mystic here. It is the AV made by the company who authored
the article.

>
> > > > Those precompiled with Emacs are fine in this use case since they are
> > > > not stored in the Users directory, it's only newly compiled files that
> > > > exhibit this issue because they store the .eln files in the user dir by
> > > > default.
> > >
> > > This means that the problem will only affect people who have libgccjit
> > > and GCC/Binutils installed, because otherwise Emacs will be unable to
> > > compile new *.eln files.  Right?
> >
> > Yes, since I understand Emacs won't be able to generate any new .eln files
> > without access to libgccjit.
>
> So then we can tell such people (which are relatively rare) to have
> their home directory outside of the C:/Users tree.

Or let them know of the alternatives, such as the use of
startup-redirect-eln-cache
so that they can direct the new .eln files somewhere else? I don't think people
would want their .emacs.d  to be located outside of the personal user
folder. (I am not sure if we are referring to the same subject :)

Thanks!