unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#71177: 30.0.50; crash when opening and closing many TTY frames in succession
@ 2024-05-24 17:47 Daniel Clemente
  2024-05-24 19:31 ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Clemente @ 2024-05-24 17:47 UTC (permalink / raw)
  To: 71177

[-- Attachment #1: Type: text/plain, Size: 40715 bytes --]

Emacs compiled without X.
I can launch a new emacsclient with a keypress and I can kill it with
another keypress.
I held down the key to launch many emacsclient (around 20), then killed
them, then launched a few more, killed them, … Less than 10 seconds of this
behaviour are enough to crash the server.
This doesn't happen during normal usage. I was intentionally trying to find
the bug. I don't expect  the daemon to crash only by opening/closing frames.
The command I run to launch the emacsclient is:  emacsclient -c -e "(progn
(dired "~"))"
I use rxvt-unicode.



Program received signal SIGPIPE, Broken pipe.
0x00007ffff5517240 in __GI___libc_write (fd=fd@entry=63,
buf=buf@entry=0x555563676b10,
nbytes=nbytes@entry=17) at ../sysdeps/unix/sysv/linux/write.c:26
26 ../sysdeps/unix/sysv/linux/write.c: No such file or directory.
(gdb) bt full
#0  0x00007ffff5517240 in __GI___libc_write (fd=fd@entry=63,
buf=buf@entry=0x555563676b10,
nbytes=nbytes@entry=17) at ../sysdeps/unix/sysv/linux/write.c:26
        sc_ret = -32
        __arg3 = <optimized out>
        _a2 = <optimized out>
        sc_ret = <optimized out>
        sc_ret = <optimized out>
        __arg1 = <optimized out>
        _a3 = <optimized out>
        sc_cancel_oldtype = <optimized out>
        resultvar = <optimized out>
        __arg2 = <optimized out>
        _a1 = <optimized out>
#1  0x00005555556715b7 in emacs_full_write (interruptible=-1, nbyte=17,
buf=0x555563676b10 "-emacs-pid 26724\n", fd=63, fd@entry=17) at
sysdep.c:2812
        n = <optimized out>
        bytes_written = 0
        bytes_written = <optimized out>
        n = <optimized out>
#2  emacs_write_sig (fd=fd@entry=63, buf=<optimized out>, nbyte=<optimized
out>) at sysdep.c:2852
No locals.
#3  0x0000555555760d40 in send_process (proc=proc@entry=XIL(0x555563ae0f85),
buf=<optimized out>, len=<optimized out>, object=<optimized out>,
object@entry=XIL(0x555561809f34)) at process.c:6703
        written = 0
        outfd = 63
        cur_len = 17
        cur_buf = 0x555563676b10 "-emacs-pid 26724\n"
        cur_object = XIL(0x555561809f34)
        p = 0x555563ae0f80
        rv = <optimized out>
        coding = <optimized out>
#4  0x0000555555761298 in Fprocess_send_string (process=<optimized out>,
string=XIL(0x555561809f34)) at /w/emacs/src/lisp.h:1688
        proc = XIL(0x555563ae0f85)
#5  0x00007fffed3f1113 in
F7365727665722d73656e642d737472696e67_server_send_string_0 () from
/home/dc/.emacs.d/eln-cache/30.0.50-e7264eac/server-0cc44189-48d76bed.eln
No symbol table info available.
#6  0x00005555556f15dc in Ffuncall (nargs=3, args=0x7fffffffbc80) at
eval.c:3073
        count = <optimized out>
        val = <optimized out>
#7  0x00007fffed3f50e0 in
F7365727665722d70726f636573732d66696c746572_server_process_filter_0 () from
/home/dc/.emacs.d/eln-cache/30.0.50-e7264eac/server-0cc44189-48d76bed.eln
No symbol table info available.
#8  0x00005555556f15dc in Ffuncall (nargs=nargs@entry=3,
args=0x7fffffffbdf0) at eval.c:3073
        count = <optimized out>
        val = <optimized out>
#9  0x00005555556f1a30 in Fapply (nargs=nargs@entry=2,
args=args@entry=0x7fffffffbea0)
at eval.c:2745
        i = <optimized out>
        funcall_nargs = 3
        funcall_args = <optimized out>
        spread_arg = <optimized out>
        fun = <optimized out>
        sa_avail = <optimized out>
        sa_count = {
          bytes = 256
        }
        numargs = <optimized out>
        retval = <optimized out>
#10 0x00005555556f1d60 in apply1 (fn=<optimized out>, arg=<optimized out>)
at eval.c:2961
No locals.
#11 0x00005555556ef5fc in internal_condition_case_1
(bfun=bfun@entry=0x555555751af0
<read_process_output_call>, arg=XIL(0x55555f5aea03),
handlers=handlers@entry=XIL(0x90),

    hfun=hfun@entry=0x555555751a30 <read_process_output_error_handler>) at
eval.c:1617
        val = <optimized out>
        c = 0x555555e4eec0
