all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Pip Cet <pipcet@protonmail.com>
Cc: sebastian@sebasmonia.com, kien.n.quang@gmail.com,
	emacs-devel@gnu.org, yantar92@posteo.net
Subject: Re: MPS: Win64 testers?
Date: Fri, 23 Aug 2024 22:28:05 +0300	[thread overview]
Message-ID: <86frqvox8a.fsf@gnu.org> (raw)
In-Reply-To: <878qwn6pa2.fsf@protonmail.com> (message from Pip Cet on Fri, 23 Aug 2024 18:57:12 +0000)

> Date: Fri, 23 Aug 2024 18:57:12 +0000
> From: Pip Cet <pipcet@protonmail.com>
> Cc: sebastian@sebasmonia.com, kien.n.quang@gmail.com, emacs-devel@gnu.org, yantar92@posteo.net
> 
> "Eli Zaretskii" <eliz@gnu.org> writes:
> 
> >> If your point is that it might be a long time until MPS is stable enough
> >> for very unusual configurations, that is certainly true, and affects
> >> when it's a good idea to enable it for general use.
> >
> > Not "for very unusual configurations", for all configurations,
> > including the most popular ones.
> 
> Which ones do you mean?

All of them.  I'm quite sure we have a lot of corners the few people
who are using the branch have not entered yet, especially as some bugs
don't happen until GC hits at just the right (or wrong) moment.  Like
this GnuTLS crash, for example.

> > We are touching the most delicate
> > parts of Emacs, and will probably touch a lot of them (unless we find
> > some simpler, more reliable way of preventing these problems).
> 
> Simpler, maybe, but reliability, I will keep insisting, improves if we
> think about why it's safe to hand off a pointer to GCable memory to an
> externable library.

You can insist all you want, but you will never convince me.  I have
too much gray hair from opinions based on the assumption that we
completely understand what we are doing by such changes and what they
cause in Emacs.  Just stick long enough here and you will see another
example of this fallacy almost every day.

So no, IME reliability definitely does NOT improve by futzing with
this kind of stuff.  Which means we should not do it unless we must.

> 
> >> >> This particular call is safe.  'match_data' lives on the stack, MPS
> >> >> treats the stack conservatively as pinning every object to which it
> >> >> might possibly refer, thus 'match_data->pattern' cannot be moved.
> >> >
> >> > IOW, we are lucky.  Because match_data could well be a global variable
> >> > allocated off the heap, or something else.
> >>
> >> Which would be a bug both with and without MPS, as nothing protects
> >> match_data.list from GC if it doesn't live on the stack.
> >
> > ??? We have gobs of those, and know how to protect them.  The easiest
> > way is staticpro, and there are others.
> 
> My point is you'd have to protect it, albeit slightly differently, with
> or without MPS.  Not that much changes with MPS, and to say it works
> because "we are lucky" is inaccurate.

"Not that much changes" is IMO an understatement of the decade.
Compare the simplicity of staticpro with the complicated dance you
suggested for this GnuTLS issue (which is not different from many
similar changes installed on the branch each time we detect some
similarly "unsafe" use of data structures).  One can use staticpro
without even fully understanding how it works and why.  We have
nothing comparable on the MPS branch, and thus no established
procedure for solving such problems or rules for auditing code for
similar issues.

> >> Better to solve a problem twice than not to solve it at all?
> >
> > Not in my book, no.  Since Emacs is stable, we should not add any code
> > that is not strictly necessary, otherwise we risk unnecessary
> > problems.
> 
> The master branch may be, but there's nothing wrong with keeping our
> options open on scratch/igc rather than leaving in a few "redundant"
> safety checks.

