all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#55371: 29.0.50; lock-up in redisplay_internal
@ 2022-05-11 15:08 Michael Welsh Duggan
  2022-05-11 16:08 ` Eli Zaretskii
  2022-05-12  0:26 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 9+ messages in thread
From: Michael Welsh Duggan @ 2022-05-11 15:08 UTC (permalink / raw)
  To: 55371

I wrote a dbus event watcher that triggers when my network connection
changes (for me, this is usually because I am switching to or from a
VPN).  As part of this, I call `gnus-close-all-servers` (this allows
gnus to reconnect to servers from its new network state).  In this
particular instance, this led to a chain of events that
redisplay_internal being called, from which Emacs became unresponsive.
As I was running Emacs from a debugger (to potentially debug a different
problem), I was able to send a TSTP signal, get a backtrace, and then
used "return -1" "c" to get back in a state where I could hit C-g a
couple of times and regain interactivity.

This was a random event that may be already solved in a later version,
and it may or may not be reproducible in the future, but I wanted to
send the backtrace now while I had one in case any part of it was
actually informative.

Backtrace follows Emacs info.

In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0)
 of 2022-04-09 built on miko
Repository revision: 75bdf15c2972e216a2c10a7562d96ad217192356
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101003
System Description: Debian GNU/Linux bookworm/sid

Configured using:
 'configure --without-toolkit-scroll-bars --with-x-toolkit=lucid
 --with-native-compilation --with-xinput2 'CFLAGS=-Og -ggdb''

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

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

Major mode: Text

Minor modes in effect:
  flyspell-mode: t
  display-time-mode: t
  magit-wip-initial-backup-mode: t
  magit-wip-before-change-mode: t
  magit-wip-after-apply-mode: t
  magit-wip-after-save-mode: t
  magit-wip-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  line-number-mode: t
  auto-fill-function: do-auto-fill
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/md5i/.config/emacs/elpa/transient-20220425.1314/transient hides /home/md5i/src/emacs/md5i/lisp/transient

Features:
(shadow emacsbug pcmpl-unix thai-util thai-word gnus-fun tramp-cache
tramp-sh sh-script smie executable image-mode exif shr-color jka-compr
flow-fill copyright time-stamp whitespace dabbrev markdown-mode color
mm-archive perl-mode tabify man grep misearch multi-isearch cmake-mode
rst magit-extras dired-aux mule-util sort gnus-cite mail-extr textsec
uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check
gnus-async gnus-bcklg qp gnus-ml disp-table gnus-topic cursor-sensor
nndraft nnmh nnfolder utf-7 epa-file network-stream gnus-agent gnus-srvr
gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view
mml-smime smime dig gnus-cache gnus-sum shr pixel-fill kinsoku url-file
url-dired svg gnus-demon nntp gnus-group gnus-undo gnutls gnus-start
gnus-dbus gnus-cloud gnus-spec gnus-win shortdoc help-fns radix-tree
quail goto-addr thingatpt vc-git vc-dispatcher bug-reference noutline
outline face-remap apropos flyspell ispell view pacproxy descr-text
tramp tramp-loaddefs trampver tramp-integration cus-edit pp cus-load
files-x tramp-compat parse-time iso8601 ls-lisp time sieve-manage sasl
sasl-anonymous sasl-login sasl-plain rng-loc rng-uri rng-parse rng-match
rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util
sgml-mode facemenu dom python ps-print ps-print-loaddefs ps-def lpr
picture nm dbus xml 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 easy-mmode git-commit log-edit pcvs-util add-log magit-core
magit-autorevert autorevert filenotify magit-margin magit-transient
magit-process with-editor shell pcomplete server magit-mode transient
comp comp-cstr warnings rx cl-extra edmacro kmacro help-mode magit-git
magit-base magit-section format-spec crm dash compat-27 compat-26 compat
nnimap nnmail gnus-int mail-source gnus-range message sendmail
yank-media rfc822 mml mml-sec epa mm-decode mm-bodies mm-encode
mailabbrev gmm-utils mailheader utf7 netrc nnoo gnus wid-edit nnheader
gnus-util time-date mail-utils range gnus-o365-oauth2 oauth2 url-http
url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr url-gw nsm rmc puny plstore generated generic-x epg rfc6068
epg-config ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help
ediff-init ediff-util dired-x dired dired-loaddefs compile
text-property-search comint ring ansi-color cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs derived
debian-el info 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 map url-vars seq gv subr-x byte-opt
bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc
paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode
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 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 nadvice simple 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 emoji-zwj charscript charprop
case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button 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 dbusbind
inotify lcms2 dynamic-setting system-font-setting font-render-setting
cairo x-toolkit xinput2 x multi-tty make-network-process native-compile
emacs)

Memory information:
((conses 16 18089905 287562)
 (symbols 48 33940 69)
 (strings 32 153793 36082)
 (string-bytes 1 4440184)
 (vectors 16 113803)
 (vector-slots 8 2456029 312523)
 (floats 8 1044 767)
 (intervals 56 2151093 3067)
 (buffers 992 106))

(gdb) bt full
#0  0x00007ffff3adb87f in __GI___poll (fds=0x7fffffff9c98, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
        sc_ret = -516
        sc_cancel_oldtype = 0
#1  0x00007ffff362ad02 in  () at /lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007ffff362d05a in xcb_wait_for_event ()
    at /lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007ffff79f10a8 in _XReadEvents () at /lib/x86_64-linux-gnu/libX11.so.6
#4  0x00007ffff79d8214 in XIfEvent () at /lib/x86_64-linux-gnu/libX11.so.6
#5  0x00007ffff7a211ef in  () at /lib/x86_64-linux-gnu/libX11.so.6
#6  0x00007ffff7a21ca2 in  () at /lib/x86_64-linux-gnu/libX11.so.6
#7  0x00007ffff7a21f1d in _XimRead () at /lib/x86_64-linux-gnu/libX11.so.6
#8  0x00007ffff7a10afb in  () at /lib/x86_64-linux-gnu/libX11.so.6
#9  0x00007ffff79fe4ad in XSetICValues () at /lib/x86_64-linux-gnu/libX11.so.6
#10 0x00005555556a3b19 in xic_set_preeditarea
    (w=<optimized out>, x=<optimized out>, y=<optimized out>)
    at ../../md5i/src/xfns.c:3050
        f = 0x55555a0fcd00
        attr = 0x555580c0cfd0
        spot = {
          x = 145,
          y = 239
        }
#11 0x0000555555683419 in x_draw_window_cursor
    (w=0x55555cde5c90, glyph_row=<optimized out>, x=120, y=221, cursor_type=<optimized out>, cursor_width=<optimized out>, on_p=<optimized out>, active_p=<optimized out>) at ../../md5i/src/xterm.c:18956
        f = 0x55555a0fcd00
#12 0x00005555555fae84 in display_and_set_cursor
    (w=w@entry=0x55555cde5c90, on=on@entry=true, hpos=15, vpos=13, x=120, y=221) at ../../md5i/src/xdisp.c:32670
        f = 0x55555a0fcd00
        new_cursor_type = 1
        new_cursor_width = 1
        active_cursor = false
        glyph_row = 0x5555782402d0
        glyph = <optimized out>
#13 0x00005555555a143a in gui_update_window_end
    (w=w@entry=0x55555cde5c90, cursor_on_p=cursor_on_p@entry=true, mouse_face_overwritten_p=false) at ../../md5i/src/dispnew.c:3849
        f = 0x55555a0fcd00
#14 0x00005555555a17ed in update_window
    (w=w@entry=0x55555cde5c90, force_p=<optimized out>, force_p@entry=true)
    at ../../md5i/src/dispnew.c:3777
        end = 0x555576987a40
        tab_line_row = <optimized out>
        mouse_face_overwritten_p = false
        n_updated = <optimized out>
        mode_line_row = 0x555576987a40
        changed_p = false
        invisible_rows_marked = <optimized out>
        row = <optimized out>
        header_line_row = <optimized out>
        yb = <optimized out>
        desired_matrix = 0x555574a96860
        paused_p = false
        rif = <optimized out>
#15 0x00005555555a199b in update_window_tree
    (w=0x55555cde5c90, force_p=force_p@entry=true)
    at ../../md5i/src/dispnew.c:3407
        paused_p = false
#16 0x00005555555a198b in update_window_tree
    (w=w@entry=0x55555ba9bca0, force_p=force_p@entry=true)
    at ../../md5i/src/dispnew.c:3405
        paused_p = false
#17 0x00005555555a1b41 in update_frame
    (f=f@entry=0x55555a0fcd00, force_p=true,     force_p@entry=false, inhibit_hairy_id_p=inhibit_hairy_id_p@entry=false)
    at ../../md5i/src/dispnew.c:3242
        paused_p = <optimized out>
        root_window = 0x55555ba9bca0
#18 0x00005555555f24d4 in redisplay_internal () at ../../md5i/src/xdisp.c:16605
        gcscrollbars = <optimized out>
        f_redisplay_flag = false
        f = 0x55555a0fcd00
        w = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
        sw = <optimized out>
        fr = <optimized out>
        pending = <optimized out>
        must_finish = <optimized out>
        match_p = <optimized out>
        tlbufpos = {
          charpos = <optimized out>,
          bytepos = <optimized out>
        }
        tlendpos = {
          charpos = <optimized out>,
          bytepos = <optimized out>
        }
        number_of_visible_frames = <optimized out>
        sf = <optimized out>
        polling_stopped_here = true
        tail = XIL(0x5555766796d3)
        frame = XIL(0x55555a0fcd05)
        hscroll_retries = <optimized out>
        garbaged_frame_retries = 0
        consider_all_windows_p = <optimized out>
        update_miniwindow_p = <optimized out>
#19 0x00005555555f2d4f in redisplay_preserve_echo_area (from_where=from_where@entry=13) at ../../md5i/src/xdisp.c:16874
#20 0x00005555557b0681 in Fdelete_process (process=XIL(0x55555bddb6fd)) at ../../md5i/src/process.c:1110
        p = 0x55555bddb6f8
#21 0x00007fffec147ae5 in F6e6e74702d6b696c6c2d627566666572_nntp_kill_buffer_0 () at /home/md5i/.config/emacs/eln-cache/29.0.50-05c91b39/nntp-c90d6652-2e0ea1cc.eln
#22 0x00005555557540eb in funcall_subr (subr=0x555555f854a8, numargs=numargs@entry=1, args=args@entry=0x7fffffffcb30) at ../../md5i/src/eval.c:2911
        argbuf = {make_fixnum(1), XIL(0x55555572b61b), XIL(0x1), make_fixnum(23456248540561), XIL(0x7fffffffcb08), XIL(0x555555762aa4), XIL(0x7fffffffca30), XIL(0x220)}
        a = <optimized out>
        fun = <optimized out>
#23 0x00005555557520d5 in funcall_general (fun=<optimized out>, numargs=numargs@entry=1, args=args@entry=0x7fffffffcb30) at ../../md5i/src/eval.c:2819
        original_fun = XIL(0x1c25ba0)
#24 0x0000555555752562 in Ffuncall (nargs=2, args=0x7fffffffcb28) at ../../md5i/src/eval.c:2873
        val = <optimized out>
#25 0x00007fffec14ef36 in F6e6e74702d636c6f73652d736572766572_nntp_close_server_0 () at /home/md5i/.config/emacs/eln-cache/29.0.50-05c91b39/nntp-c90d6652-2e0ea1cc.eln
#26 0x00005555557540fa in funcall_subr (subr=0x555557bc6128, numargs=numargs@entry=2, args=args@entry=0x7fffffffcc60) at ../../md5i/src/eval.c:2913
        argbuf = {XIL(0x55555791c743), XIL(0xa8abe0), XIL(0), make_fixnum(0), XIL(0x7fffffffcc60), XIL(0x220), XIL(0), XIL(0x555555750025)}
        a = <optimized out>
        fun = <optimized out>
#27 0x00005555557520d5 in funcall_general (fun=<optimized out>, numargs=numargs@entry=2, args=args@entry=0x7fffffffcc60) at ../../md5i/src/eval.c:2819
        original_fun = XIL(0x1bcf820)
#28 0x0000555555752562 in Ffuncall (nargs=3, args=0x7fffffffcc58) at ../../md5i/src/eval.c:2873
        val = <optimized out>
#29 0x00007fffed1c9e66 in F676e75732d636c6f73652d736572766572_gnus_close_server_0 () at /home/md5i/.config/emacs/eln-cache/29.0.50-05c91b39/gnus-int-7bc862cf-34bc57b2.eln
#30 0x00005555557540eb in funcall_subr (subr=0x5555567bf668, numargs=numargs@entry=1, args=args@entry=0x7fffffffcdb8) at ../../md5i/src/eval.c:2911
        argbuf = {XIL(0x5555598a00f3), XIL(0x5555598a00e3), XIL(0x5555598a00d3), XIL(0x5555598a00c3), XIL(0x5555598a00b3), make_fixnum(23456248558792), XIL(0x5555598a0093), XIL(0x5555598a0083)}
        a = <optimized out>
        fun = <optimized out>
#31 0x00005555557520d5 in funcall_general (fun=<optimized out>, numargs=numargs@entry=1, args=args@entry=0x7fffffffcdb8) at ../../md5i/src/eval.c:2819
        original_fun = XIL(0xc8d520)
#32 0x0000555555752562 in Ffuncall (nargs=2, args=0x7fffffffcdb0) at ../../md5i/src/eval.c:2873
        val = <optimized out>
#33 0x00007fffec1b60ed in F676e75732d636c6f73652d616c6c2d73657276657273_gnus_close_all_servers_0 () at /home/md5i/.config/emacs/eln-cache/29.0.50-05c91b39/gnus-start-e3ba711c-9411c4e4.eln
#34 0x0000555555755496 in eval_sub (form=<optimized out>) at ../../md5i/src/eval.c:2379
        i = 0
        maxargs = 0
        args_left = XIL(0)
        numargs = 0
        original_fun = <optimized out>
        original_args = XIL(0)
        fun = XIL(0x555557ba6525)
        val = <optimized out>
        funcar = <optimized out>
        argvals = {XIL(0x7fffffffd018), XIL(0x55555575191c), XIL(0xb), XIL(0x2aaa99d28138), XIL(0), XIL(0x5555578d2b55), XIL(0x7fffec99e6a0), XIL(0x555555c71f60)}
#35 0x0000555555755cc6 in Fprogn (body=XIL(0)) at ../../md5i/src/eval.c:451
        form = <optimized out>
        val = XIL(0)
#36 0x0000555555754c40 in funcall_lambda (fun=XIL(0x555557912323), nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7fffffffd008) at ../../md5i/src/eval.c:3112
        val = <optimized out>
        syms_left = XIL(0)
        next = <optimized out>
        lexenv = XIL(0)
        i = 1
        optional = false
        rest = true
        previous_rest = false
#37 0x000055555575239d in funcall_general (fun=<optimized out>, numargs=numargs@entry=1, args=args@entry=0x7fffffffd008) at ../../md5i/src/eval.c:2835
        funcar = <optimized out>
        original_fun = XIL(0x19113a0)
#38 0x0000555555752562 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffd000) at ../../md5i/src/eval.c:2873
        val = <optimized out>
#39 0x00005555557530a1 in Fapply (nargs=2, args=0x7fffffffd000) at ../../md5i/src/eval.c:2507
        i = <optimized out>
        funcall_nargs = <optimized out>
        funcall_args = 0x0
        spread_arg = XIL(0x5555599ff9b3)
        fun = XIL(0x19113a0)
        sa_avail = 16384
        numargs = <optimized out>
        retval = <optimized out>
#40 0x00007fffec9a11ce in F6e6d2d2d68616e646c652d6e65772d636f6e6e656374696f6e_nm__handle_new_connection_0 () at /home/md5i/.config/emacs/eln-cache/29.0.50-05c91b39/nm-fc8ed4f3-3e0666f8.eln
#41 0x00005555557540eb in funcall_subr (subr=0x555556dbffc8, numargs=numargs@entry=1, args=args@entry=0x7fffffffd158) at ../../md5i/src/eval.c:2911
        argbuf = {XIL(0x7fffffffd0f0), make_fixnum(0), XIL(0), XIL(0x5555556ea638), XIL(0), XIL(0x55555576659c), XIL(0), XIL(0x55555574fec1)}
        a = <optimized out>
        fun = <optimized out>
#42 0x00005555557520d5 in funcall_general (fun=<optimized out>, numargs=numargs@entry=1, args=args@entry=0x7fffffffd158) at ../../md5i/src/eval.c:2819
        original_fun = XIL(0x133d010)
#43 0x0000555555752562 in Ffuncall (nargs=2, args=0x7fffffffd150) at ../../md5i/src/eval.c:2873
        val = <optimized out>
#44 0x00007fffec9a1493 in F6e6d2d2d68616e646c652d70726f706572746965732d6368616e6765642d7369676e616c_nm__handle_properties_changed_signal_0 () at /home/md5i/.config/emacs/eln-cache/29.0.50-05c91b39/nm-fc8ed4f3-3e0666f8.eln
#45 0x00005555557541be in funcall_subr (subr=0x555556dc0020, numargs=numargs@entry=3, args=args@entry=0x7fffffffd268) at ../../md5i/src/eval.c:2938
        fun = <optimized out>
#46 0x00005555557520d5 in funcall_general (fun=<optimized out>, numargs=numargs@entry=3, args=args@entry=0x7fffffffd268) at ../../md5i/src/eval.c:2819
        original_fun = XIL(0x133d0d0)
#47 0x0000555555752562 in Ffuncall (nargs=nargs@entry=4, args=args@entry=0x7fffffffd260) at ../../md5i/src/eval.c:2873
        val = <optimized out>
#48 0x00005555557532e5 in Fapply (nargs=<optimized out>, args=0x7fffffffd3e8) at ../../md5i/src/eval.c:2550
        i = 4
        funcall_nargs = 4
        funcall_args = 0x7fffffffd260
        spread_arg = XIL(0)
        fun = <optimized out>
        sa_avail = <optimized out>
        numargs = 3
        retval = <optimized out>
#49 0x00005555557541be in funcall_subr (subr=0x555555be1f80 <Sapply>, numargs=numargs@entry=2, args=args@entry=0x7fffffffd3e8) at ../../md5i/src/eval.c:2938
        fun = <optimized out>
#50 0x00005555557520d5 in funcall_general (fun=<optimized out>, numargs=numargs@entry=2, args=args@entry=0x7fffffffd3e8) at ../../md5i/src/eval.c:2819
        original_fun = XIL(0x2f40)
#51 0x0000555555752562 in Ffuncall (nargs=3, args=0x7fffffffd3e0) at ../../md5i/src/eval.c:2873
        val = <optimized out>
#52 0x00007fffec97754d in F646275732d68616e646c652d6576656e74_dbus_handle_event_0 () at /home/md5i/.config/emacs/eln-cache/29.0.50-05c91b39/dbus-f1406cab-d60fb3e3.eln
#53 0x00005555557540eb in funcall_subr (subr=0x555556efeb48, numargs=numargs@entry=1, args=args@entry=0x7fffffffd5e0) at ../../md5i/src/eval.c:2911
        argbuf = {XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0), XIL(0)}
        a = <optimized out>
        fun = <optimized out>
#54 0x00005555557520d5 in funcall_general (fun=<optimized out>, numargs=numargs@entry=1, args=args@entry=0x7fffffffd5e0) at ../../md5i/src/eval.c:2819
        original_fun = XIL(0x2aaa99a69510)
#55 0x0000555555752562 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffd5d8) at ../../md5i/src/eval.c:2873
        val = <optimized out>
#56 0x000055555574ca9e in Ffuncall_interactively (nargs=2, args=0x7fffffffd5d8) at ../../md5i/src/callint.c:260
#57 0x00005555557541be in funcall_subr (subr=0x555555be18c0 <Sfuncall_interactively>, numargs=numargs@entry=2, args=args@entry=0x7fffffffd5d8) at ../../md5i/src/eval.c:2938
        fun = <optimized out>
#58 0x00005555557520d5 in funcall_general (fun=<optimized out>, numargs=numargs@entry=2, args=args@entry=0x7fffffffd5d8) at ../../md5i/src/eval.c:2819
        original_fun = XIL(0x7a10)
#59 0x0000555555752562 in Ffuncall (nargs=nargs@entry=3, args=args@entry=0x7fffffffd5d0) at ../../md5i/src/eval.c:2873
        val = <optimized out>
#60 0x000055555574ec65 in Fcall_interactively (function=<optimized out>, record_flag=<optimized out>, keys=<optimized out>) at ../../md5i/src/callint.c:798
        arg_from_tty = false
        key_count = <optimized out>
        record_then_fail = <optimized out>
        save_this_command = <optimized out>
        save_this_original_command = <optimized out>
        save_real_this_command = <optimized out>
        save_last_command = <optimized out>
        prefix_arg = <optimized out>
        enable = <optimized out>
        up_event = XIL(0)
        form = <optimized out>
        specs = <optimized out>
        sa_avail = <optimized out>
        string_len = <optimized out>
        string = <optimized out>
        string_end = <optimized out>
        next_event = 1
        nargs = <optimized out>
        args = <optimized out>
        visargs = <optimized out>
        varies = <optimized out>
        tem = <optimized out>
        val = <optimized out>
#61 0x00007fffef2ea0c0 in F636f6d6d616e642d65786563757465_command_execute_0 () at /home/md5i/src/emacs/build/src/../native-lisp/29.0.50-05c91b39/preloaded/simple-fab5b0cf-c7860df7.eln
#62 0x0000555555754124 in funcall_subr (subr=0x7fffef733a20, numargs=numargs@entry=4, args=args@entry=0x7fffffffd988) at ../../md5i/src/eval.c:2917
        argbuf = {XIL(0x5310), XIL(0x5555556bec7d), XIL(0), XIL(0x5555556d8ee8), XIL(0x7fffefef81cb), make_fixnum(23456248539865), XIL(0x1), XIL(0)}
        a = <optimized out>
        fun = <optimized out>
#63 0x00005555557520d5 in funcall_general (fun=<optimized out>, numargs=numargs@entry=4, args=args@entry=0x7fffffffd988) at ../../md5i/src/eval.c:2819
        original_fun = XIL(0x4860)
#64 0x0000555555752562 in Ffuncall (nargs=nargs@entry=5, args=args@entry=0x7fffffffd980) at ../../md5i/src/eval.c:2873
        val = <optimized out>
#65 0x00005555556d18c5 in call4 (arg4=XIL(0x30), arg3=<optimized out>, arg2=XIL(0), arg1=XIL(0x2aaa99a69510), fn=XIL(0x4860)) at ../../md5i/src/lisp.h:3238
        prev_buffer = 0x5555578d2b50
        c = <optimized out>
        local_getcjmp = {{
            __jmpbuf = {0, 455758669174110002, 46912210638096, 0, 93825062447043, 0, 5982608783051683634, 455756194245474098},
            __mask_was_saved = 0,
            __saved_mask = {
              __val = {0, 0, 140737488345944, 0, 93825049527219, 0, 93825680071955, 0, 48, 93825680072003, 4294967295, 48, 93824993839170, 93825010299139, 0, 0}
            }
          }}
        save_jump = {{
            __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0},
            __mask_was_saved = 0,
            __saved_mask = {
              __val = {0 <repeats 16 times>}
            }
          }}
        tem = XIL(0x2aaa99a69510)
        save = XIL(0)
        previous_echo_area_message = XIL(0)
        also_record = XIL(0)
        reread = false
        recorded = false
        polling_stopped_here = false
        orig_kboard = 0x555556e29ad0
#66 read_char (commandflag=1, map=map@entry=XIL(0x55557e54dd53), prev_event=XIL(0), used_mouse_menu=used_mouse_menu@entry=0x7fffffffdc4b, end_time=end_time@entry=0x0) at ../../md5i/src/keyboard.c:2981
        prev_buffer = 0x5555578d2b50
        c = <optimized out>
        local_getcjmp = {{
            __jmpbuf = {0, 455758669174110002, 46912210638096, 0, 93825062447043, 0, 5982608783051683634, 455756194245474098},
            __mask_was_saved = 0,
            __saved_mask = {
              __val = {0, 0, 140737488345944, 0, 93825049527219, 0, 93825680071955, 0, 48, 93825680072003, 4294967295, 48, 93824993839170, 93825010299139, 0, 0}
            }
          }}
        save_jump = {{
            __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0},
            __mask_was_saved = 0,
            __saved_mask = {
              __val = {0 <repeats 16 times>}
            }
          }}
        tem = XIL(0x2aaa99a69510)
        save = XIL(0)
        previous_echo_area_message = XIL(0)
        also_record = XIL(0)
        reread = false
        recorded = false
        polling_stopped_here = false
        orig_kboard = 0x555556e29ad0
#67 0x00005555556d2692 in read_key_sequence (keybuf=keybuf@entry=0x7fffffffdd20, prompt=prompt@entry=XIL(0), dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false) at ../../md5i/src/keyboard.c:9932
        interrupted_kboard = 0x555556e29ad0
        interrupted_frame = 0x555557379920
        key = <optimized out>
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        new_binding = <optimized out>
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = XIL(0x55557e54dd53)
        first_unbound = 31
        mock_input = 0
        used_mouse_menu_history = {false <repeats 30 times>}
        fkey = {
          parent = XIL(0x55555727d293),
          map = XIL(0x55555727d293),
          start = 0,
          end = 0
        }
        keytran = {
          parent = XIL(0x7fffefef115b),
          map = XIL(0x7fffefef115b),
          start = 0,
          end = 0
        }
        indec = {
          parent = XIL(0x55555727d283),
          map = XIL(0x55555727d283),
          start = 0,
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = XIL(0)
        original_uppercase = XIL(0)
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0x5555578d2b50
        fake_prefixed_keys = XIL(0)
        first_event = XIL(0)
        second_event = <optimized out>
#68 0x00005555556d42ec in command_loop_1 () at ../../md5i/src/keyboard.c:1401
        cmd = <optimized out>
        keybuf = {make_fixnum(115), make_fixnum(62), make_fixnum(102), XIL(0xe490), XIL(0x555555c6e3b0), XIL(0x30), make_fixnum(0), XIL(0x1), XIL(0x1), make_fixnum(23456248559812), XIL(0x7fffffffddd8), XIL(0x7fffffffddd0), make_fixnum(0), XIL(0x30), XIL(0), make_fixnum(23456248578042), XIL(0), XIL(0x60), XIL(0), XIL(0), XIL(0), XIL(0x55555575191c), XIL(0xb), XIL(0xe490), XIL(0x30), XIL(0x55555bd02f75), XIL(0x55555988c563), XIL(0x60), XIL(0), XIL(0x5555556c43f0)}
        i = <optimized out>
        prev_modiff = 289400
        prev_buffer = 0x5555578d2b50
#69 0x0000555555750c55 in internal_condition_case (bfun=bfun@entry=0x5555556d3f27 <command_loop_1>, handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x5555556c42be <cmd_error>) at ../../md5i/src/eval.c:1450
        val = <optimized out>
        c = 0x555555ecc0d0
#70 0x00005555556bd185 in command_loop_2 (handlers=handlers@entry=XIL(0x90)) at ../../md5i/src/keyboard.c:1142
        val = <optimized out>
#71 0x0000555555750bcc in internal_catch (tag=tag@entry=XIL(0xf330), func=func@entry=0x5555556bd16b <command_loop_2>, arg=arg@entry=XIL(0x90)) at ../../md5i/src/eval.c:1180
        val = <optimized out>
        c = 0x555555ecc800
#72 0x00005555556bd14d in command_loop () at ../../md5i/src/keyboard.c:1120
#73 0x00005555556c3e65 in recursive_edit_1 () at ../../md5i/src/keyboard.c:729
        val = <optimized out>
#74 0x00005555556c41fa in Frecursive_edit () at ../../md5i/src/keyboard.c:812
        buffer = <optimized out>
#75 0x00005555556bc722 in main (argc=2, argv=0x7fffffffe0c8) at ../../md5i/src/emacs.c:2447
        stack_bottom_variable = 0x55555581b845 <__libc_csu_init+69>
        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>
        rlim = {
          rlim_cur = 10022912,
          rlim_max = 18446744073709551615
        }
        lc_all = <optimized out>
        sockfd = -1
        module_assertions = <optimized out>

Lisp Backtrace:
"redisplay_internal (C function)" (0x0)
"nntp-kill-buffer" (0xffffcb30)
"nntp-close-server" (0xffffcc60)
"gnus-close-server" (0xffffcdb8)
"gnus-close-all-servers" (0xffffce20)
"md5i-close-all-servers" (0xffffd008)
"nm--handle-new-connection" (0xffffd158)
"nm--handle-properties-changed-signal" (0xffffd268)
"apply" (0xffffd3e8)
"dbus-handle-event" (0xffffd5e0)
"funcall-interactively" (0xffffd5d8)
"command-execute" (0xffffd988)


-- 
Michael Welsh Duggan
(md5i@md5i.com)





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

* bug#55371: 29.0.50; lock-up in redisplay_internal
  2022-05-11 15:08 bug#55371: 29.0.50; lock-up in redisplay_internal Michael Welsh Duggan
@ 2022-05-11 16:08 ` Eli Zaretskii
  2022-05-11 17:04   ` Michael Welsh Duggan
  2022-05-12  0:26 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2022-05-11 16:08 UTC (permalink / raw)
  To: Michael Welsh Duggan; +Cc: 55371

> From: Michael Welsh Duggan <mwd@md5i.com>
> Date: Wed, 11 May 2022 11:08:11 -0400
> 
> I wrote a dbus event watcher that triggers when my network connection
> changes (for me, this is usually because I am switching to or from a
> VPN).  As part of this, I call `gnus-close-all-servers` (this allows
> gnus to reconnect to servers from its new network state).  In this
> particular instance, this led to a chain of events that
> redisplay_internal being called, from which Emacs became unresponsive.
> As I was running Emacs from a debugger (to potentially debug a different
> problem), I was able to send a TSTP signal, get a backtrace, and then
> used "return -1" "c" to get back in a state where I could hit C-g a
> couple of times and regain interactivity.
> 
> This was a random event that may be already solved in a later version,
> and it may or may not be reproducible in the future, but I wanted to
> send the backtrace now while I had one in case any part of it was
> actually informative.

Thanks.  However, to debug such lockups, we need to know where was the
code looping.  And from the backtrace and your description, I cannot
figure that out.  Did you try the technique described in etc/DEBUG
under "If the symptom of the bug is that Emacs fails to respond", and
if so, can you tell which code was looping, never returning to its
caller?

> Backtrace follows Emacs info.

The backtrace tells me that Emacs was inside some Xlib function,
perhaps related to an input method or something?  That doesn't let us
enough rope to try unlocking this.





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

* bug#55371: 29.0.50; lock-up in redisplay_internal
  2022-05-11 16:08 ` Eli Zaretskii