#12 0x0000555555754745 in read_and_dispose_of_process_output
(coding=<optimized out>, nbytes=3565,
--Type <RET> for more, q to quit, c to continue without paging--
    chars=0x7fffffffbef0 "-env MAIL=/var/mail/dc -env LANGUAGE=en_US:en
-env GTK_CSD=0 -env WORKON_HOME=/home/dc/.virtualenvs -env USER=dc -env
XDG_SEAT=seat0 -env VAGRANT_DISABLE_VBOXSYMLINKCREATE=1 -env
SSH_AGENT_PID=1016 -e"...,
    p=0x555563ae0f80) at process.c:6354
        outstream = XIL(0x26ed830)
        text = <optimized out>
        outer_running_asynch_code = false
        waiting = -1
        outstream = <optimized out>
        text = <optimized out>
        outer_running_asynch_code = <optimized out>
        waiting = <optimized out>
        tem = <optimized out>
#13 read_process_output (proc=proc@entry=XIL(0x555563ae0f85),
channel=channel@entry=63) at process.c:6264
        nbytes = 3565
        p = 0x555563ae0f80
        coding = <optimized out>
        carryover = <optimized out>
        readmax = <optimized out>
        count = <optimized out>
        odeactivate = XIL(0)
        chars = <optimized out>
        sa_avail = <optimized out>
        sa_count = <optimized out>
#14 0x000055555575d0a4 in wait_reading_process_output
(time_limit=time_limit@entry=0, nsecs=nsecs@entry=0,
read_kbd=read_kbd@entry=-1,
do_display=<optimized out>, wait_for_cell=wait_for_cell@entry=XIL(0),
wait_proc=wait_proc@entry=0x0,
    just_wait_proc=<optimized out>) at process.c:5948
        nread = <optimized out>
        process_skipped = <optimized out>
        wrapped = <optimized out>
        channel_start = <optimized out>
        child_fd = <optimized out>
        channel = <optimized out>
        nfds = <optimized out>
        Available = {
          fds_bits = {-9223372036854775792, 0 <repeats 15 times>}
        }
        Writeok = {
          fds_bits = {0 <repeats 16 times>}
        }
        check_write = <optimized out>
        check_delay = <optimized out>
        no_avail = <optimized out>
        xerrno = 5
        proc = XIL(0x555563ae0f85)
        timeout = {
          tv_sec = 0,
          tv_nsec = 0
        }
        end_time = <optimized out>
        timer_delay = <optimized out>
        got_output_end_time = <optimized out>
        wait = <optimized out>
        got_some_output = <optimized out>
        prev_wait_proc_nbytes_read = <optimized out>
        retry_for_async = <optimized out>
        count = <optimized out>
        now = <optimized out>
        last_read_channel = 61
        MINIMUM = MINIMUM
        TIMEOUT = TIMEOUT
        FOREVER = FOREVER
--Type <RET> for more, q to quit, c to continue without paging--
#15 0x0000555555653ae7 in kbd_buffer_get_event (kbp=kbp@entry=0x7fffffffd480,
end_time=end_time@entry=0x0, used_mouse_menu=<optimized out>) at
keyboard.c:4078
        do_display = <optimized out>
        obj = <optimized out>
        str = <optimized out>
#16 0x0000555555659f2d in read_event_from_main_queue
(used_mouse_menu=<optimized out>, local_getcjmp=0x7fffffffd5d0,
end_time=0x0) at keyboard.c:2330
        c = XIL(0)
        count = <optimized out>
        save_jump = {{
            __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0},
            __mask_was_saved = 0,
            __saved_mask = {
              __val = {0 <repeats 16 times>}
            }
          }}
        kb = 0x5555597bd2a0
        c = <optimized out>
        save_jump = <optimized out>
        kb = <optimized out>
        start = <optimized out>
        count = <optimized out>
        last = <optimized out>
#17 read_decoded_event_from_main_queue (used_mouse_menu=<optimized out>,
prev_event=<optimized out>, local_getcjmp=<optimized out>,
end_time=<optimized out>) at keyboard.c:2394
        nextevt = <optimized out>
        frame = <optimized out>
        terminal = <optimized out>
        events = {XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0),
XIL(0), XIL(0x300000000), XIL(0x555558cf6b43), XIL(0), XIL(0x6c90),
make_fixnum(2104), XIL(0x8f01), XIL(0x7fffffffd658), XIL(0x838)}
        n = <optimized out>
        events = <optimized out>
        n = <optimized out>
        nextevt = <optimized out>
        frame = <optimized out>
        terminal = <optimized out>
        meta_key = <optimized out>
        coding = <optimized out>
        i = <optimized out>
        c = <optimized out>
        modifier = <optimized out>
        src = <optimized out>
        dest = <optimized out>
        i = <optimized out>
        p = <optimized out>
        c = <optimized out>
        modifier = <optimized out>
#18 read_char (commandflag=commandflag@entry=1,
map=map@entry=XIL(0x55555fd11173),
prev_event=XIL(0), used_mouse_menu=used_mouse_menu@entry=0x7fffffffd93b,
end_time=end_time@entry=0x0) at keyboard.c:3015
        c = <optimized out>
        local_getcjmp = {{
            __jmpbuf = {93825075899393, 8307592983963047000,
140737488345696, 140737488345696, 93825061868192, 93825164817153,
2746962207876387928, 8307591716148024408},
            __mask_was_saved = 0,
            __saved_mask = {
              __val = {36720, 2104, 36720, 140737488344800, 93825164763245,
0, 93824994463455, 0, 4294975714, 93825167859555, 93825164817157, 2104,
36720, 140737488344800, 93825164763245, 0}
            }
          }}
        save_jump = {{
            __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0},
            __mask_was_saved = 0,
            __saved_mask = {
              __val = {0 <repeats 16 times>}
            }
          }}
