From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#29066: 26.0.90; crash in gc involving buffer local symbols Date: Mon, 30 Oct 2017 22:38:06 +0200 Message-ID: <83a808tlqp.fsf@gnu.org> References: Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1509395959 7763 195.159.176.226 (30 Oct 2017 20:39:19 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 30 Oct 2017 20:39:19 +0000 (UTC) Cc: 29066@debbugs.gnu.org, mshinwell@janestreet.com To: Valentin Gatien-Baron Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Oct 30 21:39:16 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e9Gpu-0000xP-Qs for geb-bug-gnu-emacs@m.gmane.org; Mon, 30 Oct 2017 21:39:06 +0100 Original-Received: from localhost ([::1]:42463 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9Gq2-0004IK-85 for geb-bug-gnu-emacs@m.gmane.org; Mon, 30 Oct 2017 16:39:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43153) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9Gpu-0004IF-7u for bug-gnu-emacs@gnu.org; Mon, 30 Oct 2017 16:39:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9Gpr-0005NB-5T for bug-gnu-emacs@gnu.org; Mon, 30 Oct 2017 16:39:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:34048) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e9Gpr-0005N3-1r for bug-gnu-emacs@gnu.org; Mon, 30 Oct 2017 16:39:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1e9Gpq-0007lB-2j for bug-gnu-emacs@gnu.org; Mon, 30 Oct 2017 16:39:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 30 Oct 2017 20:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29066 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 29066-submit@debbugs.gnu.org id=B29066.150939591529787 (code B ref 29066); Mon, 30 Oct 2017 20:39:02 +0000 Original-Received: (at 29066) by debbugs.gnu.org; 30 Oct 2017 20:38:35 +0000 Original-Received: from localhost ([127.0.0.1]:42728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e9GpO-0007kN-Sf for submit@debbugs.gnu.org; Mon, 30 Oct 2017 16:38:35 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:51864) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e9GpN-0007k8-8F for 29066@debbugs.gnu.org; Mon, 30 Oct 2017 16:38:33 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9GpH-000528-3u for 29066@debbugs.gnu.org; Mon, 30 Oct 2017 16:38:28 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57486) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9GpC-000506-2X; Mon, 30 Oct 2017 16:38:22 -0400 Original-Received: from [176.228.60.248] (port=4255 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1e9GpB-0002mh-GB; Mon, 30 Oct 2017 16:38:21 -0400 In-reply-to: (message from Valentin Gatien-Baron on Mon, 30 Oct 2017 10:36:41 -0400) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:139211 Archived-At: > From: Valentin Gatien-Baron > Date: Mon, 30 Oct 2017 10:36:41 -0400 > Cc: Mark Shinwell > > $ installed/bin/emacs -Q -L . -batch --eval '(progn (message "before") (make-local-variable (make-symbol "\ > s")) (kill-buffer) (garbage-collect) (garbage-collect) (message "after"))' > before > *** Error in `installed/bin/emacs': double free or corruption (!prev): 0x00000000014bff10 *** Thanks. Does the below fix the problem? diff --git a/src/alloc.c b/src/alloc.c index d9d7485..11afdfd 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -7024,7 +7024,9 @@ sweep_symbols (void) { if (!sym->s.gcmarkbit) { - if (sym->s.redirect == SYMBOL_LOCALIZED) + if (sym->s.redirect == SYMBOL_LOCALIZED + /* Already freed? */ + && !EQ (sym->s.function, Vdead)) xfree (SYMBOL_BLV (&sym->s)); sym->s.next = symbol_free_list; symbol_free_list = &sym->s;