If we want this branch to ever land on master, we had better handled
it with the same care as we do on master.  Because when we decide to
land it, no one will have time or motivation to go through all this
stuff and "fix" it.  We want Emacs to be as stable the day after this
lands as the day it was before that.  That's how it was for all the
other major features that got merged from feature branches.  Any
significant drop in stability as result of the merge will be a net
loss.



  reply	other threads:[~2024-08-23 19:28 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-06  3:04 MPS: Win64 testers? Quang Kien Nguyen
2024-08-06  7:03 ` Quang Kien Nguyen
2024-08-06 11:40 ` Eli Zaretskii
2024-08-06 17:39   ` Quang Kien Nguyen
2024-08-06 18:32     ` Eli Zaretskii
2024-08-06 20:52       ` Quang Kien Nguyen
2024-08-07 11:41         ` Eli Zaretskii
2024-08-07 18:32           ` Quang Kien Nguyen
2024-08-08  5:46             ` Eli Zaretskii
2024-08-08 23:44               ` Quang Kien Nguyen
2024-08-09  6:00                 ` Eli Zaretskii
2024-08-09  6:10                   ` Eli Zaretskii
2024-08-09  9:19                     ` Quang Kien Nguyen
2024-08-09 11:03                       ` Eli Zaretskii
2024-08-13 12:12                         ` Quang Kien Nguyen
2024-08-13 12:37                           ` Eli Zaretskii
2024-08-13 15:51                             ` Pip Cet
2024-08-13 18:26                               ` Quang Kien Nguyen
2024-08-13 19:19                                 ` Eli Zaretskii
2024-08-13 20:22                                   ` Quang Kien Nguyen
2024-08-14 13:11                                     ` Sebastián Monía
2024-08-14 17:24                                       ` Quang Kien Nguyen
2024-08-16 20:09                                         ` Sebastián Monía
2024-08-17 11:37                                           ` Sebastián Monía
2024-08-17 12:54                                             ` Eli Zaretskii
2024-08-17 13:24                                               ` Sebastián Monía
2024-08-19 14:34                                                 ` Sebastián Monía
2024-08-19 14:55                                                   ` Eli Zaretskii
2024-08-19 15:12                                                     ` Pip Cet
2024-08-19 15:23                                                     ` Sebastián Monía
2024-08-19 15:31                                                       ` Quang Kien Nguyen
2024-08-19 16:23                                                         ` Quang Kien Nguyen
2024-08-21 18:14                                                           ` Sebastián Monía
2024-08-21 18:20                                                             ` Pip Cet
2024-08-21 19:46                                                               ` Sebastián Monía
2024-08-21 18:22                                                             ` Ihor Radchenko
2024-08-21 19:48                                                               ` Sebastián Monía
2024-08-22 17:34                                                             ` Sebastián Monía
2024-08-22 17:51                                                               ` Pip Cet
2024-08-22 18:34                                                                 ` Eli Zaretskii
2024-08-22 19:12                                                                   ` Quang Kien Nguyen
2024-08-23  5:32                                                                     ` Eli Zaretskii
2024-08-22 19:14                                                                   ` Pip Cet
2024-08-23  5:38                                                                     ` Eli Zaretskii
2024-08-23  7:59                                                                       ` Pip Cet
2024-08-23 13:08                                                                         ` Eli Zaretskii
2024-08-23 13:42                                                                           ` Quang Kien Nguyen
2024-08-23 13:48                                                                             ` Pip Cet
2024-08-23 14:35                                                                               ` Eli Zaretskii
2024-08-23 14:54                                                                                 ` Quang Kien Nguyen
2024-08-23 16:08                                                                                   ` Eli Zaretskii
     [not found]                                                                                     ` <CAL7sU5g7BrbrPL-B120NtVKkpnMuqmyuwDd_Kp50F1p8Gc3N0g@mail.gmail.com>
     [not found]                                                                                       ` <86ikvrp2hz.fsf@gnu.org>
2024-08-23 17:45                                                                                         ` Windows low-level keyboard hook Quang Kien Nguyen
2024-08-23 18:23                                                                                   ` MPS: Win64 testers? Sebastián Monía
2024-08-23 13:44                                                                           ` Pip Cet
2024-08-23 14:32                                                                             ` Eli Zaretskii
2024-08-23 15:51                                                                               ` Pip Cet
2024-08-23 16:17                                                                                 ` Eli Zaretskii
2024-08-23 18:57                                                                                   ` Pip Cet
2024-08-23 19:28                                                                                     ` Eli Zaretskii [this message]
2024-08-24 17:31                                                                         ` Pip Cet
2024-08-25  3:17                                                                           ` Quang Kien Nguyen
2024-08-30 19:59                                                                             ` Sebastián Monía
2024-09-01  8:21                                                                               ` Kien Nguyen
2024-09-01  8:43                                                                                 ` Eli Zaretskii
2024-09-01  9:36                                                                                   ` Kien Nguyen
2024-09-01 10:28                                                                                     ` Eli Zaretskii
2024-09-01 11:59                                                                                       ` Eli Zaretskii
2024-09-01 18:54                                                                                         ` Kien Nguyen
2024-09-01 19:27                                                                                           ` Eli Zaretskii
2024-09-01 19:44                                                                                           ` Pip Cet
2024-09-01 21:42                                                                                             ` Kien Nguyen
2024-09-02 11:08                                                                                             ` Eli Zaretskii
2024-09-03  4:12                                                                                               ` Kien Nguyen
2024-09-03 10:37                                                                                                 ` Pip Cet
2024-09-03 16:50                                                                                                   ` Kien Nguyen
2024-09-03 17:48                                                                                                     ` Pip Cet
2024-09-07  8:19                                                                                           ` Eli Zaretskii
2024-09-01 10:49                                                                                 ` Pip Cet
2024-09-01 12:15                                                                                   ` Kien Nguyen
2024-08-22 18:11                                                               ` Eli Zaretskii
2024-08-22 19:17                                                                 ` Sebastián Monía
2024-08-23  5:45                                                                   ` Eli Zaretskii
2024-08-07 19:50           ` Pip Cet
2024-08-07 23:14             ` Quang Kien Nguyen
2024-08-08  5:15             ` Eli Zaretskii
2024-08-06 14:18 ` Pip Cet
2024-08-07 11:03   ` Eli Zaretskii
  -- strict thread matches above, loose matches on Subject: below --
2024-07-25  9:45 Angelo Graziosi
2024-07-25 10:02 ` Stefan Kangas
2024-07-25 11:35 ` Eli Zaretskii
2024-07-27 14:22   ` Angelo Graziosi
2024-07-24 15:45 Pip Cet
2024-07-25  7:16 ` Eli Zaretskii
2024-07-25 15:39   ` Pip Cet
2024-07-27  8:02     ` Eli Zaretskii
2024-07-27 10:42       ` Pip Cet
2024-07-27 12:14         ` Eli Zaretskii
2024-07-27 15:49           ` Pip Cet
2024-07-27 16:10             ` Eli Zaretskii
2024-07-27 16:56               ` Eli Zaretskii
2024-07-27 18:27                 ` Pip Cet
2024-07-27 18:50                   ` Eli Zaretskii
2024-07-27 20:22                     ` Pip Cet
2024-07-28  5:25                       ` Eli Zaretskii
2024-07-28 13:00                         ` Pip Cet
2024-07-28 14:20                           ` Eli Zaretskii
2024-07-28 15:00                             ` Pip Cet
2024-07-28 15:20                               ` Eli Zaretskii
2024-07-28 20:22                                 ` Pip Cet
2024-07-29 11:25                                   ` Eli Zaretskii
2024-07-31  6:18                                     ` Pip Cet
2024-07-31 14:02                                       ` Eli Zaretskii
2024-07-31 19:04                                         ` Sebastián Monía
2024-08-01  5:00                                           ` Eli Zaretskii
2024-08-03  7:50                                         ` pipcet
2024-08-03  9:23                                           ` Eli Zaretskii
2024-08-03 15:17                                             ` pipcet
2024-08-03 16:07                                               ` Eli Zaretskii
2024-07-27 16:09         ` Michael Albinus
2024-07-28 13:22           ` Pip Cet

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=86frqvox8a.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=kien.n.quang@gmail.com \
    --cc=pipcet@protonmail.com \
    --cc=sebastian@sebasmonia.com \
    --cc=yantar92@posteo.net \
    /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.