From unknown Sun Jun 15 08:15:53 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#62867 <62867@debbugs.gnu.org> To: bug#62867 <62867@debbugs.gnu.org> Subject: Status: segfault in describe_vector Reply-To: bug#62867 <62867@debbugs.gnu.org> Date: Sun, 15 Jun 2025 15:15:53 +0000 retitle 62867 segfault in describe_vector reassign 62867 emacs submitter 62867 Xinyang Chen severity 62867 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 15 14:30:22 2023 Received: (at submit) by debbugs.gnu.org; 15 Apr 2023 18:30:22 +0000 Received: from localhost ([127.0.0.1]:50105 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pnkfF-00014e-TR for submit@debbugs.gnu.org; Sat, 15 Apr 2023 14:30:22 -0400 Received: from lists.gnu.org ([209.51.188.17]:33630) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pnegg-00063i-TV for submit@debbugs.gnu.org; Sat, 15 Apr 2023 08:07:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pnegg-0003Y9-DV for bug-gnu-emacs@gnu.org; Sat, 15 Apr 2023 08:07:26 -0400 Received: from outgoing-auth-1.mit.edu ([18.9.28.11] helo=outgoing.mit.edu) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pnegc-0004uV-IB for bug-gnu-emacs@gnu.org; Sat, 15 Apr 2023 08:07:24 -0400 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) (authenticated bits=0) (User authenticated as chenxy@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 33FC7IGE018110 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 15 Apr 2023 08:07:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=outgoing; t=1681560440; bh=n3YSMAdavPKx2xaBKNQqjIjsAtNRwhHa06dZ8QfYaCI=; h=From:Date:Subject:To; b=gTF37wxdWawPtZHFVY0aKQviifB7CXOAnw0Veu7qOIeDMVyBNsAk2sHsLGAnhjqOZ stnZZ36RyUroPiGOkRw0n0UoU3goinVHidNAF7JQM34JDo9+bKADxZIoQltbeIOylp QjijLP8T7mIawsK8ReEv+6dhCjdLR45fW/N9EUqGo5Ygg5GzXX1HDM2NjaW1zzBwrm /0q5Idgkjbaeq845NbrBqp6hsXribzeS0XQHkKmIqJlkfeWNBgaCEls4Se72o9VUkA ZNkIP0BNNH4lkyDNqXO06PPCD9SLJTRzS/uKAAdBrHjnmpDCSpW5rWNzEqE6sutHPy ew3RQLqaOT+Qw== Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-94a342ef3beso393955066b.0 for ; Sat, 15 Apr 2023 05:07:19 -0700 (PDT) X-Gm-Message-State: AAQBX9c+MxF3SPt1+wFUSc5IwZSyJ/8/Zr6bMP1iLF7Uk7m5fcqOUH0v 28teB76r0EWZaS+22enmbLkHzu6Xwavqx+xFNWI= X-Google-Smtp-Source: AKy350YQqQeOGJEPKKFB6+zebg2Qg3daKPI+swSx4nJiZDHwJAG0nSxdMWYBT5Y0GNrBOwStKi/5OpoILPL0K12ysGQ= X-Received: by 2002:a50:bb47:0:b0:505:82c:3ab9 with SMTP id y65-20020a50bb47000000b00505082c3ab9mr4514517ede.3.1681560438344; Sat, 15 Apr 2023 05:07:18 -0700 (PDT) MIME-Version: 1.0 From: Xinyang Chen Date: Sat, 15 Apr 2023 08:07:07 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: segfault in describe_vector To: bug-gnu-emacs@gnu.org Content-Type: multipart/alternative; boundary="0000000000009893fd05f95ecca3" Received-SPF: pass client-ip=18.9.28.11; envelope-from=chenxy@mit.edu; helo=outgoing.mit.edu X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sat, 15 Apr 2023 14:30:20 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --0000000000009893fd05f95ecca3 Content-Type: text/plain; charset="UTF-8" to reproduce: (package-initialize) (require 'evil) (setq testmap (make-sparse-keymap)) (define-key testmap (kbd "SPC") #'test) (evil-define-key 'motion global-map (kbd "SPC") testmap) (evil-mode) (describe-keymap global-map) This appears to be caused by keymap.c line 3313 SYMBOL_NAME (shadowed_by) where shadowed_by don't have to be a symbol (In this case its a keymap) --0000000000009893fd05f95ecca3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
to reproduce:

