GNU bug report logs - #47244
28.0.50; SIGSEGV in long-runnning Emacs

Previous Next

Package: emacs;

Reported by: Michael Welsh Duggan <md5i <at> md5i.com>

Date: Thu, 18 Mar 2021 15:40:01 UTC

Severity: normal

Found in version 28.0.50

Done: Michael Welsh Duggan <mwd <at> md5i.com>

Bug is archived. No further changes may be made.

Full log


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

From: martin rudalics <rudalics <at> gmx.at>
To: Michael Welsh Duggan <mwd <at> cert.org>
Cc: "mwd <at> md5i.com" <mwd <at> md5i.com>,
 "47244 <at> debbugs.gnu.org" <47244 <at> debbugs.gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 "schwab <at> linux-m68k.org" <schwab <at> linux-m68k.org>
Subject: Re: bug#47244: 28.0.50; SIGSEGV in long-runnning Emacs
Date: Wed, 24 Mar 2021 17:09:24 +0100
>> The attached one should make more sense.  Please use that.
>
> I did, and the SEGFAULT happened fairly shortly afterward.  The error
> did not trigger, so the cause is still unknown.  I'll keep the gdb
> session around, but that backtrace is pretty much the same.

I'm not surprised.  The check for `replace-buffer-in-windows' does
pretty much the same as Eli's approach.  You just don't have to run
Emacs in the debugger in order to use it.

Maybe try now:

diff --git a/src/buffer.c b/src/buffer.c
index 8e33162989..9ca5731bcf 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -2151,6 +2151,9 @@ set_buffer_internal_1 (register struct buffer *b)

   BUFFER_CHECK_INDIRECTION (b);

+  if (!BUFFER_LIVE_P (b))
+    error ("Selecting deleted buffer");
+
   old_buf = current_buffer;
   current_buffer = b;
   last_known_column_point = -1;   /* Invalidate indentation cache.  */

martin




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

Previous Next


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