GNU bug report logs - #78444
30.1; Crash in GC (vector_marked_p)

Previous Next

Package: emacs;

Reported by: George P <georgepanagopo <at> gmail.com>

Date: Thu, 15 May 2025 18:46:01 UTC

Severity: normal

Found in version 30.1

Full log


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

From: martin rudalics <rudalics <at> gmx.at>
To: George P <georgepanagopo <at> gmail.com>, Pip Cet <pipcet <at> protonmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, acorallo <at> gnu.org, 78444 <at> debbugs.gnu.org
Subject: Re: bug#78444: 30.1; Crash in GC (vector_marked_p)
Date: Mon, 16 Jun 2025 10:34:40 +0200
> Can you try
[...)
> and get us a backtrace when it's hit.

... which was a very silly proposal.  Please try

diff --git a/src/window.c b/src/window.c
index 1ac004af5e0..92e215fc9be 100644
--- a/src/window.c
+++ b/src/window.c
@@ -303,6 +303,14 @@ wset_buffer (struct window *w, Lisp_Object val)
     /* Make sure that we do not assign the buffer
        to an internal window.  */
     eassert (MARKERP (w->start) && MARKERP (w->pointm));
+  else
+    {
+      if (MARKERP (w->start))
+	eassert (!XMARKER (w->start)->buffer);
+      if (MARKERP (w->pointm))
+	eassert (!XMARKER (w->pointm)->buffer);
+    }
+
   w->contents = val;
   adjust_window_count (w, 1);
 }

instead.  If it does not work either, I will have to think of something
more elaborate.

Thanks, martin





This bug report was last modified 44 days ago.

Previous Next


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