@ 2022-05-11 17:04   ` Michael Welsh Duggan
  2022-05-11 17:15     ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Michael Welsh Duggan @ 2022-05-11 17:04 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Michael Welsh Duggan, 55371

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Michael Welsh Duggan <mwd@md5i.com>
>> Date: Wed, 11 May 2022 11:08:11 -0400
>> 
>> I wrote a dbus event watcher that triggers when my network connection
>> changes (for me, this is usually because I am switching to or from a
>> VPN).  As part of this, I call `gnus-close-all-servers` (this allows
>> gnus to reconnect to servers from its new network state).  In this
>> particular instance, this led to a chain of events that
>> redisplay_internal being called, from which Emacs became unresponsive.
>> As I was running Emacs from a debugger (to potentially debug a different
>> problem), I was able to send a TSTP signal, get a backtrace, and then
>> used "return -1" "c" to get back in a state where I could hit C-g a
>> couple of times and regain interactivity.
>> 
>> This was a random event that may be already solved in a later version,
>> and it may or may not be reproducible in the future, but I wanted to
>> send the backtrace now while I had one in case any part of it was
>> actually informative.
>
> Thanks.  However, to debug such lockups, we need to know where was the
> code looping.  And from the backtrace and your description, I cannot
> figure that out.  Did you try the technique described in etc/DEBUG
> under "If the symptom of the bug is that Emacs fails to respond", and
> if so, can you tell which code was looping, never returning to its
> caller?
>
>> Backtrace follows Emacs info.
>
> The backtrace tells me that Emacs was inside some Xlib function,
> perhaps related to an input method or something?  That doesn't let us
> enough rope to try unlocking this.

It was not looping.  It was stuck in the poll call in frame 0.

-- 
Michael Welsh Duggan
(md5i@md5i.com)





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

* bug#55371: 29.0.50; lock-up in redisplay_internal
  2022-05-11 17:04   ` Michael Welsh Duggan
