GNU bug report logs -
#11417
24.0.96; infinite looping in xdisp.c
Previous Next
Reported by: Leo <sdl.web <at> gmail.com>
Date: Sun, 6 May 2012 04:28:02 UTC
Severity: normal
Found in version 24.0.96
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #11 received at 11417 <at> debbugs.gnu.org (full text, mbox):
> From: Leo <sdl.web <at> gmail.com>
> Date: Sun, 06 May 2012 12:24:34 +0800
>
> I have yet to find a minimal example to reproduce this. I know the
> following few facts. It must be run under tty and seems to related to
> overlays. It was triggered by flymake in some python files. The contents
> of those files are only partly displayed by Emacs (see screenshots
> attached). My Emacs was built on 2012-04-28.
From which branch did you build your Emacs? Trunk or emacs-24?
> Run till exit from #0 0x000000010003d316 in move_it_in_display_line_to (it=0x7fff5fbfb248, to_charpos=411, to_x=-1, op=12) at xdisp.c:7990
> 0x000000010003f702 in move_it_to (it=0x7fff5fbfb248, to_charpos=411, to_x=-1, to_y=-1, to_vpos=1, op=12) at xdisp.c:8536
> 8536 skip = move_it_in_display_line_to (it, to_charpos, to_x, op);
> Value returned is $2 = MOVE_POS_MATCH_OR_ZV
> (gdb)
> Run till exit from #0 0x000000010003f702 in move_it_to (it=0x7fff5fbfb248, to_charpos=411, to_x=-1, to_y=-1, to_vpos=1, op=12) at xdisp.c:8536
> move_it_vertically_backward (it=0x7fff5fbfce20, dy=0) at xdisp.c:8816
> 8816 && SREF (it2.string, IT_STRING_BYTEPOS (it2) - 1) == '\n')));
> (gdb) next
> 8804 move_it_to (&it2, start_pos, -1, -1, it2.vpos + 1,
> (gdb)
> 8816 && SREF (it2.string, IT_STRING_BYTEPOS (it2) - 1) == '\n')));
> (gdb)
> 8804 move_it_to (&it2, start_pos, -1, -1, it2.vpos + 1,
> (gdb)
> 8816 && SREF (it2.string, IT_STRING_BYTEPOS (it2) - 1) == '\n')));
> (gdb)
> 8804 move_it_to (&it2, start_pos, -1, -1, it2.vpos + 1,
> (gdb)
> 8816 && SREF (it2.string, IT_STRING_BYTEPOS (it2) - 1) == '\n')));
> (gdb)
> 8804 move_it_to (&it2, start_pos, -1, -1, it2.vpos + 1,
> (gdb)
> 8816 && SREF (it2.string, IT_STRING_BYTEPOS (it2) - 1) == '\n')));
First, please provide the entire backtrace from here to main, and also
the Lisp backtrace (from the "xbacktrace" command). You will need to
make sure GDB reads the src/.gdbinit file for "xbacktrace" to work,
and also for several other commands below.
Second, I need to see some of the variables involved in this:
(gdb) p start_pos
(gdb) p it2.vpos
(gdb) p it2.current
(gdb) p it2.string
(gdb) xtype
(gdb) p it2.method
Finally, can you describe what should be displayed on the portion of
the screen that is around the character position (shown by "p it2.current"
above) where Emacs loops? The following command should display
detailed information about the screen line that includes the above buffer
position:
(gdb) pgrowx (it2.w->desired_matrix->rows+N)
where N is the zero-based number of the screen line. If you cannot
easily figure out the value of N, try the above command for successive
values starting from zero, until you see the first screen line that is
not displayed.
Thanks.
This bug report was last modified 13 years and 10 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.