emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#71223: closed (30.0.50; stack overflow after very fast opening and c


From: GNU bug Tracking System
Subject: bug#71223: closed (30.0.50; stack overflow after very fast opening and closing of frames)
Date: Thu, 30 May 2024 22:40:02 +0000

Your message dated Thu, 30 May 2024 18:39:02 -0400
with message-id <jwv5xuvnd77.fsf-monnier+emacs@gnu.org>
and subject line Re: bug#71223: 30.0.50; stack overflow after very fast opening 
and closing of frames
has caused the debbugs.gnu.org bug report #71223,
regarding 30.0.50; stack overflow after very fast opening and closing of frames
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
71223: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71223
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: 30.0.50; stack overflow after very fast opening and closing of frames Date: Mon, 27 May 2024 11:01:15 +0000
To reproduce bug#71176 I did a loop that constantly opens and closes new frames, for e.g. 300 seconds:

for j in `seq 300`; do for i in `seq 10`; do urxvt -e emacsclient '-nw' '-e' '(dired "~")' &; done; sleep 1 && killall emacsclient; done

I'm using TTY emacsclient (no X support).
The daemon was run with: emacs --fg-daemon -Q
I'm running inside gdb, and ignoring SIGPIPE with: handle SIGPIPE noprint pass
The part in the command that opens dired isn't significant.


After 1.5 or 2 minutes running that for-loop, there's consistenly a stack overflow.

Copying a comment from Eli from bug#71176:

> I think it's indeed a different issue -- if it is an issue at all:
> after all "Lisp nesting exceeds ‘max-lisp-eval-depth’" is not a crash,
> just a Lisp error, and it follows a use pattern that is, let's say,
> not very interesting.  What I see is that Emacs recursively calls
> functions that read from a client process, which most probably is
> called by the error recovery of server.el when you kill client frames.
> The error recovery code includes some wait functions that are intended
> to let the user see the error messages, and making that possible is
> much more important for us than avoiding Lisp nesting in scenarios
> like this one.


I also think this may not be an issue. Unless it affects something more important.

The only argument I have to make opening+closing frames fast is that otherwise this makes testing other bugs harder. For instance in bug#71176 I needed to open+close frames for long periods of time, and I would prefer if it's possible to do it for 5 minutes instead of seeing unrelated errors after just 2 minutes.


While trying to reproduce this, I also found a SIGSEGV (see the next bug report).
The fact that we have the stack overflow here means that reproducing the SIGSEGV (in next bug report) is much harder, because we'll see the stack overflow first.