@ 2022-05-11 17:15     ` Eli Zaretskii
  2022-05-11 17:16       ` Michael Welsh Duggan
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2022-05-11 17:15 UTC (permalink / raw)
  To: Michael Welsh Duggan; +Cc: 55371

> From: Michael Welsh Duggan <mwd@md5i.com>
> Cc: Michael Welsh Duggan <mwd@md5i.com>,  55371@debbugs.gnu.org
> Date: Wed, 11 May 2022 13:04:38 -0400
> 
> It was not looping.  It was stuck in the poll call in frame 0.

Then saying that it was a "lock-up in redisplay_internal" is not
really accurate, not at all.  Is it?  It is stuck in
xic_set_preeditarea, which AFAU is an X input-method related call.





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

* bug#55371: 29.0.50; lock-up in redisplay_internal
  2022-05-11 17:15     ` Eli Zaretskii
@ 2022-05-11 17:16       ` Michael Welsh Duggan
  0 siblings, 0 replies; 9+ messages in thread
From: Michael Welsh Duggan @ 2022-05-11 17:16 UTC (permalink / raw)
  To: Eli Zaretskii, Michael Welsh Duggan; +Cc: 55371@debbugs.gnu.org

I was basing my statement on the lisp backtrace.

________________________________________
From: Eli Zaretskii <eliz@gnu.org>
Sent: Wednesday, May 11, 2022 1:15 PM
To: Michael Welsh Duggan
Cc: 55371@debbugs.gnu.org
Subject: Re: bug#55371: 29.0.50; lock-up in redisplay_internal