--Type <RET> for more, q to quit, c to continue without paging--
        tem = <optimized out>
        save = <optimized out>
        previous_echo_area_message = XIL(0)
        also_record = XIL(0)
        reread = false
        recorded = false
        polling_stopped_here = true
        orig_kboard = 0x5555597bd2a0
        retry = <optimized out>
        jmpcount = <optimized out>
#19 0x000055555565d4bd in read_key_sequence
(keybuf=keybuf@entry=0x7fffffffda60,
prevent_redisplay=prevent_redisplay@entry=false,
disable_text_conversion_p=false, fix_current_buffer=true,
can_return_switch_frame=true,
    dont_downcase_last=false, prompt=XIL(0)) at keyboard.c:10723
        interrupted_kboard = <optimized out>
        interrupted_frame = 0x55555a51ec70
        key = <optimized out>
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        new_binding = <optimized out>
        count = <optimized out>
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = XIL(0x55555fd11173)
        first_unbound = 31
        mock_input = 0
        used_mouse_menu_history = {false <repeats 30 times>}
        fkey = {
          parent = XIL(0x55555fd4a023),
          map = XIL(0x55555fd4a023),
          start = 0,
          end = 0
        }
        keytran = {
          parent = XIL(0x7ffff211c9fb),
          map = XIL(0x7ffff211c9fb),
          start = 0,
          end = 0
        }
        indec = {
          parent = XIL(0x55555fd4a033),
          map = XIL(0x55555fd4a033),
          start = 0,
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = XIL(0)
        original_uppercase = XIL(0)
        original_uppercase_position = -1
        starting_buffer = <optimized out>
        fake_prefixed_keys = XIL(0)
        first_event = XIL(0)
        second_event = <optimized out>
        replay_key = <optimized out>
#20 0x000055555565f8be in command_loop_1 () at keyboard.c:1429
        cmd = <optimized out>
        keybuf = {XIL(0x4ee1d0), make_fixnum(91), make_fixnum(50),
make_fixnum(53), make_fixnum(126), make_fixnum(49), make_fixnum(126),
XIL(0x7fffffffdb30), XIL(0x9), XIL(0xd8f0), XIL(0x30), XIL(0x555560400db5),
XIL(0x1),
          XIL(0x7fffffffdb30), XIL(0x60), XIL(0x55555564b9a0), XIL(0x1),
XIL(0x7fffffffdcbc), make_fixnum(0), XIL(0x55555564bb65), XIL(0), XIL(0),
XIL(0x2aaa9bb85280), XIL(0x555561507ac3), XIL(0x7ffff18388d4), XIL(0),
XIL(0x8700),
--Type <RET> for more, q to quit, c to continue without paging--
          make_fixnum(23456248479721), XIL(0x9), XIL(0x8760)}
        i = <optimized out>
        last_pt = <optimized out>
        prev_modiff = 16
        prev_buffer = 0x55555f9eb300
#21 0x00005555556ef577 in internal_condition_case
(bfun=bfun@entry=0x55555565f720
<command_loop_1>, handlers=handlers@entry=XIL(0x90),
hfun=hfun@entry=0x55555564b9a0
<cmd_error>) at eval.c:1593
        val = <optimized out>
        c = 0x555555ec9bd0
#22 0x0000555555649fb6 in command_loop_2 (handlers=handlers@entry=XIL(0x90))
at keyboard.c:1168
        val = <optimized out>
#23 0x00005555556ef4cc in internal_catch (tag=tag@entry=XIL(0xe730),
func=func@entry=0x555555649f90 <command_loop_2>, arg=arg@entry=XIL(0x90))
at eval.c:1272
        val = <optimized out>
        c = 0x555555edcc70
#24 0x0000555555649f51 in command_loop () at keyboard.c:1146
No locals.
#25 0x00005555556507be in recursive_edit_1 () at keyboard.c:754
        count = <optimized out>
        val = <optimized out>
#26 0x0000555555650b30 in Frecursive_edit () at keyboard.c:837
        count = <optimized out>
        buffer = <optimized out>
#27 0x000055555558efc6 in main (argc=<optimized out>, argv=0x7fffffffded8)
at emacs.c:2621
        stack_bottom_variable = 0x2
        old_argc = <optimized out>
        dump_file = 0x0
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = <optimized out>
        dump_mode = <optimized out>
        skip_args = 1
        temacs = 0x0
        attempt_load_pdump = <optimized out>
        only_version = <optimized out>
        rlim = {
          rlim_cur = 10022912,
          rlim_max = 18446744073709551615
        }
        lc_all = <optimized out>
        sockfd = -1
(gdb)
(gdb) xbacktrace
"server-send-string" (0xffffbc88)
"server-process-filter" (0xffffbdf8)




In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu) of 2024-05-08 built on
sonn
Repository revision: b82a003544c607b5c54bab13870d52b53e70aeb8
Repository branch: master
System Description: Devuan GNU/Linux 5 (daedalus)

Configured using:
 'configure --prefix=/opt/dc/emacs/ --without-dbus --with-tiff=no
--without-tiff
 --without-libsystemd --without-dbus --with-mailutils
--with-native-compilation --without-modules
 --with-x-toolkit=no --without-imagemagick --without-xft --without-harfbuzz
