Subject: bug#50376: 28.0.50; Counsel M-x completion segfaults in command-modes

From: "Basil L. Contovounesios" <[email-masked]>
Date: Sat, 04 Sep 2021 18:20:16 +0100

Calling M-x instantly segfaults with my current Emacs configuration and
set of installed packages.  It seems to happen only under emacsclient,
not emacs.

Among many other things, my configuration remaps
execute-extended-command to counsel-M-x from the Counsel package, and
sets read-extended-command-predicate to
command-completion-default-include-p.

Here's how I reproduce the segfault:

0. cd src
1. gdb ./emacs
2. r --fg-daemon=blc
3. emacsclient -s blc -c
4. M-x

Here's the GDB session:

GNU gdb (Debian 10.1-2) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./emacs...
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not from terminal]
DISPLAY = :0
TERM = dumb-emacs-ansi
Breakpoint 1 at 0x192e27: file emacs.c, line 400.
Breakpoint 2 at 0x16826f: file xterm.c, line 10264.
(gdb) r --fg-daemon=blc
Starting program: /home/blc/.local/src/emacs-dbg/src/emacs --fg-daemon=blc
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff1e98700 (LWP 47227)]
[Detaching after vfork from child process 47228]
Starting Emacs daemon.
Loading /home/blc/.emacs.d/init.elc...done (1.319s)

[New Thread 0x7ffff14cd700 (LWP 47346)]
[New Thread 0x7ffff0b3c700 (LWP 47347)]
[Detaching after vfork from child process 47349]

Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
ASIZE (array=XIL(0x4000000019000005)) at lisp.h:1642
1642	  ptrdiff_t size = XVECTOR (array)->header.size;
(gdb) bt
#0  ASIZE (array=XIL(0x4000000019000005)) at lisp.h:1642
#1  0x0000555555783e00 in VECTORP (x=XIL(0x4000000019000005)) at lisp.h:1663
#2  0x0000555555786f2f in Fcommand_modes (command=XIL(0x10813c0)) at data.c:1049
#3  0x00005555557a7fb1 in funcall_subr (subr=0x555555c5e340 <Scommand_modes>, numargs=1, args=0x7fffffffae90)
    at eval.c:3126
#4  0x00005555557a7bb5 in Ffuncall (nargs=2, args=0x7fffffffae88) at eval.c:3051
#5  0x00005555557f36b8 in exec_byte_code
    (bytestr=XIL(0x7ffff22c8b5c), vector=XIL(0x7ffff22c88f5), maxdepth=make_fixnum(5), args_template=make_fixnum(514), nargs=2, args=0x7fffffffb378) at bytecode.c:632
#6  0x00005555557a8264 in fetch_and_exec_byte_code
    (fun=XIL(0x7ffff22c88c5), syms_left=make_fixnum(514), nargs=2, args=0x7fffffffb368) at eval.c:3175
#7  0x00005555557a85f1 in funcall_lambda (fun=XIL(0x7ffff22c88c5), nargs=2, arg_vector=0x7fffffffb368)
    at eval.c:3256
#8  0x00005555557a7c09 in Ffuncall (nargs=3, args=0x7fffffffb360) at eval.c:3055
#9  0x00005555557f36b8 in exec_byte_code
    (bytestr=XIL(0x555556211184), vector=XIL(0x555555de3de5), maxdepth=make_fixnum(7), args_template=make_fixnum(257), nargs=1, args=0x7fffffffb880) at bytecode.c:632
#10 0x00005555557a8264 in fetch_and_exec_byte_code
    (fun=XIL(0x555555d7580d), syms_left=make_fixnum(257), nargs=1, args=0x7fffffffb878) at eval.c:3175
#11 0x00005555557a85f1 in funcall_lambda (fun=XIL(0x555555d7580d), nargs=1, arg_vector=0x7fffffffb878)
    at eval.c:3256