> From: Michael Welsh Duggan <mwd@md5i.com>
> Cc: Michael Welsh Duggan <mwd@md5i.com>,  55371@debbugs.gnu.org
> Date: Wed, 11 May 2022 13:04:38 -0400
>
> It was not looping.  It was stuck in the poll call in frame 0.

Then saying that it was a "lock-up in redisplay_internal" is not
really accurate, not at all.  Is it?  It is stuck in
xic_set_preeditarea, which AFAU is an X input-method related call.





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

* bug#55371: 29.0.50; lock-up in redisplay_internal
  2022-05-11 15:08 bug#55371: 29.0.50; lock-up in redisplay_internal Michael Welsh Duggan
  2022-05-11 16:08 ` Eli Zaretskii
@ 2022-05-12  0:26 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-05-12 22:09   ` Michael Welsh Duggan
  1 sibling, 1 reply; 9+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-05-12  0:26 UTC (permalink / raw)
  To: Michael Welsh Duggan; +Cc: 55371

Michael Welsh Duggan <mwd@md5i.com> writes:

>     at ../sysdeps/unix/sysv/linux/poll.c:29
>         sc_ret = -516
>         sc_cancel_oldtype = 0
> #1  0x00007ffff362ad02 in  () at /lib/x86_64-linux-gnu/libxcb.so.1
> #2  0x00007ffff362d05a in xcb_wait_for_event ()
>     at /lib/x86_64-linux-gnu/libxcb.so.1
> #3  0x00007ffff79f10a8 in _XReadEvents () at /lib/x86_64-linux-gnu/libX11.so.6
> #4  0x00007ffff79d8214 in XIfEvent () at /lib/x86_64-linux-gnu/libX11.so.6
> #5  0x00007ffff7a211ef in  () at /lib/x86_64-linux-gnu/libX11.so.6
> #6  0x00007ffff7a21ca2 in  () at /lib/x86_64-linux-gnu/libX11.so.6
> #7  0x00007ffff7a21f1d in _XimRead () at /lib/x86_64-linux-gnu/libX11.so.6
> #8  0x00007ffff7a10afb in  () at /lib/x86_64-linux-gnu/libX11.so.6
> #9  0x00007ffff79fe4ad in XSetICValues () at /lib/x86_64-linux-gnu/libX11.so.6

