unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Ioannis Kappas <ioannis.kappas@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
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: Thu, 22 Sep 2022 21:46:14 +0100	[thread overview]
Message-ID: <CAMRHuGCK_F6cMk=-fUAbBW4D7CRtUH5VikmnMCR6eSJYTk2+Qw@mail.gmail.com> (raw)
In-Reply-To: <83tu4zstlg.fsf@gnu.org>

Hi Eli,

On Thu, Sep 22, 2022 at 9:26 AM Eli Zaretskii <eliz@gnu.org> wrote:

> > 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.

> > > Why does the directory where the *.eln files live matter?  Doesn't the
> > > antivirus software check any loading of any DLL from anywhere on the
> > > system?
> >
> > 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.

> 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.

>
> Anyway, programs are not normally installed under C:\Users, they are
> installed under C:\Program Files.

Correct, and I believe the AV exploits this, so that it puts stricter
controls on
the Users dir.

> > 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.

Thanks





  reply	other threads:[~2022-09-22 20:46 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 [this message]
2022-09-23  5:53                 ` Eli Zaretskii
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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to='CAMRHuGCK_F6cMk=-fUAbBW4D7CRtUH5VikmnMCR6eSJYTk2+Qw@mail.gmail.com' \
    --to=ioannis.kappas@gmail.com \
    --cc=57880@debbugs.gnu.org \
    --cc=akrl@sdf.org \
    --cc=eliz@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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).