From: Pip Cet <pipcet@gmail.com>
To: Pieter van Oostrum <pieter-l@vanoostrum.org>
Cc: 39962@debbugs.gnu.org, Paul Eggert <eggert@cs.ucla.edu>
Subject: bug#39962: 27.0.90; Crash in Emacs 27.0.90
Date: Wed, 11 Mar 2020 15:43:18 +0000 [thread overview]
Message-ID: <CAOqdjBeiPffvHhKdo1X9BiQap-Dt0d92rwX6L2qr84qRJFxJUg@mail.gmail.com> (raw)
In-Reply-To: <lximjax6pr.fsf@cochabamba.vanoostrum.org>
[-- Attachment #1: Type: text/plain, Size: 409 bytes --]
On Wed, Mar 11, 2020 at 3:16 PM Pieter van Oostrum
<pieter-l@vanoostrum.org> wrote:
> > (prog1
> > (let ((temp-buffer (generate-new-buffer " *temp*")))
> > (prog1
> > temp-buffer
> > (kill-buffer temp-buffer)
> > (setq temp-buffer nil)))
> > (garbage-collect))
>
> That crash shouldn't happen, so it has to be found what causes it.
The attached patch should fix things.
[-- Attachment #2: 0001-Don-t-GC-killed-buffers-that-are-still-reachable.patch --]
[-- Type: text/x-patch, Size: 1344 bytes --]
From e98749389a1cc81f3c4479170d223cc8c9871288 Mon Sep 17 00:00:00 2001
From: Pip Cet <pipcet@gmail.com>
Date: Wed, 11 Mar 2020 15:29:19 +0000
Subject: [PATCH] Don't GC killed buffers that are still reachable
* src/alloc.c (live_buffer_holding): Return killed buffers, which are
still "live" for GC purposes.
---
src/alloc.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/alloc.c b/src/alloc.c
index 1c6b664b22..b1c3f75303 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -4481,21 +4481,20 @@ live_vector_p (struct mem_node *m, void *p)
return !NILP (live_vector_holding (m, p));
}
-/* If P is a pointer into a live buffer, return the buffer.
+/* If P is a pointer into a buffer, return the buffer.
Otherwise, return nil. M is a pointer to the mem_block for P. */
static Lisp_Object
live_buffer_holding (struct mem_node *m, void *p)
{
- /* P must point into the block, and the buffer
- must not have been killed. */
+ /* P must point into the block. */
if (m->type == MEM_TYPE_BUFFER)
{
struct buffer *b = m->start;
char *cb = m->start;
char *cp = p;
ptrdiff_t offset = cp - cb;
- if (0 <= offset && offset < sizeof *b && !NILP (b->name_))
+ if (0 <= offset && offset < sizeof *b)
{
Lisp_Object obj;
XSETBUFFER (obj, b);
--
2.25.1
next prev parent reply other threads:[~2020-03-11 15:43 UTC|newest]
Thread overview: 119+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-06 23:55 bug#39962: 27.0.90; Crash in Emacs 27.0.90 Pieter van Oostrum
2020-03-07 7:48 ` Eli Zaretskii
2020-03-07 8:40 ` Pieter van Oostrum
2020-03-07 8:41 ` Pieter van Oostrum
2020-03-07 10:51 ` Eli Zaretskii
2020-03-07 11:06 ` Pieter van Oostrum
2020-03-07 13:10 ` Eli Zaretskii
2020-03-07 15:06 ` Pieter van Oostrum
2020-03-07 15:17 ` Eli Zaretskii
2020-03-07 15:49 ` Pieter van Oostrum
2020-03-07 16:07 ` Eli Zaretskii
2020-03-07 17:21 ` Pieter van Oostrum
2020-03-07 18:01 ` Eli Zaretskii
2020-03-07 19:14 ` Pieter van Oostrum
2020-03-07 19:21 ` Eli Zaretskii
2020-03-07 22:07 ` Pieter van Oostrum
2020-03-09 4:00 ` Pip Cet
2020-03-08 7:42 ` Paul Eggert
2020-03-08 9:34 ` Pieter van Oostrum
2020-03-08 10:05 ` Paul Eggert
2020-03-08 21:37 ` Pieter van Oostrum
2020-03-08 21:58 ` Pieter van Oostrum
2020-03-08 22:34 ` Paul Eggert
2020-03-08 23:58 ` Pieter van Oostrum
2020-03-09 0:01 ` Paul Eggert
2020-03-09 13:26 ` Pieter van Oostrum
2020-03-09 17:10 ` Eli Zaretskii
2020-03-09 19:48 ` Pieter van Oostrum
2020-03-10 13:37 ` Pieter van Oostrum
2020-03-09 19:51 ` Paul Eggert
2020-03-09 21:32 ` Pieter van Oostrum
2020-03-10 10:52 ` Pieter van Oostrum
2020-03-10 14:19 ` Pip Cet
2020-03-10 16:36 ` Pieter van Oostrum
2020-03-11 14:32 ` Pip Cet
2020-03-11 15:16 ` Pieter van Oostrum
2020-03-11 15:43 ` Pip Cet [this message]
2020-03-11 15:51 ` Paul Eggert
2020-03-11 16:21 ` Eli Zaretskii
2020-03-11 17:52 ` Eli Zaretskii
2020-03-11 18:53 ` Pip Cet
2020-03-11 19:34 ` Eli Zaretskii
2020-03-12 10:32 ` Pip Cet
2020-03-12 15:23 ` Eli Zaretskii
2020-03-12 20:36 ` Pip Cet
2020-03-13 9:39 ` Eli Zaretskii
2020-03-13 13:56 ` Pip Cet
2020-03-13 16:30 ` Eli Zaretskii
2020-03-14 9:02 ` Pip Cet
2020-03-14 15:39 ` Pip Cet
2020-03-14 16:00 ` Paul Eggert
2020-03-14 16:15 ` Pip Cet
2020-03-14 16:57 ` Eli Zaretskii
2020-03-14 18:34 ` Pip Cet
2020-03-14 19:09 ` Paul Eggert
2020-03-14 20:10 ` Eli Zaretskii
2020-03-15 12:12 ` Pip Cet
2020-03-15 14:53 ` Eli Zaretskii
2020-03-15 12:09 ` Pip Cet
2020-03-15 14:50 ` Eli Zaretskii
2020-03-16 16:31 ` Stefan Monnier
2020-03-11 20:03 ` Pieter van Oostrum
2020-03-12 13:55 ` Pip Cet
2020-03-12 18:13 ` Pieter van Oostrum
2020-03-12 20:00 ` Pip Cet
2020-03-13 8:09 ` Eli Zaretskii
2020-03-13 8:39 ` Pip Cet
2020-03-13 9:19 ` Eli Zaretskii
2020-03-13 17:43 ` Pieter van Oostrum
2020-03-14 3:38 ` Richard Stallman
2020-03-14 8:37 ` Eli Zaretskii
2020-03-14 9:16 ` Pip Cet
2020-03-14 15:34 ` Pip Cet
2020-03-13 17:42 ` Pieter van Oostrum
2020-03-13 19:34 ` Eli Zaretskii
2020-03-13 21:35 ` Pieter van Oostrum
2020-03-14 8:08 ` Eli Zaretskii
2020-03-14 21:32 ` Pieter van Oostrum
2020-03-15 19:49 ` Pieter van Oostrum
2020-03-15 19:57 ` Eli Zaretskii
2020-03-15 23:26 ` Pieter van Oostrum
2020-03-16 10:44 ` Pieter van Oostrum
2020-03-16 15:07 ` Eli Zaretskii
2020-03-16 15:33 ` Pip Cet
2020-03-16 17:19 ` Pip Cet
2020-03-17 3:29 ` Pieter van Oostrum
2020-03-17 4:54 ` Pip Cet
2020-03-17 5:20 ` Pip Cet
2020-03-17 8:45 ` Pieter van Oostrum
2020-03-17 13:54 ` Pip Cet
2020-03-17 15:27 ` Pieter van Oostrum
2020-03-17 20:16 ` Pip Cet
2020-03-17 23:32 ` Pieter van Oostrum
2020-03-18 15:05 ` Eli Zaretskii
2020-03-19 13:23 ` Pieter van Oostrum
2020-03-19 13:57 ` Pip Cet
2020-03-21 21:22 ` Pieter van Oostrum
2020-03-22 14:21 ` Eli Zaretskii
2020-03-22 15:48 ` Pip Cet
2020-03-23 19:34 ` Pip Cet
2020-03-17 8:40 ` Pieter van Oostrum
2020-03-17 15:33 ` Eli Zaretskii
2020-03-17 20:59 ` Paul Eggert
2020-03-18 6:17 ` Pip Cet
2020-03-18 9:22 ` Robert Pluim
2020-03-18 11:38 ` Pieter van Oostrum
2020-03-18 11:57 ` Paul Eggert
2020-03-18 14:08 ` Pip Cet
2020-03-19 19:17 ` Pieter van Oostrum
2020-03-19 19:31 ` Pip Cet
2020-03-19 21:30 ` Pieter van Oostrum
2020-03-18 14:08 ` Eli Zaretskii
2020-03-16 18:36 ` Pieter van Oostrum
2020-03-13 7:58 ` Eli Zaretskii
2020-03-10 15:10 ` Eli Zaretskii
2020-03-10 18:23 ` Pieter van Oostrum
2020-03-11 8:22 ` Paul Eggert
2022-04-30 12:38 ` Lars Ingebrigtsen
2022-05-29 13:19 ` Lars Ingebrigtsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAOqdjBeiPffvHhKdo1X9BiQap-Dt0d92rwX6L2qr84qRJFxJUg@mail.gmail.com \
--to=pipcet@gmail.com \
--cc=39962@debbugs.gnu.org \
--cc=eggert@cs.ucla.edu \
--cc=pieter-l@vanoostrum.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.