#12 0x00005555557a7c09 in Ffuncall (nargs=2, args=0x7fffffffb870) at eval.c:3055
#13 0x00005555557a747b in call1 (fn=XIL(0x555555d7580d), arg1=XIL(0x10813c0)) at eval.c:2911
#14 0x0000555555735f93 in Fall_completions
    (string=XIL(0x7ffff21ca314), collection=XIL(0x7ffff273cea5), predicate=XIL(0x555555d7580d), hide_spaces=XIL(0))
    at minibuf.c:1971
#15 0x00005555557a8046 in funcall_subr (subr=0x555555c5b140 <Sall_completions>, numargs=3, args=0x7fffffffbaf0)
    at eval.c:3134
#16 0x00005555557a7bb5 in Ffuncall (nargs=4, args=0x7fffffffbae8) at eval.c:3051
#17 0x00005555557f36b8 in exec_byte_code
    (bytestr=XIL(0x555556b18114), vector=XIL(0x555555ea85d5), maxdepth=make_fixnum(24), args_template=make_fixnum(257), nargs=1, args=0x7fffffffc5d8) at bytecode.c:632
#18 0x00005555557a8264 in fetch_and_exec_byte_code
    (fun=XIL(0x555555d560c5), syms_left=make_fixnum(257), nargs=1, args=0x7fffffffc5d0) at eval.c:3175
#19 0x00005555557a85f1 in funcall_lambda (fun=XIL(0x555555d560c5), nargs=1, arg_vector=0x7fffffffc5d0)
    at eval.c:3256
#20 0x00005555557a7c09 in Ffuncall (nargs=2, args=0x7fffffffc5c8) at eval.c:3055
#21 0x00005555557f36b8 in exec_byte_code
    (bytestr=XIL(0x555556b186e4), vector=XIL(0x555555d56455), maxdepth=make_fixnum(70), args_template=make_fixnum(642), nargs=16, args=0x7fffffffce40) at bytecode.c:632
#22 0x00005555557a8264 in fetch_and_exec_byte_code
    (fun=XIL(0x555555d49f05), syms_left=make_fixnum(642), nargs=16, args=0x7fffffffce30) at eval.c:3175
#23 0x00005555557a85f1 in funcall_lambda (fun=XIL(0x555555d49f05), nargs=16, arg_vector=0x7fffffffce30)
    at eval.c:3256
#24 0x00005555557a7c09 in Ffuncall (nargs=17, args=0x7fffffffce28) at eval.c:3055
#25 0x00005555557f36b8 in exec_byte_code
    (bytestr=XIL(0x555556211734), vector=XIL(0x55555655a0f5), maxdepth=make_fixnum(19), args_template=make_fixnum(256), nargs=0, args=0x7fffffffd550) at bytecode.c:632
#26 0x00005555557a8264 in fetch_and_exec_byte_code
    (fun=XIL(0x55555655a1ad), syms_left=make_fixnum(256), nargs=0, args=0x7fffffffd550) at eval.c:3175
#27 0x00005555557a85f1 in funcall_lambda (fun=XIL(0x55555655a1ad), nargs=0, arg_vector=0x7fffffffd550)
    at eval.c:3256
#28 0x00005555557a7c09 in Ffuncall (nargs=1, args=0x7fffffffd548) at eval.c:3055
#29 0x000055555579e42d in Ffuncall_interactively (nargs=1, args=0x7fffffffd548) at callint.c:260
#30 0x00005555557a7ed7 in funcall_subr
    (subr=0x555555c60480 <Sfuncall_interactively>, numargs=1, args=0x7fffffffd548) at eval.c:3106
