GNU bug report logs - #43886
28.0.50; daemon segfaults when loading theme as second emacsclient connects

Previous Next

Package: emacs;

Reported by: Sam Brightman <sam.brightman <at> gmail.com>

Date: Fri, 9 Oct 2020 16:38:02 UTC

Severity: normal

Found in version 28.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Sam Brightman <sam.brightman <at> gmail.com>
Cc: 43886 <at> debbugs.gnu.org
Subject: bug#43886: 28.0.50; daemon segfaults when loading theme as second emacsclient connects
Date: Sat, 10 Oct 2020 10:21:44 +0300
> From: Sam Brightman <sam.brightman <at> gmail.com>
> Date: Sat, 10 Oct 2020 08:09:56 +0100
> Cc: 43886 <at> debbugs.gnu.org
> 
> That patch indeed prevents a crash but the second client exiting seems
> a bit strong/unhelpful - how would you suggest changing the theme more
> appropriately?

Check for the theme being already enabled?  Introduce a variable that
is set non-nil when the theme is first enabled?

> However - even removing that hook - it is now impossible to
> load a theme when a client is suspended (which is basically always for
> me - I'll have half a dozen or more clients open at any time, one of
> them will be suspended).

It is indeed impossible/unsafe to load a theme when some frame is
suspended, because suspending a frame makes it unable to handle the
change of the faces.  I don't see any way around that, because
skipping such a frame when a theme is enabled would mean that frame's
faces are not recalculated to obey the theme, which is a subtler and
nastier bug, IMO.

You will have to unsuspend the frames when you load a theme.




This bug report was last modified 4 years and 228 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.