From: Eli Zaretskii <eliz@gnu.org>
To: Ioannis Kappas <ioannis.kappas@gmail.com>
Cc: 57880@debbugs.gnu.org, akrl@sdf.org
Subject: bug#57880: 28.1; Emacs crashes with native compilation on when some antivirus program is running on MS-Windows
Date: Fri, 23 Sep 2022 08:53:12 +0300 [thread overview]
Message-ID: <83k05ur60n.fsf@gnu.org> (raw)
In-Reply-To: <CAMRHuGCK_F6cMk=-fUAbBW4D7CRtUH5VikmnMCR6eSJYTk2+Qw@mail.gmail.com> (message from Ioannis Kappas on Thu, 22 Sep 2022 21:46:14 +0100)
> From: Ioannis Kappas <ioannis.kappas@gmail.com>
> Date: Thu, 22 Sep 2022 21:46:14 +0100
> Cc: akrl@sdf.org, 57880@debbugs.gnu.org
>
> > > 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.
> > > Perhaps it only matters for the User directory. AVs want to put more
> > > stricter control
> > > on the binaries the user downloads and installs themselves.
> >
> > Is that known, or is this just a guess?
>
> This is an educated guess. The only facts are that
> (1) Emacs crashes the moment it tries to read .eln files from the
> c:/Users/* directory,
> (2) throws an "emacs module is not GPL compatible" error when
> loading native modules from the same dir.
> (3) and these are all side effect of trying to use GetProcAddress on a
> dll/eln file residing in the C:/Users/* dir. Both (1) and (2) work otherwise.
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.
> > Also, I asked which AV software has this problem. Do you happen to
> > know?
>
> Here is an old article that I found published by the AV maker in question,
> referring to how most of windows viruses use GetProcAddress
>
> https://community.broadcom.com/symantecenterprise/viewdocument/fighting-epo-viruses
>
> """... . Most Windows viruses use the GetProcAddress API to obtain
> needed API addresses for their future execution ... """
>
> and I believe this the reasons why they try to restrict its use in the User's
> directory, where it is unusual for mainstream programs to be installed,
> as per your comment below.
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.
> > > 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.
next prev parent reply other threads:[~2022-09-23 5:53 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-17 11:14 bug#57880: 28.1; Emacs crashes with native compilation on when some antivirus program is running on MS-Windows Ioannis Kappas
2022-09-19 8:13 ` Andrea Corallo
2022-09-20 16:43 ` Ioannis Kappas
2022-09-21 11:06 ` Eli Zaretskii
2022-09-21 17:19 ` Ioannis Kappas
2022-09-22 6:36 ` Eli Zaretskii
2022-09-22 6:55 ` Ioannis Kappas
2022-09-22 8:26 ` Eli Zaretskii
2022-09-22 20:46 ` Ioannis Kappas
2022-09-23 5:53 ` Eli Zaretskii [this message]
2022-09-23 16:43 ` Ioannis Kappas
2023-06-07 21:13 ` Andrea Corallo
2023-06-08 5:31 ` Eli Zaretskii
2022-09-21 19:26 ` Andrea Corallo
2022-09-22 6:38 ` Eli Zaretskii
2022-09-22 8:09 ` Andrea Corallo
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=83k05ur60n.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=57880@debbugs.gnu.org \
--cc=akrl@sdf.org \
--cc=ioannis.kappas@gmail.com \
/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.