(package-i= nitialize)
(require 'evil)
(setq testmap (make-sparse-keymap))(define-key testmap (kbd "SPC") #'test)
(evil-define-key = 'motion global-map (kbd "SPC") testmap)
(evil-mode)
(de= scribe-keymap global-map)

This appears to be c= aused by keymap.c line 3313
SYMBOL_NAME (shadowed_by)
whe= re shadowed_by don't have to be a symbol (In this case its a keymap)
--0000000000009893fd05f95ecca3-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 15 15:33:12 2023 Received: (at 62867) by debbugs.gnu.org; 15 Apr 2023 19:33:13 +0000 Received: from localhost ([127.0.0.1]:50183 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pnle4-000331-LD for submit@debbugs.gnu.org; Sat, 15 Apr 2023 15:33:12 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58592) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pnle1-00032j-U7 for 62867@debbugs.gnu.org; Sat, 15 Apr 2023 15:33:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pnldv-0003Xx-9T; Sat, 15 Apr 2023 15:33:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=k7czpJEyKqWEVidxzLFmuh7G32Sj1/biJzvmrNMXgSc=; b=rnpnvIX5Y+XK zArq3yQLP1pTwO3s5hnuAn234V3L9zwZMX4FU1m2ylbTcUmmqBsKi963bGhXRpMkq6k/zOaQ1lJ0n jtSPTJDKp93nSdM9bZDvaeA70EwoqrORBszHaAoJ8omz+ezacpKbJZrZI5UMfMa6yGRpblMWxKaxs CTfQCj20kw0eelKZNfsR+MabayH9OHTh65mqZrw23h8lgT9APUQ76u3+SQowC2YYL1ACYq1WTKW11 BGPbMFvcIGJOxGab5uvdyVeOz1lprdfm5WaIipzHv6G4b2Qj+ZP5FBE7CUbDbYb5nL/J7R4wNC3E9 uU1b4AqZfXQbuNzq/J1RPg==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pnldu-0006nC-Hk; Sat, 15 Apr 2023 15:33:02 -0400 Date: Sat, 15 Apr 2023 22:33:03 +0300 Message-Id: <83y1mtaqkw.fsf@gnu.org> From: Eli Zaretskii To: Xinyang Chen , Stefan Monnier In-Reply-To: (message from Xinyang Chen on Sat, 15 Apr 2023 08:07:07 -0400) Subject: Re: bug#62867: segfault in describe_vector References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62867 Cc: 62867@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Xinyang Chen > Date: Sat, 15 Apr 2023 08:07:07 -0400 > > to reproduce: > > (package-initialize) > (require 'evil) > (setq testmap (make-sparse-keymap)) > (define-key testmap (kbd "SPC") #'test) > (evil-define-key 'motion global-map (kbd "SPC") testmap) > (evil-mode) > (describe-keymap global-map) > > This appears to be caused by keymap.c line 3313 > SYMBOL_NAME (shadowed_by) > where shadowed_by don't have to be a symbol (In this case its a keymap) No good deed goes unpunished... Stefan, can we do better than the below? diff --git a/src/keymap.c b/src/keymap.c index efac410..b9950b9 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -3308,13 +3308,18 @@ describe_vector (Lisp_Object vector, Lisp_Object prefix, Lisp_Object args, if (this_shadowed) { SET_PT (PT - 1); - static char const fmt[] = " (currently shadowed by `%s')"; - USE_SAFE_ALLOCA; - char *buffer = SAFE_ALLOCA (sizeof fmt + - SBYTES (SYMBOL_NAME (shadowed_by))); - esprintf (buffer, fmt, SDATA (SYMBOL_NAME (shadowed_by))); - insert_string (buffer); - SAFE_FREE(); + if (SYMBOLP (shadowed_by)) + { + static char const fmt[] = " (currently shadowed by `%s')"; + USE_SAFE_ALLOCA; + char *buffer = + SAFE_ALLOCA (sizeof fmt + SBYTES (SYMBOL_NAME (shadowed_by))); + esprintf (buffer, fmt, SDATA (SYMBOL_NAME (shadowed_by))); + insert_string (buffer); + SAFE_FREE(); + } + else + insert_string (" (binding currently shadowed by a keymap)"); SET_PT (PT + 1); } } From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 15 18:16:42 2023 Received: (at 62867) by debbugs.gnu.org; 15 Apr 2023 22:16:42 +0000 Received: from localhost ([127.0.0.1]:50254 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pnoCI-0007Wy-D3 for submit@debbugs.gnu.org; Sat, 15 Apr 2023 18:16:42 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:23002) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pnoCG-0007Wl-Q8 for 62867@debbugs.gnu.org; Sat, 15 Apr 2023 18:16:41 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 46DC5806BB; Sat, 15 Apr 2023 18:16:35 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 3E32380496; Sat, 15 Apr 2023 18:16:34 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1681596994; bh=48jxHF1Nq4E3x7j6G3RvfEeUX5AVWszdUnIu022CNxA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=lgqg/WH0rEHBUWhPgv6S00a0YWsQjiHQn+b6w2hJf839tXQ9EksSDRb5MFkLH/m+B KGSF/4bsNnXizbaDtKnP2KHL6OHnmy/fMlJdbiv7ws5LY5EIsLbMsoeEVGyVASKV2f ZaHB+beYI1bl0IRyAdSv1LlW0IrmMbIy4oR24iWGsJ1skhUuTjnzWbig8CUzvrEuMQ jojLHiHE9zZYAZDHVOEe5v7ltamyA6cL6+pHKFZneElEgWeb04ImN/Uemid14oZZbd 4rQouzmKq60bszSyG9hqcxPkPgTi+bsBS182+EHh6+4qPzh2gz2EM8fDwHcbCHH5Ba +vOrHWLkn0Kmg== Received: from pastel (unknown [45.72.217.176]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 9C25B1202DB; Sat, 15 Apr 2023 18:16:33 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#62867: segfault in describe_vector In-Reply-To: <83y1mtaqkw.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 15 Apr 2023 22:33:03 +0300") Message-ID: References: <83y1mtaqkw.fsf@gnu.org> Date: Sat, 15 Apr 2023 18:16:32 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.719 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain KAM_STOCKGEN 1.5 Email Contains Generic Pump & Dump Stock Tip X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62867 Cc: 62867@debbugs.gnu.org, Xinyang Chen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Stefan, can we do better than the below? The patch looks about right to me. Only detail is that `shadowed_by` contains a binding, so it can be a keymap, but it can also be a lambda expression, or a keyboard macro, so we shouldn't say "shadowed by a keymap" but just "shadowed" (unless we go through the extra trouble of checking if it's a keymap, or if it's a ...). Stefan > diff --git a/src/keymap.c b/src/keymap.c > index efac410..b9950b9 100644 > --- a/src/keymap.c > +++ b/src/keymap.c > @@ -3308,13 +3308,18 @@ describe_vector (Lisp_Object vector, Lisp_Object prefix, Lisp_Object args, > if (this_shadowed) > { > SET_PT (PT - 1); > - static char const fmt[] = " (currently shadowed by `%s')"; > - USE_SAFE_ALLOCA; > - char *buffer = SAFE_ALLOCA (sizeof fmt + > - SBYTES (SYMBOL_NAME (shadowed_by))); > - esprintf (buffer, fmt, SDATA (SYMBOL_NAME (shadowed_by))); > - insert_string (buffer); > - SAFE_FREE(); > + if (SYMBOLP (shadowed_by)) > + { > + static char const fmt[] = " (currently shadowed by `%s')"; > + USE_SAFE_ALLOCA; > + char *buffer = > + SAFE_ALLOCA (sizeof fmt + SBYTES (SYMBOL_NAME (shadowed_by))); > + esprintf (buffer, fmt, SDATA (SYMBOL_NAME (shadowed_by))); > + insert_string (buffer); > + SAFE_FREE(); > + } > + else > + insert_string (" (binding currently shadowed by a keymap)"); > SET_PT (PT + 1); > } > } From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 16 01:53:11 2023 Received: (at 62867-done) by debbugs.gnu.org; 16 Apr 2023 05:53:11 +0000 Received: from localhost ([127.0.0.1]:50484 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pnvK3-0004Fx-76 for submit@debbugs.gnu.org; Sun, 16 Apr 2023 01:53:11 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55874) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pnvK1-0004Fl-8m for 62867-done@debbugs.gnu.org; Sun, 16 Apr 2023 01:53:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pnvJv-00055K-4U; Sun, 16 Apr 2023 01:53:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=u44hPRmX5uOsQc3MsFi37+k5kBk2cjLFC63wF6mpTSc=; b=k0e9P7uiklFK d0jkEXt1PQxIom8mA/0VbcMaCt7Xs+JtNd2EVE0kfu5EAcHiERrWa2HBeQwHAs0HDr/jaxW2PUsCH tGI0KZG40fI8NrJSfwJQfbx3EJoBdPRTYOIs46lO18Jv6EWHMzD5zoqFvQWP+Ttb/tD0TjWmS/116 8UTp13qRBjc7LO5Fl9MQCxU4mzCMHHYYBN+kIhR2Ik0PaJaHyH4RGl43Q4Sp//aQYsKTOpqJblUJH t/LL4A81y2AA2GsZeIgO+fQZE81TXv5WijqYE73K/5zkMc+Sb4d6/nX3mY8eGde+cbaO9WQXpHJrJ 1NdXrX0uA3rfq/EEW/p3NQ==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pnvJu-00079X-0c; Sun, 16 Apr 2023 01:53:02 -0400 Date: Sun, 16 Apr 2023 08:53:05 +0300 Message-Id: <83ttxgbcfy.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-Reply-To: (message from Stefan Monnier on Sat, 15 Apr 2023 18:16:32 -0400) Subject: Re: bug#62867: segfault in describe_vector References: <83y1mtaqkw.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62867-done Cc: 62867-done@debbugs.gnu.org, chenxy@mit.edu X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stefan Monnier > Cc: Xinyang Chen , 62867@debbugs.gnu.org > Date: Sat, 15 Apr 2023 18:16:32 -0400 > > > Stefan, can we do better than the below? > > The patch looks about right to me. > > Only detail is that `shadowed_by` contains a binding, so it can be > a keymap, but it can also be a lambda expression, or a keyboard macro, > so we shouldn't say "shadowed by a keymap" but just "shadowed" (unless > we go through the extra trouble of checking if it's a keymap, or if it's > a ...). Thanks, installed on the emacs-29 branch with that change, and closing the bug. From unknown Sun Jun 15 08:15:53 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 14 May 2023 11:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator