unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Michael Welsh Duggan <mwd@md5i.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 56561@debbugs.gnu.org
Subject: bug#56561: 29.0.50; Infloop in try_window
Date: Thu, 14 Jul 2022 18:44:43 -0400	[thread overview]
Message-ID: <878rovxqjo.fsf@md5i.com> (raw)
In-Reply-To: <83v8rzsdd1.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 14 Jul 2022 22:28:26 +0300")

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Michael Welsh Duggan <md5i@md5i.com>
>> Date: Thu, 14 Jul 2022 14:57:40 -0400
>> 
>> I've connected to this in gdb.  `try_window' is calling `display_line'
>> in a loop until the iterator hits a certain point.  But `display_line',
>> in this case, isn't modifying the iterator, so the loop never ends.
>> Here follows part of the debugging session demonstrating this.  I'll
>> keep this gdb session alive for a while.
>
> I need to see what's in the buffer and some other variables.  These
> are for the call-stack frame inside display_line:
>
>   (gdb) p current_buffer->text->beg
>   (gdb) p it->current
>   (gdb) p it->w->desired_matrix->nrows
>   (gdb) p MATRIX_ROW_VPOS(row, it->w->desired_matrix)
>   (gdb) thread apply all bt
>   (gdb) xbacktrace
>
> And finally, any idea what you were doing when this happened?

Moving my cursor between frames and either clicking or typing C-p, I
think.  The emacs was on a remote machine at the time, visible via X11
over ssh.  This may have slowed X events enough for some corner
condition to be achieved.

(gdb) p current_thread->m_current_buffer->text->beg
$15 = (unsigned char *) 0x555557bb75a0 "mouse-2: correct word at point"
(gdb) p it->current
$16 = {
  pos = {
    charpos = 31,
    bytepos = 31
  },
  overlay_string_index = -1,
  string_pos = {
    charpos = -1,
    bytepos = -1
  },
  dpvec_index = -1
}
(gdb) p it->w->desired_matrix->nrows
$17 = 35
(gdb) p MATRIX_ROW_VPOS(row, it->w->desired_matrix)
No symbol "MATRIX_ROW_VPOS" in current context.
(gdb) p row - it->w->desired_matrix->rows
$18 = 35


Thread 4 (Thread 0x7fffe7fff640 (LWP 1400080) "gdbus"):
#0  0x00007ffff3cb487f in __GI___poll (fds=0x7ffff6b0f4e0, nfds=140737331255742, timeout=32767) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffe0016990 in  ()
#2  0x00007fffe0016990 in  ()
#3  0x0000000000000002 in  ()
#4  0xffffffff00000001 in  ()
#5  0x00007fffe0014ca0 in  ()
#6  0x00007ffff6a2e1ee in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007ffff6a2e543 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007ffff6cc3cf6 in  () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#9  0x00007fffe0002de0 in  ()
#10 0x00007ffff6a5859d in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff61a6d80 in start_thread (arg=0x7fffe7fff640) at pthread_create.c:481
#12 0x00007ffff3cc076f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
#13 0x0000000000000000 in  ()

Lisp Backtrace:
"x-show-tip" (0xffffcdb0)
"tooltip-show" (0xffffced8)
"tooltip-help-tips" (0xffffd038)
"tooltip-timeout" (0xffffd278)
"apply" (0xffffd270)
"timer-event-handler" (0xffffd3f8)

Thread 3 (Thread 0x7fffece4a640 (LWP 1400079) "dconf worker"):
#0  0x00007ffff3cb487f in __GI___poll (fds=0x7ffff6b0f4e0, nfds=140737331255742, timeout=32767) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00005555573d6900 in  ()
#2  0x00005555573d6900 in  ()
#3  0x0000000000000001 in  ()
#4  0xffffffff00000001 in  ()
#5  0x00005555573d6810 in  ()
#6  0x00007ffff6a2e1ee in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007ffff6a2e30f in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007fffeceab3bd in  () at /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#9  0x00007ffff6a5859d in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff61a6d80 in start_thread (arg=0x7fffece4a640) at pthread_create.c:481
#11 0x00007ffff3cc076f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
#12 0x0000000000000000 in  ()

Lisp Backtrace:
"x-show-tip" (0xffffcdb0)
"tooltip-show" (0xffffced8)
"tooltip-help-tips" (0xffffd038)
"tooltip-timeout" (0xffffd278)
"apply" (0xffffd270)
"timer-event-handler" (0xffffd3f8)

Thread 2 (Thread 0x7fffee6ca640 (LWP 1399543) "gmain"):
#0  0x00007ffff3cb487f in __GI___poll (fds=0x7ffff6b0f4e0, nfds=140737331255742, timeout=0) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x0000555555ccf0d0 in  ()
#2  0x0000555555ccf0d0 in  ()
#3  0x0000000000000001 in  ()
#4  0xffffffff00000001 in  ()
#5  0x0000555555edd870 in  ()
#6  0x00007ffff6a2e1ee in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007ffff6a2e30f in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007ffff6a2e361 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007ffff6a5859d in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff61a6d80 in start_thread (arg=0x7fffee6ca640) at pthread_create.c:481
#11 0x00007ffff3cc076f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
#12 0x0000000000000000 in  ()

Lisp Backtrace:
"x-show-tip" (0xffffcdb0)
"tooltip-show" (0xffffced8)
"tooltip-help-tips" (0xffffd038)
"tooltip-timeout" (0xffffd278)
"apply" (0xffffd270)
"timer-event-handler" (0xffffd3f8)

Thread 1 (Thread 0x7ffff05e1380 (LWP 1399519) "emacs"):
#0  0x00005555555e461a in display_line (it=it@entry=0x7fffffffb770, cursor_vpos=cursor_vpos@entry=0) at ../../md5i/src/xdisp.c:24169
#1  0x00005555555e7e01 in try_window (window=window@entry=XIL(0x55555b4301f5), pos=..., flags=flags@entry=2) at ../../md5i/src/xdisp.c:20206
#2  0x00005555556ad347 in Fx_show_tip (string=<optimized out>, frame=<optimized out>, parms=XIL(0x55556045d6d3), timeout=<optimized out>, dx=<optimized out>, dy=<optimized out>) at ../../md5i/src/xfns.c:8752
#3  0x0000555555754d86 in funcall_subr (subr=0x555555bd1c20 <Sx_show_tip>, numargs=numargs@entry=6, args=args@entry=0x7fffffffcdb0) at ../../md5i/src/eval.c:3006
#4  0x0000555555752ca4 in funcall_general (fun=<optimized out>, numargs=numargs@entry=6, args=args@entry=0x7fffffffcdb0) at ../../md5i/src/eval.c:2904
#5  0x0000555555753131 in Ffuncall (nargs=7, args=0x7fffffffcda8) at ../../md5i/src/eval.c:2958
#6  0x00007fffeee6ed9d in F746f6f6c7469702d73686f77_tooltip_show_0 () at /home/md5i/src/emacs/build/src/../native-lisp/29.0.50-bb581598/preloaded/tooltip-29462ede-0f14bf43.eln
#7  0x0000555555754d4f in funcall_subr (subr=0x7fffef911310, numargs=numargs@entry=2, args=args@entry=0x7fffffffced8) at ../../md5i/src/eval.c:3002
#8  0x0000555555752ca4 in funcall_general (fun=<optimized out>, numargs=numargs@entry=2, args=args@entry=0x7fffffffced8) at ../../md5i/src/eval.c:2904
#9  0x0000555555753131 in Ffuncall (nargs=3, args=0x7fffffffced0) at ../../md5i/src/eval.c:2958
#10 0x00007fffeee6f968 in F746f6f6c7469702d68656c702d74697073_tooltip_help_tips_0 () at /home/md5i/src/emacs/build/src/../native-lisp/29.0.50-bb581598/preloaded/tooltip-29462ede-0f14bf43.eln
#11 0x0000555555754d16 in funcall_subr (subr=0x7fffef912e38, numargs=numargs@entry=1, args=args@entry=0x7fffffffd038) at ../../md5i/src/eval.c:2996
#12 0x0000555555752ca4 in funcall_general (fun=<optimized out>, numargs=numargs@entry=1, args=args@entry=0x7fffffffd038) at ../../md5i/src/eval.c:2904
#13 0x0000555555753131 in Ffuncall (nargs=2, args=0x7fffffffd030) at ../../md5i/src/eval.c:2958
#14 0x0000555555751f6c in run_hook_with_args (nargs=2, args=0x7fffffffd030, funcall=funcall@entry=0x555555753016 <Ffuncall>) at ../../md5i/src/eval.c:2817
#15 0x00005555557521df in Frun_hook_with_args_until_success (nargs=<optimized out>, args=<optimized out>) at ../../md5i/src/eval.c:2703
#16 0x00007fffeee6e964 in F746f6f6c7469702d74696d656f7574_tooltip_timeout_0 () at /home/md5i/src/emacs/build/src/../native-lisp/29.0.50-bb581598/preloaded/tooltip-29462ede-0f14bf43.eln
#17 0x0000555555754d16 in funcall_subr (subr=0x7fffef911db8, numargs=numargs@entry=1, args=args@entry=0x7fffffffd278) at ../../md5i/src/eval.c:2996
#18 0x0000555555752ca4 in funcall_general (fun=<optimized out>, numargs=numargs@entry=1, args=args@entry=0x7fffffffd278) at ../../md5i/src/eval.c:2904
#19 0x0000555555753131 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffd270) at ../../md5i/src/eval.c:2958
#20 0x0000555555753c70 in Fapply (nargs=2, args=0x7fffffffd270) at ../../md5i/src/eval.c:2586
#21 0x0000555555754de9 in funcall_subr (subr=0x555555bdf060 <Sapply>, numargs=numargs@entry=2, args=args@entry=0x7fffffffd270) at ../../md5i/src/eval.c:3023
#22 0x0000555555752ca4 in funcall_general (fun=<optimized out>, numargs=numargs@entry=2, args=args@entry=0x7fffffffd270) at ../../md5i/src/eval.c:2904
#23 0x0000555555753131 in Ffuncall (nargs=3, args=0x7fffffffd268) at ../../md5i/src/eval.c:2958
#24 0x00007fffef039e90 in F74696d65722d6576656e742d68616e646c6572_timer_event_handler_0 () at /home/md5i/src/emacs/build/src/../native-lisp/29.0.50-bb581598/preloaded/timer-3ee7cfd9-76499eee.eln
#25 0x0000555555754d16 in funcall_subr (subr=0x7ffff0025ad0, numargs=numargs@entry=1, args=args@entry=0x7fffffffd3f8) at ../../md5i/src/eval.c:2996
#26 0x0000555555752ca4 in funcall_general (fun=<optimized out>, numargs=numargs@entry=1, args=args@entry=0x7fffffffd3f8) at ../../md5i/src/eval.c:2904
#27 0x0000555555753131 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffd3f0) at ../../md5i/src/eval.c:2958
#28 0x00005555556c3cf3 in call1 (arg1=XIL(0x55555bd20ee5), fn=XIL(0xf390)) at ../../md5i/src/lisp.h:3239
#29 timer_check_2 (timers=<optimized out>, timers@entry=XIL(0x55555c403a33), idle_timers=<optimized out>, idle_timers@entry=XIL(0x55555c403803)) at ../../md5i/src/keyboard.c:4599
#30 0x00005555556d1ec0 in timer_check () at ../../md5i/src/keyboard.c:4665
#31 0x00005555556d1f10 in readable_events (flags=1) at ../../md5i/src/keyboard.c:3492
#32 0x00005555556d2254 in get_input_pending (flags=flags@entry=1) at ../../md5i/src/keyboard.c:7240
#33 0x00005555556d238f in swallow_events (do_display=do_display@entry=false) at ../../md5i/src/keyboard.c:4406
#34 0x00005555556d4a90 in read_char (commandflag=1, map=map@entry=XIL(0x55555eba43d3), prev_event=XIL(0), used_mouse_menu=used_mouse_menu@entry=0x7fffffffd7eb, end_time=end_time@entry=0x0) at ../../md5i/src/keyboard.c:2585
#35 0x00005555556d67eb in read_key_sequence (keybuf=keybuf@entry=0x7fffffffd8c0, 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:9947
#36 0x00005555556d8257 in command_loop_1 () at ../../md5i/src/keyboard.c:1391
#37 0x00005555557518a6 in internal_condition_case (bfun=bfun@entry=0x5555556d805e <command_loop_1>, handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x5555556c8fb3 <cmd_error>) at ../../md5i/src/eval.c:1485
#38 0x00005555556c22a1 in command_loop_2 (handlers=handlers@entry=XIL(0x90)) at ../../md5i/src/keyboard.c:1132
#39 0x000055555575181d in internal_catch (tag=tag@entry=XIL(0xf690), func=func@entry=0x5555556c2287 <command_loop_2>, arg=arg@entry=XIL(0x90)) at ../../md5i/src/eval.c:1208
#40 0x00005555556c2264 in command_loop () at ../../md5i/src/keyboard.c:1110
#41 0x00005555556c8b5a in recursive_edit_1 () at ../../md5i/src/keyboard.c:719
#42 0x00005555556c8eef in Frecursive_edit () at ../../md5i/src/keyboard.c:802
#43 0x00005555556c194f in main (argc=2, argv=0x7fffffffdc68) at ../../md5i/src/emacs.c:2517

Lisp Backtrace:
"x-show-tip" (0xffffcdb0)
"tooltip-show" (0xffffced8)
"tooltip-help-tips" (0xffffd038)
"tooltip-timeout" (0xffffd278)
"apply" (0xffffd270)
"timer-event-handler" (0xffffd3f8)


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





  reply	other threads:[~2022-07-14 22:44 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-14 18:57 bug#56561: 29.0.50; Infloop in try_window Michael Welsh Duggan
2022-07-14 19:28 ` Eli Zaretskii
2022-07-14 22:44   ` Michael Welsh Duggan [this message]
2022-07-15  6:14     ` Eli Zaretskii
2022-07-15 10:52       ` Eli Zaretskii
2022-07-15 13:54         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-15 14:24           ` Eli Zaretskii
2022-07-15 15:27             ` Eli Zaretskii
2022-07-15 15:37               ` Eli Zaretskii
2022-07-15 15:56                 ` Eli Zaretskii
2022-07-16  3:15                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16  5:50                     ` Eli Zaretskii
2022-07-16  5:55                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16  6:33                         ` Eli Zaretskii
2022-07-16  6:42                           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16  7:32                             ` Eli Zaretskii
2022-07-16  8:22                               ` Eli Zaretskii
2022-07-16  8:47                               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16  8:59                                 ` Eli Zaretskii
2022-07-16 10:34                                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16 10:57                                     ` Eli Zaretskii
2022-07-16 11:07                                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16 11:45                                         ` Eli Zaretskii
2022-07-16 12:34                                           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16 12:38                                             ` Eli Zaretskii
2022-07-17  0:45                                               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-17  5:43                                                 ` Eli Zaretskii
2022-07-17  6:29                                                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-17  6:40                                                     ` Eli Zaretskii
2022-07-17  7:43                                                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-17 13:29                                                         ` Eli Zaretskii
2022-07-18  0:57                                                           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-18 12:37                                                             ` Eli Zaretskii
2022-07-19  0:54                                                               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-21  7:14                                                                 ` Eli Zaretskii
2022-07-21  8:17                                                                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16  3:14                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16  3:11               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-16  3:07             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-15 14:03         ` Michael Welsh Duggan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878rovxqjo.fsf@md5i.com \
    --to=mwd@md5i.com \
    --cc=56561@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).