--without-freetype
 --without-libotf --without-xwidgets --without-xpm --without-jpeg
--without-gif --without-png
 --without-webp --without-rsvg --without-cairo --without-x 'CFLAGS=-g3 -O3''

Configured features:
GMP GNUTLS LCMS2 LIBSELINUX LIBXML2 NATIVE_COMP NOTIFY INOTIFY PDUMPER
SECCOMP SOUND SQLITE3 THREADS
XIM ZLIB

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

Major mode: Dired by name

Minor modes in effect:
  xterm-mouse-mode: t
  erc-track-mode: t
  erc-services-mode: t
  erc-ring-mode: t
  erc-netsplit-mode: t
  erc-menu-mode: t
  erc-match-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-readonly-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-autojoin-mode: t
  erc-networks-mode: t
  gnus-dired-mode: t
  savehist-mode: t
  recentf-mode: t
  hexl-follow-ascii: t
  helm-mode: t
  helm-minibuffer-history-mode: t
  async-bytecomp-package-mode: t
  global-git-commit-mode: t
  server-mode: t
  jdecomp-mode: t
  projectile-mode: t
  global-semantic-decoration-mode: t
  global-semanticdb-minor-mode: t
  global-semantic-show-unmatched-syntax-mode: -1
  semantic-mode: t
  rcirc-track-minor-mode: t
  jabber-activity-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  unpackaged/org-export-html-with-useful-ids-mode: t
  minibuffer-depth-indicate-mode: t
  global-so-long-mode: t
  display-time-mode: t
  global-hl-line-mode: t
  xclip-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  minibuffer-regexp-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/w/helm/helm-files hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-files