#31 0x00005555557a7bb5 in Ffuncall (nargs=2, args=0x7fffffffd540) at eval.c:3051
#32 0x00005555557a6b1e in Fapply (nargs=3, args=0x7fffffffd540) at eval.c:2634
--Type <RET> for more, q to quit, c to continue without paging--c
#33 0x000055555579e802 in Fcall_interactively (function=XIL(0xdf6580), record_flag=XIL(0), keys=XIL(0x7ffff2893fe5)) at callint.c:353
#34 0x00005555557a800b in funcall_subr (subr=0x555555c604c0 <Scall_interactively>, numargs=3, args=0x7fffffffd8e0) at eval.c:3131
#35 0x00005555557a7bb5 in Ffuncall (nargs=4, args=0x7fffffffd8d8) at eval.c:3051
#36 0x00005555557f36b8 in exec_byte_code (bytestr=XIL(0x7ffff22d73ac), vector=XIL(0x7ffff22d7015), maxdepth=make_fixnum(13), args_template=make_fixnum(1025), nargs=1, args=0x7fffffffde50) at bytecode.c:632
#37 0x00005555557a8264 in fetch_and_exec_byte_code (fun=XIL(0x7ffff22d6fe5), syms_left=make_fixnum(1025), nargs=1, args=0x7fffffffde48) at eval.c:3175
#38 0x00005555557a85f1 in funcall_lambda (fun=XIL(0x7ffff22d6fe5), nargs=1, arg_vector=0x7fffffffde48) at eval.c:3256
#39 0x00005555557a7c09 in Ffuncall (nargs=2, args=0x7fffffffde40) at eval.c:3055
#40 0x00005555557a747b in call1 (fn=XIL(0x4560), arg1=XIL(0xdf6580)) at eval.c:2911
#41 0x00005555556ee5d2 in command_loop_1 () at keyboard.c:1490
#42 0x00005555557a3fce in internal_condition_case (bfun=0x5555556edde8 <command_loop_1>, handlers=XIL(0x90), hfun=0x5555556ed468 <cmd_error>) at eval.c:1478
#43 0x00005555556edab0 in command_loop_2 (handlers=XIL(0x90)) at keyboard.c:1118
#44 0x00005555557a3659 in internal_catch (tag=XIL(0xe6a0), func=0x5555556eda89 <command_loop_2>, arg=XIL(0x90)) at eval.c:1198
#45 0x00005555556eda55 in command_loop () at keyboard.c:1096
#46 0x00005555556ed01d in recursive_edit_1 () at keyboard.c:720
#47 0x00005555556ed1bc in Frecursive_edit () at keyboard.c:792
#48 0x00005555556e9bcd in main (argc=2, argv=0x7fffffffe378) at emacs.c:2310

Lisp Backtrace:
"command-modes" (0xffffae90)
"command-completion-default-include-p" (0xffffb368)
0x55d75808 PVEC_COMPILED
"all-completions" (0xffffbaf0)
"ivy--reset-state" (0xffffc5d0)
"ivy-read" (0xffffce30)
"counsel-M-x" (0xffffd550)
"funcall-interactively" (0xffffd548)
"call-interactively" (0xffffd8e0)
"command-execute" (0xffffde48)
(gdb) f 2
#2  0x0000555555786f2f in Fcommand_modes (command=XIL(0x10813c0)) at data.c:1049
1049	      if (VECTORP (form))
(gdb) p fun
$1 = XIL(0x555556d4fc4d)
(gdb) xpr
Lisp_Vectorlike
PVEC_COMPILED
$2 = (struct Lisp_Vector *) 0x555556d4fc48
{make_fixnum(385), XIL(0x555556d54d34), XIL(0x555556d4fbd5), make_fixnum(8), XIL(0x555556d533b3)}

This suggests a straightforward fix:

>From 68b4b03042c50cc6e7111919aaa4bae3c6e1fb47 Mon Sep 17 00:00:00 2001
From: "Basil L. Contovounesios" <[email-masked]>
Date: Sat, 4 Sep 2021 17:04:26 +0100
Subject: [PATCH] Avoid segfault in command-modes

* src/data.c (Fcommand_modes): Check that bytecode object is
interactive before accessing its interactive spec to avoid
segfaulting.
---
 src/data.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/data.c b/src/data.c