This is suspiciously similar to the last bug you reported, but that was
about random lockups when using GNOME Shell.

Would you please install debuginfo and the source code packages for
Xlib, and show exactly which call `XIfEvent' is causing the lockup?

Thanks.





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

* bug#55371: 29.0.50; lock-up in redisplay_internal
  2022-05-12  0:26 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-05-12 22:09   ` Michael Welsh Duggan
  2022-07-05 11:36     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 9+ messages in thread
From: Michael Welsh Duggan @ 2022-05-12 22:09 UTC (permalink / raw)
  To: 55371; +Cc: mwd, luangruo

Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <bug-gnu-emacs@gnu.org> writes:

> Michael Welsh Duggan <mwd@md5i.com> writes:
>
>>     at ../sysdeps/unix/sysv/linux/poll.c:29
>>         sc_ret = -516
>>         sc_cancel_oldtype = 0
>> #1  0x00007ffff362ad02 in  () at /lib/x86_64-linux-gnu/libxcb.so.1
>> #2  0x00007ffff362d05a in xcb_wait_for_event ()
>>     at /lib/x86_64-linux-gnu/libxcb.so.1
>> #3  0x00007ffff79f10a8 in _XReadEvents () at /lib/x86_64-linux-gnu/libX11.so.6
>> #4  0x00007ffff79d8214 in XIfEvent () at /lib/x86_64-linux-gnu/libX11.so.6
>> #5  0x00007ffff7a211ef in  () at /lib/x86_64-linux-gnu/libX11.so.6
>> #6  0x00007ffff7a21ca2 in  () at /lib/x86_64-linux-gnu/libX11.so.6
>> #7  0x00007ffff7a21f1d in _XimRead () at /lib/x86_64-linux-gnu/libX11.so.6
>> #8  0x00007ffff7a10afb in  () at /lib/x86_64-linux-gnu/libX11.so.6
>> #9  0x00007ffff79fe4ad in XSetICValues () at /lib/x86_64-linux-gnu/libX11.so.6
>
> This is suspiciously similar to the last bug you reported, but that was
> about random lockups when using GNOME Shell.
>
> Would you please install debuginfo and the source code packages for
> Xlib, and show exactly which call `XIfEvent' is causing the lockup?

Okay.  Attempting this.  I have no idea when this might trigger again,
so this bug might have to sit for a while.

-- 
Michael Welsh Duggan
(md5i@md5i.com)





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

* bug#55371: 29.0.50; lock-up in redisplay_internal
  2022-05-12 22:09   ` Michael Welsh Duggan
