Subject: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c

From: Eli Zaretskii <[email-masked]>
Date: Sun, 14 Jun 2015 22:46:18 +0300

> From: [email-masked] (N. Jackson)
> Cc: [email-masked]
> Date: Sun, 14 Jun 2015 16:16:47 -0300
> 
> Well, I don't know exactly what I was doing to trigger the problem. I
> suspect it happenned when I clicked a link in an email in Gnus, which
> opened a web page in Eww. (It may have been relevant that I then 1)
> scrolled in the Eww window and 2) that I hit `&' to open the web page in
> an external browser -- not necessarilly in that order.)
> 
> It might be relevant that the web page contained quite a lot of images,
> mostly small, and that Gnus opens Eww in the short (eleven lines high)
> Summary buffer window.

And I understand you have set scroll-conservatively to a value larger
than 100, is that true?

> Meanwhile, if you think it is worth trying to debug the problem in the
> Fedora 21 optimised build, please send instructions for steps to take in
> GDB. I still have GDB attached to it.

Thanks.

The loop where Emacs is evidently inflooping is this:

	  start_y = line_bottom_y (&it1);
	  do {
	    RESTORE_IT (&it, &it, it1data);
	    move_it_by_lines (&it, 1);
	    SAVE_IT (it1, it, it1data);
	  } while (line_bottom_y (&it1) - start_y < amount_to_scroll);

So what I'd like to know is values of the following variables:

  it.current
  it.current_y
  it.max_ascent
  it.max_descent
  it.method
  start_y

With the exception of the last variable, which should stay fixed
during the loop, please step through the loop a few times, and show
the values of the above variables for each iteration through the loop.

Thanks in advance.