/w/helm/helm-comint hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-comint
/w/helm/helm-elisp-package hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-elisp-package
/w/helm/helm-external hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-external
/w/helm/helm-easymenu hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-easymenu
/w/helm/helm-font hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-font
/w/helm/helm-imenu hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-imenu
/w/helm/helm-x-files hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-x-files
/w/helm/helm-regexp hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-regexp
/w/helm/helm-net hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-net
/w/helm/helm-ring hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-ring
/w/helm/helm-find hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-find
/w/helm/helm-misc hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-misc
/w/helm/helm-occur hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-occur
/w/helm/helm-sys hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-sys
/w/helm/helm-types hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-types
/w/helm/helm-elisp hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-elisp
/w/helm/helm-adaptive hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-adaptive
/w/helm/helm-shell hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-shell
/w/helm/helm-id-utils hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-id-utils
/w/helm/helm-bookmark hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-bookmark
/w/helm/helm-mode hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-mode
/w/helm/helm-eshell hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-eshell
/w/helm/helm-dabbrev hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-dabbrev
/w/helm/helm-grep hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-grep
/w/helm/helm-color hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-color
/w/helm/helm-help hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-help
/w/helm/helm-buffers hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-buffers
/w/helm/helm-locate hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-locate
/w/helm/helm-tags hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-tags
/w/helm/helm-autoloads hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-autoloads
/w/helm/helm-info hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-info
/w/helm/helm-semantic hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-semantic
/w/helm/helm-config hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-config
/w/helm/helm-command hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-command
/w/helm/helm-utils hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-utils
/w/helm/helm-eval hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-eval
/w/helm/helm-for-files hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-for-files
/w/helm/helm-man hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-man
/w/helm/helm-multi-match hides
/home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm-multi-match
/w/helm/helm-lib hides
/home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm-lib
/w/helm/helm-source hides
/home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm-source
/w/helm/helm hides /home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm
/home/dc/.emacs.d/elpa/transient-20220717.1713/transient hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/transient
/w/org-mode/lisp/org-fold-core hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-fold-core
/w/org-mode/lisp/ob-haskell hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-haskell
/w/org-mode/lisp/org-plot hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-plot
/w/org-mode/lisp/ox-icalendar hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-icalendar
/w/org-mode/lisp/org-footnote hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-footnote
/w/org-mode/lisp/org-archive hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-archive
/w/org-mode/lisp/ob-exp hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-exp
/w/org-mode/lisp/ob-octave hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-octave
/w/org-mode/lisp/oc-natbib hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-natbib
/w/org-mode/lisp/org-num hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-num
/w/org-mode/lisp/ob-processing hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-processing
/w/org-mode/lisp/org-mouse hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-mouse
/w/org-mode/lisp/ob-core hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-core
/w/org-mode/lisp/ob-awk hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-awk
/w/org-mode/lisp/org-table hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-table
/w/org-mode/lisp/org-lint hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-lint
/w/org-mode/lisp/oc-basic hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-basic
/w/org-mode/lisp/ob-scheme hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-scheme
/w/org-mode/lisp/ox-latex hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-latex
/w/org-mode/lisp/org-loaddefs hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-loaddefs
/w/org-mode/lisp/ob-table hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-table
/w/org-mode/lisp/ob-shell hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-shell
/w/org-mode/lisp/org hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org
/w/org-mode/lisp/ol-man hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-man
/w/org-mode/lisp/ol-rmail hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-rmail
/w/org-mode/lisp/ox-man hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-man
/w/org-mode/lisp/org-cycle hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-cycle
/w/org-mode/lisp/org-datetree hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-datetree
/w/org-mode/lisp/ol-mhe hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-mhe
/w/org-mode/lisp/ob-css hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-css
/w/org-mode/lisp/org-fold hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-fold
/w/org-mode/lisp/ob-lilypond hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lilypond
/w/org-mode/lisp/ob-comint hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-comint
/w/org-mode/lisp/ob-plantuml hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-plantuml
/w/org-mode/lisp/ol-bbdb hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-bbdb
/w/org-mode/lisp/ox-ascii hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-ascii
/w/org-mode/lisp/ob-python hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-python
/w/org-mode/lisp/ob-ref hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ref
/w/org-mode/lisp/ob-js hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-js
/w/org-mode/lisp/ox-md hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-md
/w/org-mode/lisp/oc hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc
/w/org-mode/lisp/org-keys hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-keys
/w/org-mode/lisp/org-feed hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-feed
/w/org-mode/lisp/org-capture hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-capture
/w/org-mode/lisp/org-ctags hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-ctags
/w/org-mode/lisp/ob-lob hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lob
/w/org-mode/lisp/ob-forth hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-forth
/w/org-mode/lisp/ob-clojure hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-clojure
/w/org-mode/lisp/ob-sass hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sass
/w/org-mode/lisp/ol-eshell hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-eshell
/w/org-mode/lisp/org-timer hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-timer
/w/org-mode/lisp/ob-R hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-R
/w/org-mode/lisp/org-src hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-src
/w/org-mode/lisp/ox-koma-letter hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-koma-letter
/w/org-mode/lisp/ob-tangle hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-tangle
/w/org-mode/lisp/ob-matlab hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-matlab
/w/org-mode/lisp/org-macro hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-macro
/w/org-mode/lisp/ob-makefile hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-makefile
/w/org-mode/lisp/ox-texinfo hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-texinfo
/w/org-mode/lisp/ob-org hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-org
/w/org-mode/lisp/ol-docview hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-docview
/w/org-mode/lisp/org-list hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-list
/w/org-mode/lisp/ob-eval hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-eval
/w/org-mode/lisp/org-element hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-element
/w/org-mode/lisp/ob hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob
/w/org-mode/lisp/ob-sqlite hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sqlite
/w/org-mode/lisp/org-clock hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-clock
/w/org-mode/lisp/org-compat hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-compat
/w/org-mode/lisp/org-mobile hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-mobile
/w/org-mode/lisp/ol hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol
/w/org-mode/lisp/ob-groovy hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-groovy
/w/org-mode/lisp/org-goto hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-goto
/w/org-mode/lisp/ob-emacs-lisp hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-emacs-lisp
/w/org-mode/lisp/ol-eww hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-eww
/w/org-mode/lisp/org-tempo hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-tempo
/w/org-mode/lisp/oc-csl hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-csl
/w/org-mode/lisp/ob-ruby hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ruby
/w/org-mode/lisp/org-crypt hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-crypt
/w/org-mode/lisp/ol-irc hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-irc
/w/org-mode/lisp/org-faces hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-faces
/w/org-mode/lisp/ob-latex hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-latex
/w/org-mode/lisp/org-colview hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-colview
/w/org-mode/lisp/ol-bibtex hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-bibtex
/w/org-mode/lisp/ob-lua hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lua
/w/org-mode/lisp/org-protocol hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-protocol
/w/org-mode/lisp/org-attach-git hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-attach-git
/w/org-mode/lisp/ob-screen hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-screen
/w/org-mode/lisp/org-agenda hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-agenda
/w/org-mode/lisp/org-persist hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-persist
/w/org-mode/lisp/ob-sql hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sql
/w/org-mode/lisp/ob-gnuplot hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-gnuplot
/w/org-mode/lisp/ob-sed hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sed
/w/org-mode/lisp/ol-gnus hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-gnus
/w/org-mode/lisp/org-inlinetask hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-inlinetask
/w/org-mode/lisp/ox-html hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-html
/w/org-mode/lisp/oc-biblatex hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-biblatex
/w/org-mode/lisp/org-pcomplete hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-pcomplete
/w/org-mode/lisp/ob-perl hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-perl
/w/org-mode/lisp/org-version hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-version
/w/org-mode/lisp/org-indent hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-indent
/w/org-mode/lisp/org-refile hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-refile
/w/org-mode/lisp/ob-julia hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-julia
/w/org-mode/lisp/ol-info hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-info
/w/org-mode/lisp/ol-doi hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-doi
/w/org-mode/lisp/org-habit hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-habit
/w/org-mode/lisp/org-entities hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-entities
/w/org-mode/lisp/ox-publish hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-publish
/w/org-mode/lisp/org-duration hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-duration
/w/org-mode/lisp/ob-ditaa hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ditaa
/w/org-mode/lisp/ob-dot hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-dot
/w/org-mode/lisp/ob-C hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-C
/w/org-mode/lisp/ox-org hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-org
/w/org-mode/lisp/ox-beamer hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-beamer
/w/org-mode/lisp/ob-fortran hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-fortran
/w/org-mode/lisp/ob-maxima hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-maxima
/w/org-mode/lisp/ob-eshell hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-eshell
/w/org-mode/lisp/ol-w3m hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-w3m
/w/org-mode/lisp/org-id hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-id
/w/org-mode/lisp/ox-odt hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-odt
/w/org-mode/lisp/ob-java hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-java
/w/org-mode/lisp/ob-calc hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-calc
/w/org-mode/lisp/org-attach hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-attach
/w/org-mode/lisp/ob-ocaml hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ocaml
/w/org-mode/lisp/oc-bibtex hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-bibtex
/w/org-mode/lisp/ox hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox
/w/org-mode/lisp/ob-lisp hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lisp
/w/org-mode/lisp/org-macs hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-macs
/w/flim/sasl hides /opt/dc/emacs/share/emacs/30.0.50/lisp/net/sasl
/home/dc/.emacs.d/elpa/hierarchy-20190425.842/hierarchy hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/emacs-lisp/hierarchy

