From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: nljlistbox2@gmail.com (N. Jackson) Newsgroups: gmane.emacs.bugs Subject: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c Date: Mon, 15 Jun 2015 12:42:57 -0300 Message-ID: <87a8w1uge6.fsf@moondust.localdomain> References: <87mw03j57i.fsf@moondust.localdomain> <83ioaqpel9.fsf@gnu.org> <878ubmayn4.fsf@moondust.localdomain> <83616qoyyd.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1434383067 11676 80.91.229.3 (15 Jun 2015 15:44:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 15 Jun 2015 15:44:27 +0000 (UTC) Cc: 20808@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jun 15 17:44:17 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Z4WYY-00071n-8a for geb-bug-gnu-emacs@m.gmane.org; Mon, 15 Jun 2015 17:44:14 +0200 Original-Received: from localhost ([::1]:34924 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4WYX-0001qA-RS for geb-bug-gnu-emacs@m.gmane.org; Mon, 15 Jun 2015 11:44:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38593) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4WYS-0001my-5T for bug-gnu-emacs@gnu.org; Mon, 15 Jun 2015 11:44:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z4WYM-0000sa-E7 for bug-gnu-emacs@gnu.org; Mon, 15 Jun 2015 11:44:08 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:40397) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4WYM-0000sN-9t for bug-gnu-emacs@gnu.org; Mon, 15 Jun 2015 11:44:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Z4WYM-00085t-1b for bug-gnu-emacs@gnu.org; Mon, 15 Jun 2015 11:44:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: nljlistbox2@gmail.com (N. Jackson) Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 15 Jun 2015 15:44:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 20808-submit@debbugs.gnu.org id=B20808.143438298931050 (code B ref 20808); Mon, 15 Jun 2015 15:44:01 +0000 Original-Received: (at 20808) by debbugs.gnu.org; 15 Jun 2015 15:43:09 +0000 Original-Received: from localhost ([127.0.0.1]:54857 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z4WXU-00084k-LC for submit@debbugs.gnu.org; Mon, 15 Jun 2015 11:43:09 -0400 Original-Received: from mail-qk0-f169.google.com ([209.85.220.169]:34377) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z4WXS-000846-2C for 20808@debbugs.gnu.org; Mon, 15 Jun 2015 11:43:06 -0400 Original-Received: by qkdm188 with SMTP id m188so34559461qkd.1 for <20808@debbugs.gnu.org>; Mon, 15 Jun 2015 08:43:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=Y/IBrZz4UrcCLgYqc6a01gtoFkU9LlMiKW/C4N3svf4=; b=NPXYH5yE8tnbNiiAJMbMnejLchrmhtIYmjTMopKRMf1xt8DRiEyVKjsdy1kX4AW7C7 R0b2URYiwvSckSbb+qPfSwWppR1wHWnyw4saqCso/O9Y21vY1CsKV7gO+DHwTc7HJ8Gz wX2iE0suiuK7OExYdJc3dEbIpdRYW7Jq7IoJnamin8OHrhss/5Z5ZbsxgVy0G9ivA6P1 kFSdVKBWcKFi06DOR0YOLukHWA/KLQwzzTJlyeerOLMfte1HEP1gqGPxFBFRyyxR/8s1 VScdnB+czUd95cUTP4lXdpB6s86GqgEkbjtLNBmIY6gh/V/ApRxOmmnlaftAI/7GJBk3 v6Jg== X-Received: by 10.140.85.137 with SMTP id n9mr36095920qgd.67.1434382980527; Mon, 15 Jun 2015 08:43:00 -0700 (PDT) Original-Received: from moondust.localdomain.nodomain.none (T8722.WPA.Dal.Ca. [134.190.135.34]) by mx.google.com with ESMTPSA id 78sm6409315qhv.38.2015.06.15.08.42.58 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jun 2015 08:42:59 -0700 (PDT) In-Reply-To: <83616qoyyd.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 14 Jun 2015 22:46:18 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:103964 Archived-At: At 16:46 -0300 on Sunday 2015-06-14, Eli Zaretskii wrote: > And I understand you have set scroll-conservatively to a value larger > than 100, is that true? Indeed, yes: scroll-conservatively is a variable defined in `C source code'. Its value is 101 Original value was 0 > 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); Yes, that's right: 15283 do { 15284 RESTORE_IT (&it, &it, it1data); 15285 move_it_by_lines (&it, 1); 15286 SAVE_IT (it1, it, it1data); 15287 } 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. At 12:03 -0300 on Monday 2015-06-15, Eli Zaretskii wrote: > And one more: the value of ZV (a.k.a. current_buffer->zv). I have results from the (presumably optimised) Fedora 21 build and also from my own build which I finally managed to get to infloop the same way. It's not clear to me if GDB prints out the statement it just executed or the statement that it will execute next, so I looked at the values of the variables after each step of the loop to be sure I didn't miss anything. The variables don't change, and after a few spins through the loop, I set watchpoints on them and `finish' and there was no sign of them changing after about five minutes, after which I did a C-c. For the Fedora 21 build (the variables don't change): (gdb) p it.current $11 = {pos = {charpos = 0, bytepos = 0}, overlay_string_index = 0, string_pos = {charpos = 0, bytepos = 0}, dpvec_index = 0} (gdb) p it.current_y $12 = 0 (gdb) p it.max_ascent $13 = 0 (gdb) p it.max_descent $14 = 0 (gdb) p it.method $15 = GET_FROM_BUFFER (gdb) p start_y No symbol "start_y" in current context. (gdb) p ZV No symbol "ZV" in current context. (gdb) p current_buffer->zv $27 = 3255 For my build (again the variables don't change): (gdb) p it.current $20 = {pos = {charpos = 2840, bytepos = 2841}, overlay_string_index = -1, string_pos = {charpos = -1, bytepos = -1}, dpvec_index = -1} (gdb) p it.current_y $21 = 270 (gdb) p it.ascent $22 = 11 (gdb) p it.descent $23 = 3 (gdb) p it.method $24 = GET_FROM_BUFFER (gdb) p start_y $25 = 270 (gdb) p ZV $34 = 2840 (gdb) p current_buffer->zv $35 = 2840 I hope this helps, and I await further instructions should further debugging be worthwhile. Thanks.