@ 2022-07-05 11:36     ` Lars Ingebrigtsen
  2022-07-05 23:57       ` Michael Welsh Duggan
  0 siblings, 1 reply; 9+ messages in thread
From: Lars Ingebrigtsen @ 2022-07-05 11:36 UTC (permalink / raw)
  To: Michael Welsh Duggan; +Cc: luangruo, 55371

Michael Welsh Duggan <mwd@md5i.com> writes:

> Okay.  Attempting this.  I have no idea when this might trigger again,
> so this bug might have to sit for a while.

This was almost two months ago -- have you been able to reproduce the
problem?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





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

* bug#55371: 29.0.50; lock-up in redisplay_internal
  2022-07-05 11:36     ` Lars Ingebrigtsen
@ 2022-07-05 23:57       ` Michael Welsh Duggan
  0 siblings, 0 replies; 9+ messages in thread
From: Michael Welsh Duggan @ 2022-07-05 23:57 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Michael Welsh Duggan, luangruo, 55371

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Michael Welsh Duggan <mwd@md5i.com> writes:
>
>> Okay.  Attempting this.  I have no idea when this might trigger again,
>> so this bug might have to sit for a while.
>
> This was almost two months ago -- have you been able to reproduce the
> problem?

I have, but not yet in a way that allowed me to debug what is happening.

-- 
Michael Welsh Duggan
(md5i@md5i.com)





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

end of thread, other threads:[~2022-07-05 23:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-11 15:08 bug#55371: 29.0.50; lock-up in redisplay_internal Michael Welsh Duggan
2022-05-11 16:08 ` Eli Zaretskii
2022-05-11 17:04   ` Michael Welsh Duggan
2022-05-11 17:15     ` Eli Zaretskii
2022-05-11 17:16       ` Michael Welsh Duggan
2022-05-12  0:26 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-05-12 22:09   ` Michael Welsh Duggan
2022-07-05 11:36     ` Lars Ingebrigtsen
2022-07-05 23:57       ` Michael Welsh Duggan

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.