process server <1083> no longer connected to pipe; closed it
process server <1084> no longer connected to pipe; closed it
process server <1085> no longer connected to pipe; closed it
process server <1086> no longer connected to pipe; closed it
process server <1092> no longer connected to pipe; closed it
process server <1093> no longer connected to pipe; closed it
process server <1094> no longer connected to pipe; closed it
process server <1095> no longer connected to pipe; closed it
process server <1096> no longer connected to pipe; closed it
Lisp nesting exceeds ‘max-lisp-eval-depth’: 1601
error in process sentinel: Lisp nesting exceeds `max-lisp-eval-depth': 1601
error in process filter: Lisp nesting exceeds `max-lisp-eval-depth': 1601
error in process sentinel: Lisp nesting exceeds `max-lisp-eval-depth': 1601
error in process filter: Lisp nesting exceeds `max-lisp-eval-depth': 1601
error in process sentinel: Lisp nesting exceeds `max-lisp-eval-depth': 1601
^Z
Program received signal SIGTSTP, Stopped (user).
pselect64_syscall (sigmask=0x0, timeout=<optimized out>, exceptfds=0x0, writefds=0x7fffffaf69b0, readfds=0x7fffffaf6a30, nfds=11)
    at ../sysdeps/unix/sysv/linux/pselect.c:34
34 ../sysdeps/unix/sysv/linux/pselect.c: No such file or directory.

(gdb) xbacktrace
"sit-for" (0xffb4abf8)
"server-return-error" (0xffb4adc0)
"server-process-filter" (0xffb4b018)
"sit-for" (0xffb4d108)
"server-return-error" (0xffb4d2d0)
"server-process-filter" (0xffb4d528)
"sit-for" (0xffb4f618)
"server-return-error" (0xffb4f7e0)
"server-process-filter" (0xffb4fa38)
"sit-for" (0xffb51b28)
"server-return-error" (0xffb51cf0)
"server-process-filter" (0xffb51f48)
"sit-for" (0xffb54038)
"server-return-error" (0xffb54200)
"server-process-filter" (0xffb54458)
"sit-for" (0xffb56548)
"server-return-error" (0xffb56710)
"server-process-filter" (0xffb56968)
"sit-for" (0xffb58a58)
[…]

(gdb) bt
#0  pselect64_syscall (sigmask=0x0, timeout=<optimized out>, exceptfds=0x0, writefds=0x7fffffaf69b0, readfds=0x7fffffaf6a30, nfds=11)
    at ../sysdeps/unix/sysv/linux/pselect.c:34
#1  __pselect (nfds=11, readfds=0x7fffffaf6a30, writefds=0x7fffffaf69b0, exceptfds=0x0, timeout=<optimized out>, sigmask=0x0)
    at ../sysdeps/unix/sysv/linux/pselect.c:56
#2  0x00005555557de64a in really_call_select (arg=0x7fffffaf6770) at thread.c:624
#3  0x00005555556ff527 in flush_stack_call_func1 (func=0x5555557de5b0 <really_call_select>, arg=0x7fffffaf6770) at alloc.c:5534
#4  0x00005555557dda67 in flush_stack_call_func (func=0x5555557de5b0 <really_call_select>, arg=0x7fffffaf6770) at /w/emacs/src/lisp.h:4507
#5  0x00005555557de705 in thread_select (func=0x7ffff551d980 <__pselect>, max_fds=11, rfds=0x7fffffaf6a30, wfds=0x7fffffaf69b0, efds=0x0,
    timeout=0x7fffffaf6990, sigmask=0x0) at thread.c:656
#6  0x00005555557a8c3c in wait_reading_process_output (time_limit=1, nsecs=0, read_kbd=0, do_display=false, wait_for_cell=XIL(0), wait_proc=0x0,
    just_wait_proc=0) at process.c:5752
#7  0x0000555555592512 in Fsleep_for (seconds=make_fixnum(1), milliseconds=XIL(0)) at dispnew.c:6231
#8  0x00005555557accee in exec_sentinel_error_handler (error_val=XIL(0x7ffff0061a33)) at process.c:7619
#9  0x0000555555732f74 in internal_condition_case_1 (bfun=0x5555557a9b01 <read_process_output_call>, arg=XIL(0x7ffff0061a53), handlers=XIL(0x90),
    hfun=0x5555557acc4d <exec_sentinel_error_handler>) at eval.c:1633
#10 0x00005555557ace83 in exec_sentinel (proc=XIL(0x55555769ec95), reason=XIL(0x555557117d74)) at process.c:7669
#11 0x00005555557ad103 in status_notify (deleting_process=0x0, wait_proc=0x0) at process.c:7761
#12 0x00005555557a8399 in wait_reading_process_output (time_limit=1, nsecs=0, read_kbd=0, do_display=false, wait_for_cell=XIL(0), wait_proc=0x0,
    just_wait_proc=0) at process.c:5493
#13 0x0000555555592512 in Fsleep_for (seconds=make_fixnum(1), milliseconds=XIL(0)) at dispnew.c:6231
#14 0x00005555557accee in exec_sentinel_error_handler (error_val=XIL(0x7ffff0084a43)) at process.c:7619
#15 0x0000555555732f74 in internal_condition_case_1 (bfun=0x5555557a9b01 <read_process_output_call>, arg=XIL(0x7ffff0084a63), handlers=XIL(0x90),
    hfun=0x5555557acc4d <exec_sentinel_error_handler>) at eval.c:1633
#16 0x00005555557ace83 in exec_sentinel (proc=XIL(0x555557889d1d), reason=XIL(0x555557090bd4)) at process.c:7669
#17 0x00005555557ad103 in status_notify (deleting_process=0x0, wait_proc=0x0) at process.c:7761
#18 0x00005555557a8399 in wait_reading_process_output (time_limit=1, nsecs=0, read_kbd=0, do_display=false, wait_for_cell=XIL(0), wait_proc=0x0,
    just_wait_proc=0) at process.c:5493
#19 0x0000555555592512 in Fsleep_for (seconds=make_fixnum(1), milliseconds=XIL(0)) at dispnew.c:6231
#20 0x00005555557accee in exec_sentinel_error_handler (error_val=XIL(0x7ffff0085703)) at process.c:7619
#21 0x0000555555732f74 in internal_condition_case_1 (bfun=0x5555557a9b01 <read_process_output_call>, arg=XIL(0x7ffff0085723), handlers=XIL(0x90),
    hfun=0x5555557acc4d <exec_sentinel_error_handler>) at eval.c:1633
#22 0x00005555557ace83 in exec_sentinel (proc=XIL(0x55555788a02d), reason=XIL(0x55555708d514)) at process.c:7669
#23 0x00005555557ad103 in status_notify (deleting_process=0x0, wait_proc=0x0) at process.c:7761
#24 0x00005555557a8399 in wait_reading_process_output (time_limit=1, nsecs=0, read_kbd=0, do_display=false, wait_for_cell=XIL(0), wait_proc=0x0,
    just_wait_proc=0) at process.c:5493
#25 0x0000555555592512 in Fsleep_for (seconds=make_fixnum(1), milliseconds=XIL(0)) at dispnew.c:6231
#26 0x00005555557accee in exec_sentinel_error_handler (error_val=XIL(0x7ffff0085db3)) at process.c:7619
#27 0x0000555555732f74 in internal_condition_case_1 (bfun=0x5555557a9b01 <read_process_output_call>, arg=XIL(0x7ffff0085dd3), handlers=XIL(0x90),
    hfun=0x5555557acc4d <exec_sentinel_error_handler>) at eval.c:1633
#28 0x00005555557ace83 in exec_sentinel (proc=XIL(0x55555788a1b5), reason=XIL(0x55555708cf84)) at process.c:7669
#29 0x00005555557ad103 in status_notify (deleting_process=0x0, wait_proc=0x0) at process.c:7761
#30 0x00005555557a8399 in wait_reading_process_output (time_limit=1, nsecs=0, read_kbd=0, do_display=false, wait_for_cell=XIL(0), wait_proc=0x0,
    just_wait_proc=0) at process.c:5493
#31 0x0000555555592512 in Fsleep_for (seconds=make_fixnum(1), milliseconds=XIL(0)) at dispnew.c:6231
#32 0x00005555557accee in exec_sentinel_error_handler (error_val=XIL(0x7ffff0086443)) at process.c:7619
#33 0x0000555555732f74 in internal_condition_case_1 (bfun=0x5555557a9b01 <read_process_output_call>, arg=XIL(0x7ffff0086463), handlers=XIL(0x90),
    hfun=0x5555557acc4d <exec_sentinel_error_handler>) at eval.c:1633
#34 0x00005555557ace83 in exec_sentinel (proc=XIL(0x55555788a33d), reason=XIL(0x55555708cb54)) at process.c:7669
#35 0x00005555557ad103 in status_notify (deleting_process=0x0, wait_proc=0x0) at process.c:7761
#36 0x00005555557a8399 in wait_reading_process_output (time_limit=1, nsecs=0, read_kbd=0, do_display=false, wait_for_cell=XIL(0), wait_proc=0x0,
    just_wait_proc=0) at process.c:5493
#37 0x0000555555592512 in Fsleep_for (seconds=make_fixnum(1), milliseconds=XIL(0)) at dispnew.c:6231
#38 0x00005555557accee in exec_sentinel_error_handler (error_val=XIL(0x7ffff0086bb3)) at process.c:7619
#39 0x0000555555732f74 in internal_condition_case_1 (bfun=0x5555557a9b01 <read_process_output_call>, arg=XIL(0x7ffff0086bd3), handlers=XIL(0x90),
    hfun=0x5555557acc4d <exec_sentinel_error_handler>) at eval.c:1633
#40 0x00005555557ace83 in exec_sentinel (proc=XIL(0x55555788a4c5), reason=XIL(0x55555708c744)) at process.c:7669
#41 0x00005555557ad103 in status_notify (deleting_process=0x0, wait_proc=0x0) at process.c:7761
#42 0x00005555557a8399 in wait_reading_process_output (time_limit=1, nsecs=0, read_kbd=0, do_display=false, wait_for_cell=XIL(0), wait_proc=0x0,
    just_wait_proc=0) at process.c:5493
#43 0x0000555555592512 in Fsleep_for (seconds=make_fixnum(1), milliseconds=XIL(0)) at dispnew.c:6231
#44 0x00005555557accee in exec_sentinel_error_handler (error_val=XIL(0x7ffff0087423)) at process.c:7619
--Type <RET> for more, q to quit, c to continue without paging--q
Quit
(gdb)




In GNU Emacs 30.0.50 (build 2, x86_64-pc-linux-gnu) of 2024-05-26 built on sonn
Repository revision: 74b8043e60dde6710d0ba413278c2cb36a84f8f2
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 --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 -O0''

Configured features:
GMP GNUTLS LCMS2 LIBSELINUX LIBXML2 MODULES 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: Lisp Interaction

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
  savehist-mode: t
  recentf-mode: t
  hexl-follow-ascii: t
  rainbow-delimiters-mode: t
  helm-mode: t
  helm-minibuffer-history-mode: t
  async-bytecomp-package-mode: t
  global-git-commit-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
  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
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  hs-minor-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
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-proc 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 1145811 147437) (symbols 48 69097 0) (strings 32 271363 11419) (string-bytes 1 9708056)
 (vectors 16 104712) (vector-slots 8 1200567 18616) (floats 8 1202 13512) (intervals 56 1226 57)
 (buffers 984 14))

--- End Message ---
--- Begin Message --- Subject: Re: bug#71223: 30.0.50; stack overflow after very fast opening and closing of frames Date: Thu, 30 May 2024 18:39:02 -0400 User-agent: Gnus/5.13 (Gnus v5.13)
OK, I think I understand the code well enough now that I'm confident my
current patch is an overall improvement, and pushed it to `master`.

I think the problem is not completely specific to server.el's process
filter, so it might be be worthwhile to add some more generic support
for this kind of situation (e.g. ways to force some process filters to
be run sequentially rather than in a nested fashion, as well as ways for
process filters to know if there's already more work pending so as to
better handle bursts of concurrent requests).  I also still have some
FIXMEs in the code (one for `server--message-sit-for` which I think
deserves to be better implemented and moved to core, and another for the
question of the 5s vs 1s).

But w.r.t this bug report, I think we're done, so I'm closing it.


        Stefan



--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]