Subject: bug#72692: Emacs 31.05 (40eecd594ac) get SIGSEGV on Linux (Linux 6.6.45 Kde Wayland)

From: Eli Zaretskii <[email-masked]>
Date: Wed, 28 Aug 2024 20:53:28 +0300

> From: Juri Linkov <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Wed, 28 Aug 2024 19:21:08 +0300
> 
> >> > I see Eli reverted the change, which makes sense for now.  We'll have to
> >> > find another way to fix this, I think.
> >> 
> >> I'm ready to test any changes when you'll find another way to fix this.
> >
> > Thanks, please test the patch below.  If it doesn't adversely affect
> > performance, I will install it.
> 
> With the previous change, when leaning on an arrow key, cursor motion
> was visibly laggy since the cursor skipped 3-4 characters.
> 
> Now with this patch, the cursor visits every character without delays.

Thanks, this is good news.

> OTOH, I tried to set a breakpoint inside 'if (non_basic_faces_cached)',
> and it's never visited.  So it seems this change has no effect
> in normal circumstances.

I suggest to try Pip's recipe from

  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72692#133

(but without patching the C sources).

But yes, in normal circumstances this is not needed, as AFAIU the
problem happens under rare conditions.  (Otherwise, we'd have
face-related crashes all over the place.)  The challenge was to find a
solution that doesn't make the normal cases more expensive, and still
manages to catch those where this is needed.