Features:
(shadow elmo-multi modb-standard elmo-maildir emacsbug winner tramp-archive
tramp-gvfs dired-aux
xterm-keybinder xt-mouse term/rxvt term/xterm xterm hideshow ox-texinfo
erc-track erc-services
erc-ring erc-netsplit erc-menu erc-match erc-goodies erc-pcomplete
erc-button erc-fill erc-stamp
erc-join erc erc-backend erc-networks erc-common erc-compat erc-loaddefs
quail rot13 git-link
nukneval bustrofedon dired-filetype-face dired-tar gnus-dired dired-x
mime-w3m w3m-lnum w3m w3m-hist
bookmark-w3m w3m-ems w3m-favicon w3m-image w3m-fb tab-line w3m-proc
w3m-util savehist tramp-cache
time-stamp tramp-sh recentf tree-widget em-term term ehelp esh-ext esh-opt
esh-io esh-arg esh-module
esh-groups esh-util zone-select zone org-location-google-maps google-maps
google-maps-static
google-maps-geocode google-maps-base beancount binview calc calc-loaddefs
calc-macs hexl
taskjuggler-mode generic generic-x boxquote rect rainbow-delimiters
rainbow-mode htmlize-hack
htmlize log4j-mode oddmuse skeleton doc-view jka-compr fc flashcard-sm5
flashcard keywiz gamegrid
tt-mode helm-mode helm-misc helm-for-files helm-bookmark helm-adaptive
magit-bookmark bookmark
fringe helm-external helm-sys helm-net helm-man helm-color helm-elisp
helm-files image-dired
image-dired-tags image-dired-external image-dired-util image-mode exif
tramp trampver
tramp-integration files-x tramp-message tramp-compat tramp-loaddefs
helm-buffers helm-occur
helm-tags helm-locate helm-grep helm-regexp helm-info helm-utils helm-types
helm-eval edebug
helm-help helm helm-global-bindings helm-easymenu helm-core async-bytecomp
helm-source
helm-multi-match helm-lib async helm-config helm-autoloads diary-lib
diary-loaddefs magit-submodule
magit-obsolete magit-blame magit-stash magit-reflog magit-bisect magit-push
magit-pull magit-fetch
magit-clone magit-remote magit-commit magit-sequence magit-notes
magit-worktree magit-tag
magit-merge magit-branch magit-reset magit-files magit-refs magit-status
magit magit-repos
magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode
diff diff-mode track-changes
git-commit log-edit pcvs-util add-log magit-core magit-autorevert
autorevert filenotify magit-margin
magit-transient magit-process with-editor server magit-mode transient
magit-git magit-base
magit-section dash chuck-mode minizinc-mode jdecomp arc-mode archive-mode
cus-edit cus-load
projectile lisp-mnt ibuf-ext semantic/dep srecode/mode semantic/senator
semantic/wisent
semantic/wisent/wisent srecode/insert srecode/filters srecode/args
ede/speedbar ede/files ede
ede/detect ede/base ede/auto ede/source eieio-speedbar speedbar dframe
eieio-custom srecode/find
srecode/map srecode/ctxt srecode/compile srecode/dictionary srecode/fields
srecode/table
semantic/decorate/mode semantic/decorate pulse srecode semantic/db-mode
semantic/idle
semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn
semantic/db eieio-base
semantic/format ezimage semantic/tag-ls semantic/find semantic/ctxt
semantic/util-modes
semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local
cedet rcirc offlineimap
sasl-xoauth2 oauth2 url-http url-auth url-gw nsm plstore crm wl-template
wl-fldmgr wl-score wl-demo
wl-thread wl-action wl wl-draft wl-folder elmo-nntp elmo-net elmo-cache
elmo-map elmo-dop ps-print
ps-print-loaddefs lpr elmo-filter wl-summary wl-refile wl-message wl-mime
mime-play filename
mime-edit mime-setup mail-mime-setup semi-setup smtp wl-e21 wl-highlight
invisible inv-23 elmo-mime
mmelmo-buffer mmelmo-imap mmimap mmbuffer mime-view mime-conf calist
semi-def wl-address pldap
wl-util wl-vars wl-version modb-generic elmo-flag elmo-localdir elmo
elmo-signal elmo-msgdb modb
modb-entity elmo-date eword-encode mime-parse mime mmgeneric elmo-util
eword-decode mel mime-def
alist pces pces-e20 pces-20 mcs-e20 mcs-20 mcharset timezone elmo-vars
path-util elmo-version luna
std11 pccl pccl-20 ccl broken static apel-ver product jabber
jabber-truncate jabber-time
jabber-autoaway jabber-vcard-avatars jabber-chatstates jabber-events
jabber-vcard jabber-avatar
jabber-activity jabber-watch jabber-modeline jabber-ahc-presence jabber-ahc
jabber-version
jabber-ourversion jabber-muc-nick-completion hippie-exp jabber-browse
jabber-search jabber-register
jabber-roster jabber-presence jabber-muc jabber-bookmarks jabber-private
jabber-muc-nick-coloring
jabber-widget jabber-disco jabber-chat jabber-history jabber-chatbuffer
jabber-alert jabber-iq
jabber-core jabber-console sgml-mode facemenu jabber-keymap jabber-sasl
sasl sasl-anonymous
sasl-login sasl-plain fsm jabber-logon jabber-conn srv dns starttls tls
jabber-xml jabber-menu
jabber-util goto-addr hexrgb markdown-mode color thingatpt yasnippet
org-contacts gnus-art mm-uu
mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku
url-file svg dom
gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail
mail-source utf7 nnoo
parse-time iso8601 gnus-spec gnus-int gnus-range message sendmail
yank-media puny dired dnd
dired-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode
mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils
mailheader gnus-win gnus nnheader
mail-utils range mm-util mail-prsvr gnus-util org-crypt ob-sqlite ob-sql
ob-shell shell ob-ruby
ob-python python project compat ob-plantuml ob-perl ob-lilypond ob-js
ob-haskell ob-gnuplot ox-odt
rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse
nxml-ns nxml-enc xmltok
nxml-util ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox ob-dot
ob-ditaa ob-C cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs ob-R org-attach
org-protocol iimage org-clock calfw-gcal calfw-org org-capture org-agenda
calfw edmacro kmacro
holidays holiday-loaddefs cal-move org-inlinetask org-superstar org-element
org-persist xdg avl-tree
generator org-test ert-x ert pp ewoc debug backtrace org-id org-refile
org-element-ast inline org ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie
treesit executable
ob-comint org-pcomplete pcomplete org-list org-footnote org-faces
org-entities time-date noutline
outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold
org-fold-core org-keys oc
org-loaddefs find-func cal-menu calendar cal-loaddefs org-version
org-compat org-macs format-spec
ibuf-macs ibuffer ibuffer-loaddefs mb-depth comp comp-cstr warnings
comp-run comp-common rx advice
mwheel easy-mmode so-long longlines grep compile text-property-search
comint regexp-opt ansi-osc
ansi-color ring revbufs derived disp-table hide-mode-line time image
hl-line color-theme wid-edit
reporter xclip finder-inf elp boxquote-autoloads calfw-autoloads
calfw-gcal-autoloads
calfw-ical-autoloads calfw-org-autoloads csv-mode-autoloads
debbugs-autoloads emacsql-psql-autoloads
emacsql-autoloads emmet-mode-autoloads feature-mode-autoloads
git-link-autoloads gnuplot-autoloads
google-translate-autoloads haskell-mode-autoloads cl-extra help-mode
helm-sql-connect-autoloads
jabber-autoloads fsm-autoloads jdecomp-autoloads jedi-autoloads
jedi-core-autoloads
jinja2-mode-autoloads json-reformat-autoloads jsonian-autoloads
magit-autoloads pcase
git-commit-autoloads magit-section-autoloads mingus-autoloads
libmpdee-autoloads
mmm-jinja2-autoloads mmm-mode-autoloads oauth2-autoloads
org-superstar-autoloads persist-autoloads
projectile-autoloads python-environment-autoloads rcirc-color-autoloads
srv-autoloads cl
terraform-mode-autoloads tmr-autoloads transient-autoloads
typescript-mode-autoloads
vimrc-mode-autoloads vue-html-mode-autoloads with-editor-autoloads
xclip-autoloads
xterm-keybinder-autoloads yasnippet-autoloads zone-nyan-autoloads info
tool-bar dash-autoloads
package browse-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio
eieio-core cl-macs icons password-cache json subr-x map byte-opt gv
bytecomp byte-compile url-vars
cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode tabulated-list replace newcomment text-mode
lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select mouse
jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine 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 emoji-zwj
charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray
oclosure cl-preloaded
button loaddefs theme-loaddefs faces cus-face macroexp files window
text-properties overlay sha1 md5
base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads
inotify lcms2 multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 1143330 130840) (symbols 48 68999 14) (strings 32 271738 11137)
(string-bytes 1 9717243)
 (vectors 16 106026) (vector-slots 8 1225249 27804) (floats 8 1162 13326)
