Subject: 24.0.96; infinite looping in xdisp.c
From: Leo <[email-masked]>
To: [email-masked]
Date: Sun, 06 May 2012 12:24:34 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

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.

(gdb) 
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')));