index ffca7e7535..27b642df28 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1045,6 +1045,8 @@ DEFUN ("command-modes", Fcommand_modes, Scommand_modes, 1, 1, 0,
 
   if (COMPILEDP (fun))
     {
+      if (PVSIZE (fun) <= COMPILED_INTERACTIVE)
+	return Qnil;
       Lisp_Object form = AREF (fun, COMPILED_INTERACTIVE);
       if (VECTORP (form))
 	/* New form -- the second element is the command modes. */
-- 
2.33.0

WDYT?

Thanks,

-- 
Basil

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars)
 of 2021-09-04 built on tia
Repository revision: 0daad767047be33c0189d5e0131b126b49d35e6d
Repository branch: HEAD
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux bookworm/sid

Configured using:
 'configure 'CC=ccache gcc' 'CFLAGS=-O0 -ggdb3'
 --prefix=/home/blc/.local --program-suffix=-dbg --with-x-toolkit=lucid
 --with-file-notification=yes --with-x'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS
X11 XAW3D XDBE XIM XPM LUCID ZLIB

Important settings:
  value of $LANG: en_IE.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  minibuffer-depth-indicate-mode: t
  bug-reference-prog-mode: t
  global-whitespace-mode: t
  display-time-mode: t
  global-subword-mode: t
  subword-mode: t
  global-so-long-mode: t
  global-paren-face-mode: t
  paren-face-mode: t
  show-paren-mode: t
  delete-selection-mode: t
  display-battery-mode: t
  blc-rainbow-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-save-visited-mode: t

Load-path shadows:
/home/blc/.emacs.d/lisp/counsel hides /home/blc/.emacs.d/elpa/counsel-0.13.4.0.20210819.150009/counsel
/home/blc/.emacs.d/lisp/ivy-hydra hides /home/blc/.emacs.d/elpa/ivy-hydra-0.13.5.0.20210311.102431/ivy-hydra
/home/blc/.local/src/emacs-dbg/lisp/org/org-num hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-num
/home/blc/.local/src/emacs-dbg/lisp/org/ob-plantuml hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-plantuml
/home/blc/.local/src/emacs-dbg/lisp/org/ol-rmail hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ol-rmail
/home/blc/.local/src/emacs-dbg/lisp/org/ol-bibtex hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ol-bibtex
/home/blc/.local/src/emacs-dbg/lisp/org/ob-python hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-python
/home/blc/.local/src/emacs-dbg/lisp/org/org-table hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-table
/home/blc/.local/src/emacs-dbg/lisp/org/ol-info hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ol-info
/home/blc/.local/src/emacs-dbg/lisp/org/ob-stan hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-stan
/home/blc/.local/src/emacs-dbg/lisp/org/ob-scheme hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-scheme
/home/blc/.local/src/emacs-dbg/lisp/org/org-macro hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-macro
/home/blc/.local/src/emacs-dbg/lisp/org/org-habit hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-habit
/home/blc/.local/src/emacs-dbg/lisp/org/ob-coq hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-coq
/home/blc/.local/src/emacs-dbg/lisp/org/ob-ocaml hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-ocaml
/home/blc/.local/src/emacs-dbg/lisp/org/ob-org hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-org
/home/blc/.local/src/emacs-dbg/lisp/org/org-capture hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-capture
/home/blc/.local/src/emacs-dbg/lisp/org/ob-emacs-lisp hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-emacs-lisp
/home/blc/.local/src/emacs-dbg/lisp/org/org-attach-git hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-attach-git
/home/blc/.local/src/emacs-dbg/lisp/org/org-plot hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-plot
/home/blc/.local/src/emacs-dbg/lisp/org/ob-exp hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-exp
/home/blc/.local/src/emacs-dbg/lisp/org/org-crypt hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-crypt
/home/blc/.local/src/emacs-dbg/lisp/org/ob hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob
/home/blc/.local/src/emacs-dbg/lisp/org/ob-gnuplot hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-gnuplot
/home/blc/.local/src/emacs-dbg/lisp/org/ob-tangle hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-tangle
/home/blc/.local/src/emacs-dbg/lisp/org/ob-io hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-io
/home/blc/.local/src/emacs-dbg/lisp/org/ob-ebnf hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-ebnf
/home/blc/.local/src/emacs-dbg/lisp/org/ob-haskell hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-haskell
/home/blc/.local/src/emacs-dbg/lisp/org/ox-icalendar hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ox-icalendar
/home/blc/.local/src/emacs-dbg/lisp/org/ob-dot hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-dot
/home/blc/.local/src/emacs-dbg/lisp/org/org-element hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-element
/home/blc/.local/src/emacs-dbg/lisp/org/ox-org hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ox-org
/home/blc/.local/src/emacs-dbg/lisp/org/ob-makefile hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-makefile
/home/blc/.local/src/emacs-dbg/lisp/org/ob-shell hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-shell
/home/blc/.local/src/emacs-dbg/lisp/org/ob-mscgen hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-mscgen
/home/blc/.local/src/emacs-dbg/lisp/org/ob-clojure hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-clojure
/home/blc/.local/src/emacs-dbg/lisp/org/org-protocol hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-protocol
/home/blc/.local/src/emacs-dbg/lisp/org/org-clock hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-clock
/home/blc/.local/src/emacs-dbg/lisp/org/ob-R hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-R
/home/blc/.local/src/emacs-dbg/lisp/org/ob-J hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-J
/home/blc/.local/src/emacs-dbg/lisp/org/org-compat hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-compat
/home/blc/.local/src/emacs-dbg/lisp/org/org-keys hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-keys
/home/blc/.local/src/emacs-dbg/lisp/org/org-inlinetask hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-inlinetask
/home/blc/.local/src/emacs-dbg/lisp/org/ol-w3m hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ol-w3m
/home/blc/.local/src/emacs-dbg/lisp/org/org-datetree hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-datetree
/home/blc/.local/src/emacs-dbg/lisp/org/ob-abc hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-abc
/home/blc/.local/src/emacs-dbg/lisp/org/ob-eval hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-eval
/home/blc/.local/src/emacs-dbg/lisp/org/org-version hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-version
/home/blc/.local/src/emacs-dbg/lisp/org/org-src hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-src
/home/blc/.local/src/emacs-dbg/lisp/org/org-agenda hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-agenda
/home/blc/.local/src/emacs-dbg/lisp/org/org-footnote hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-footnote
/home/blc/.local/src/emacs-dbg/lisp/org/ob-shen hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-shen
/home/blc/.local/src/emacs-dbg/lisp/org/ob-groovy hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-groovy
/home/blc/.local/src/emacs-dbg/lisp/org/ob-eshell hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-eshell
/home/blc/.local/src/emacs-dbg/lisp/org/ox-md hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ox-md
/home/blc/.local/src/emacs-dbg/lisp/org/ol-bbdb hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ol-bbdb
/home/blc/.local/src/emacs-dbg/lisp/org/ob-fortran hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-fortran
/home/blc/.local/src/emacs-dbg/lisp/org/ob-matlab hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-matlab
/home/blc/.local/src/emacs-dbg/lisp/org/ol-mhe hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ol-mhe
/home/blc/.local/src/emacs-dbg/lisp/org/ob-hledger hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-hledger
/home/blc/.local/src/emacs-dbg/lisp/org/ox-texinfo hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ox-texinfo
/home/blc/.local/src/emacs-dbg/lisp/org/ox-man hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ox-man
/home/blc/.local/src/emacs-dbg/lisp/org/ob-ditaa hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-ditaa
/home/blc/.local/src/emacs-dbg/lisp/org/ob-ruby hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-ruby
/home/blc/.local/src/emacs-dbg/lisp/org/ob-asymptote hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-asymptote
/home/blc/.local/src/emacs-dbg/lisp/org/ob-ledger hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-ledger
/home/blc/.local/src/emacs-dbg/lisp/org/ox-html hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ox-html
/home/blc/.local/src/emacs-dbg/lisp/org/org-archive hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-archive
/home/blc/.local/src/emacs-dbg/lisp/org/ox-odt hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ox-odt
/home/blc/.local/src/emacs-dbg/lisp/org/org-pcomplete hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-pcomplete
/home/blc/.local/src/emacs-dbg/lisp/org/ob-sed hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-sed
/home/blc/.local/src/emacs-dbg/lisp/org/ol-gnus hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ol-gnus
/home/blc/.local/src/emacs-dbg/lisp/org/org-macs hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-macs
/home/blc/.local/src/emacs-dbg/lisp/org/ob-screen hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-screen
/home/blc/.local/src/emacs-dbg/lisp/org/org-ctags hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-ctags
/home/blc/.local/src/emacs-dbg/lisp/org/org-entities hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-entities
/home/blc/.local/src/emacs-dbg/lisp/org/org-indent hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-indent
/home/blc/.local/src/emacs-dbg/lisp/org/ob-js hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-js
/home/blc/.local/src/emacs-dbg/lisp/org/ox-latex hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ox-latex
/home/blc/.local/src/emacs-dbg/lisp/org/ol-eshell hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ol-eshell
/home/blc/.local/src/emacs-dbg/lisp/org/ox hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ox
/home/blc/.local/src/emacs-dbg/lisp/org/ob-table hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-table
/home/blc/.local/src/emacs-dbg/lisp/org/ob-java hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-java
/home/blc/.local/src/emacs-dbg/lisp/org/org-colview hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-colview
/home/blc/.local/src/emacs-dbg/lisp/org/ob-calc hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-calc
/home/blc/.local/src/emacs-dbg/lisp/org/ob-sass hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-sass
/home/blc/.local/src/emacs-dbg/lisp/org/org-mouse hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-mouse
/home/blc/.local/src/emacs-dbg/lisp/org/ol-docview hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ol-docview
/home/blc/.local/src/emacs-dbg/lisp/org/org-lint hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-lint
/home/blc/.local/src/emacs-dbg/lisp/org/org-goto hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-goto
/home/blc/.local/src/emacs-dbg/lisp/org/ob-lisp hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-lisp
/home/blc/.local/src/emacs-dbg/lisp/org/ol hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ol
/home/blc/.local/src/emacs-dbg/lisp/org/ol-eww hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ol-eww
/home/blc/.local/src/emacs-dbg/lisp/org/ob-lua hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-lua
/home/blc/.local/src/emacs-dbg/lisp/org/org-id hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-id
/home/blc/.local/src/emacs-dbg/lisp/org/ox-beamer hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ox-beamer
/home/blc/.local/src/emacs-dbg/lisp/org/org-attach hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-attach
/home/blc/.local/src/emacs-dbg/lisp/org/ol-irc hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ol-irc
/home/blc/.local/src/emacs-dbg/lisp/org/ob-lilypond hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-lilypond
/home/blc/.local/src/emacs-dbg/lisp/org/ob-core hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-core
/home/blc/.local/src/emacs-dbg/lisp/org/ob-ref hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-ref
/home/blc/.local/src/emacs-dbg/lisp/org/ox-ascii hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ox-ascii
/home/blc/.local/src/emacs-dbg/lisp/org/org-list hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-list
/home/blc/.local/src/emacs-dbg/lisp/org/org-mobile hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-mobile
/home/blc/.local/src/emacs-dbg/lisp/org/ob-perl hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-perl
/home/blc/.local/src/emacs-dbg/lisp/org/org-refile hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-refile
/home/blc/.local/src/emacs-dbg/lisp/org/org-faces hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-faces
/home/blc/.local/src/emacs-dbg/lisp/org/ob-processing hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-processing
/home/blc/.local/src/emacs-dbg/lisp/org/ob-picolisp hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-picolisp
/home/blc/.local/src/emacs-dbg/lisp/org/ob-awk hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-awk
/home/blc/.local/src/emacs-dbg/lisp/org/ob-vala hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-vala
/home/blc/.local/src/emacs-dbg/lisp/org/ob-octave hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-octave
/home/blc/.local/src/emacs-dbg/lisp/org/ob-maxima hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-maxima
/home/blc/.local/src/emacs-dbg/lisp/org/org-duration hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-duration
/home/blc/.local/src/emacs-dbg/lisp/org/ob-forth hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-forth
/home/blc/.local/src/emacs-dbg/lisp/org/org hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org
/home/blc/.local/src/emacs-dbg/lisp/org/org-tempo hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-tempo
/home/blc/.local/src/emacs-dbg/lisp/org/ox-publish hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ox-publish
/home/blc/.local/src/emacs-dbg/lisp/org/ob-sql hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-sql
/home/blc/.local/src/emacs-dbg/lisp/org/ob-latex hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-latex
/home/blc/.local/src/emacs-dbg/lisp/org/org-feed hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-feed
/home/blc/.local/src/emacs-dbg/lisp/org/org-loaddefs hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-loaddefs
/home/blc/.local/src/emacs-dbg/lisp/org/ob-sqlite hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-sqlite
/home/blc/.local/src/emacs-dbg/lisp/org/ob-lob hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-lob
/home/blc/.local/src/emacs-dbg/lisp/org/ob-C hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-C
/home/blc/.local/src/emacs-dbg/lisp/org/org-timer hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/org-timer
/home/blc/.local/src/emacs-dbg/lisp/org/ob-comint hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-comint
/home/blc/.emacs.d/elpa/org-contrib-0.1.0.20210610.153732/ox-koma-letter hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ox-koma-letter
/home/blc/.local/src/emacs-dbg/lisp/org/ob-css hides /home/blc/.emacs.d/elpa/org-9.5snapshot0.20210901.144307/ob-css
/home/blc/.emacs.d/lisp/swiper hides /home/blc/.emacs.d/elpa/swiper-0.13.4.0.20210521.132146/swiper
/home/blc/.emacs.d/lisp/colir hides /home/blc/.emacs.d/elpa/ivy-0.13.4.0.20210818.160824/colir
/home/blc/.emacs.d/lisp/ivy-faces hides /home/blc/.emacs.d/elpa/ivy-0.13.4.0.20210818.160824/ivy-faces
/home/blc/.emacs.d/lisp/ivy-overlay hides /home/blc/.emacs.d/elpa/ivy-0.13.4.0.20210818.160824/ivy-overlay
/home/blc/.emacs.d/lisp/ivy hides /home/blc/.emacs.d/elpa/ivy-0.13.4.0.20210818.160824/ivy
/home/blc/.emacs.d/lisp/dash hides /home/blc/.emacs.d/elpa/dash-2.19.1.0.20210826.114923/dash
/home/blc/.emacs.d/elpa/transient-0.3.6.0.20210819.211812/transient hides /home/blc/.local/src/emacs-dbg/lisp/transient

Features:
(shadow sort footnote mail-extr gnus-msg gnus-art mm-uu mml2015 mm-view
mml-smime smime dig gnus-sum shr kinsoku svg dom gnus-group gnus-undo
gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 netrc
nnoo parse-time iso8601 gnus-spec gnus-int gnus-range gnus-win gnus
nnheader wid-edit emacsbug message rmc puny rfc822 mml mml-sec epa
derived epg rfc6068 epg-config gnus-util rmail rmail-loaddefs time-date
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr
mail-utils thingatpt counsel xref project git-annex advice rx dired-x
deb-view dired dired-loaddefs compile text-property-search comint
ansi-color swiper cl-extra help-mode mb-depth ivy ring ivy-faces
ivy-overlay colir color vc-git diff-mode easy-mmode vc vc-dispatcher
bug-reference edmacro kmacro whitespace time cap-words superword subword
so-long paren-face paren highlight-escape-sequences delsel delight
modus-operandi-theme modus-themes pcase format-spec battery dbus xml xdg
blc-pkg finder-inf info tex-site debian-el sly-autoloads package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x url-vars cl-loaddefs cl-lib blc-lib map seq
byte-opt gv bytecomp byte-compile cconv iso-transl tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win
x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo x-toolkit
x multi-tty make-network-process emacs)

Memory information:
((conses 16 403379 62769)
 (symbols 48 27910 12)
 (strings 32 116052 9343)
 (string-bytes 1 3500148)
 (vectors 16 39804)
 (vector-slots 8 468088 40648)
 (floats 8 333 153)
 (intervals 56 308 72)
 (buffers 992 10))