(intervals 56 3169 221)
 (buffers 984 16))

[-- Attachment #2: Type: text/html, Size: 43875 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#71177: 30.0.50; crash when opening and closing many TTY frames in succession
  2024-05-24 17:47 bug#71177: 30.0.50; crash when opening and closing many TTY frames in succession Daniel Clemente
@ 2024-05-24 19:31 ` Eli Zaretskii
  2024-05-25  0:37   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2024-05-24 19:31 UTC (permalink / raw)
  To: Daniel Clemente; +Cc: 71177

> From: Daniel Clemente <n142857@gmail.com>
> Date: Fri, 24 May 2024 17:47:27 +0000
> 
> Emacs compiled without X.
> I can launch a new emacsclient with a keypress and I can kill it with another keypress.
> I held down the key to launch many emacsclient (around 20), then killed them, then launched a few more,
> killed them, … Less than 10 seconds of this behaviour are enough to crash the server.
> This doesn't happen during normal usage. I was intentionally trying to find the bug. I don't expect  the daemon
> to crash only by opening/closing frames.
> The command I run to launch the emacsclient is:  emacsclient -c -e "(progn (dired "~"))"
> I use rxvt-unicode.
> 
> Program received signal SIGPIPE, Broken pipe.

I think it crashes because of this SIGPIPE.  I hope some Unix expert
will be able to explain why Emacs gets get SIGPIPE in this scenario.
Perhaps because you kill emacsclient too quickly?

It might help if you post the details of how you "launch a new
emacsclient with a keypress and kill it with another keypress".  IOW,
please describe the recipe to reproduce the problem starting from
"emacs -Q -nw --daemon".

Thanks.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#71177: 30.0.50; crash when opening and closing many TTY frames in succession
  2024-05-24 19:31 ` Eli Zaretskii
@ 2024-05-25  0:37   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-05-25 11:04     ` Daniel Clemente
  0 siblings, 1 reply; 5+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-05-25  0:37 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 71177, Daniel Clemente

Eli Zaretskii <eliz@gnu.org> writes:

> I think it crashes because of this SIGPIPE.  I hope some Unix expert
> will be able to explain why Emacs gets get SIGPIPE in this scenario.
> Perhaps because you kill emacsclient too quickly?

That's a red herring.  It's because Daniel is running Emacs under GDB
that his backtrace ends with a SIGPIPE, while the backtrace for the
crash lies elsewhere.

  (gdb) handle SIGPIPE noprint pass

is probably in order, I suspect.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#71177: 30.0.50; crash when opening and closing many TTY frames in succession
  2024-05-25  0:37   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-05-25 11:04     ` Daniel Clemente
  2024-05-25 12:43       ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Clemente @ 2024-05-25 11:04 UTC (permalink / raw)
  To: Po Lu; +Cc: 71177, Eli Zaretskii

[-- Attachment #1: Type: text/plain, Size: 1632 bytes --]

> That's a red herring.  It's because Daniel is running Emacs under GDB
> that his backtrace ends with a SIGPIPE, while the backtrace for the
> crash lies elsewhere.

True, this was a SIGPIPE (still not a crash), and gdb was stopping here. By
running "cont" I could make it continue.
After running "handle SIGPIPE noprint pass", and continuing the same
behaviour for ~30 seconds, I saw the real crash (SIGSEGV).

The cause of the crash is the other bug I reported, bug#71176
(tty-set-up-initial-frame-faces, face_at_buffer_position, default_face =
0x0), so I posted the new backtrace there.

So in here we just discovered that opening+closing frames is a way to
reproduce bug#71176, but I think the bug is 71176 and this one can be
closed.


> It might help if you post the details of how you "launch a new
> emacsclient with a keypress and kill it with another keypress".  IOW,
> please describe the recipe to reproduce the problem starting from
> "emacs -Q -nw --daemon".

I found a simpler formula, by launching and killing emasclient in a bash
loop. Details at bug#71176.



On Sat, 25 May 2024 at 00:37, Po Lu <luangruo@yahoo.com> wrote:

> Eli Zaretskii <eliz@gnu.org> writes:
>
> > I think it crashes because of this SIGPIPE.  I hope some Unix expert
> > will be able to explain why Emacs gets get SIGPIPE in this scenario.
> > Perhaps because you kill emacsclient too quickly?
>
> That's a red herring.  It's because Daniel is running Emacs under GDB
> that his backtrace ends with a SIGPIPE, while the backtrace for the
> crash lies elsewhere.
>
>   (gdb) handle SIGPIPE noprint pass
>
> is probably in order, I suspect.
>

[-- Attachment #2: Type: text/html, Size: 2337 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#71177: 30.0.50; crash when opening and closing many TTY frames in succession
  2024-05-25 11:04     ` Daniel Clemente
@ 2024-05-25 12:43       ` Eli Zaretskii
  0 siblings, 0 replies; 5+ messages in thread
From: Eli Zaretskii @ 2024-05-25 12:43 UTC (permalink / raw)
  To: Daniel Clemente; +Cc: luangruo, 71177

merge 71177 71176
thanks

> From: Daniel Clemente <n142857@gmail.com>
> Date: Sat, 25 May 2024 11:04:39 +0000
> Cc: Eli Zaretskii <eliz@gnu.org>, 71177@debbugs.gnu.org
> 
> > That's a red herring.  It's because Daniel is running Emacs under GDB
> > that his backtrace ends with a SIGPIPE, while the backtrace for the
> > crash lies elsewhere.
> 
> True, this was a SIGPIPE (still not a crash), and gdb was stopping here. By running "cont" I could make it
> continue.
> After running "handle SIGPIPE noprint pass", and continuing the same behaviour for ~30 seconds, I saw the
> real crash (SIGSEGV).
> 
> The cause of the crash is the other bug I reported, bug#71176 (tty-set-up-initial-frame-faces,
> face_at_buffer_position, default_face = 0x0), so I posted the new backtrace there.
> 
> So in here we just discovered that opening+closing frames is a way to reproduce bug#71176, but I think the
> bug is 71176 and this one can be closed.

OK, I'm merging them.





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-05-25 12:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-24 17:47 bug#71177: 30.0.50; crash when opening and closing many TTY frames in succession Daniel Clemente
2024-05-24 19:31 ` Eli Zaretskii
2024-05-25  0:37   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-25 11:04     ` Daniel Clemente
2024-05-25 12:43       ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).