GNU bug report logs - #74902
31.0.50; Segfault when deleting frames

Previous Next

Package: emacs;

Reported by: Steven Allen <steven <at> stebalien.com>

Date: Sun, 15 Dec 2024 22:02:02 UTC

Severity: normal

Tags: fixed

Found in version 31.0.50

Fixed in version 31.1

Done: Robert Pluim <rpluim <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 74902 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Steven Allen <steven <at> stebalien.com>
Cc: 74902 <at> debbugs.gnu.org
Subject: Re: bug#74902: 31.0.50; Segfault when deleting frames
Date: Mon, 16 Dec 2024 17:50:01 +0200
> Date: Sun, 15 Dec 2024 14:01:17 -0800
> From:  Steven Allen via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> 
> I use EXWM and, Emacs very occasionally seems to crash when closing
> floating windows. Specifically, it crashes when deleting the frame
> wrapping the floating window. Unfortunately, I don't have a great way to
> reproduce it with a minimal setup or to reproduce it reliably enough to
> grab a trace with GDB.
> 
> As far as I can tell, this is because `delete-frame' calls `delq' (from
> C) which then handles a signal (not sure what signal) via the
> `FOR_EACH_TAIL' macro while deleting the frame. Unfortunately, that
> eventually calls `gobble_input' which operates on frames.
> 
> 
> Backtrace:
> 
>     /usr/bin/emacs(emacs_backtrace+0x4e) [0x61e77935447e]
>     /usr/bin/emacs(terminate_due_to_signal+0xaf) [0x61e7791a4c5d]
>     /usr/bin/emacs(+0x5e062) [0x61e7791a6062]
>     /usr/lib/libc.so.6(+0x42150) [0x7e3a544dc150]
>     /usr/bin/emacs(+0xeff78) [0x61e779237f78]
>     /usr/bin/emacs(+0x19a564) [0x61e7792e2564]
>     /usr/bin/emacs(+0x19a829) [0x61e7792e2829]
>     /usr/bin/emacs(+0x1a1c58) [0x61e7792e9c58]
>     /usr/bin/emacs(+0x1b0bb8) [0x61e7792f8bb8]
>     /usr/bin/emacs(gobble_input+0x272) [0x61e77933f3a2]
>     /usr/bin/emacs(probably_quit+0xc6) [0x61e7793ec666]
>     /usr/bin/emacs(Fdelq+0xb6) [0x61e77940c196]
>     /usr/bin/emacs(delete_frame+0x2d4) [0x61e7791d77b4]
>     /usr/bin/emacs(Fdelete_frame+0x17) [0x61e7791d8a07]

This is less useful than a backtrace could be.  Can you run Emacs
under GDB, and when it crashes, type

  (gdb) thread apply all bt

and post here everything GDB produces as result?




This bug report was last modified 129 days ago.

Previous Next


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