From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c Date: Sun, 14 Jun 2015 17:08:34 +0300 Message-ID: <83ioaqpel9.fsf@gnu.org> References: <87mw03j57i.fsf@moondust.localdomain> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1434291027 19289 80.91.229.3 (14 Jun 2015 14:10:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 14 Jun 2015 14:10:27 +0000 (UTC) Cc: 20808@debbugs.gnu.org To: nljlistbox2@gmail.com (N. Jackson) Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jun 14 16:10:16 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 1Z48c1-0004m5-Eu for geb-bug-gnu-emacs@m.gmane.org; Sun, 14 Jun 2015 16:10:13 +0200 Original-Received: from localhost ([::1]:58776 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z48c0-0003Bv-GM for geb-bug-gnu-emacs@m.gmane.org; Sun, 14 Jun 2015 10:10:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55582) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z48bx-0003Bq-6T for bug-gnu-emacs@gnu.org; Sun, 14 Jun 2015 10:10:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z48bs-0002JS-C3 for bug-gnu-emacs@gnu.org; Sun, 14 Jun 2015 10:10:09 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:39508) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z48bs-0002Is-9B for bug-gnu-emacs@gnu.org; Sun, 14 Jun 2015 10:10:04 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Z48br-0004lu-Nk for bug-gnu-emacs@gnu.org; Sun, 14 Jun 2015 10:10:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 14 Jun 2015 14:10:03 +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.143429095518284 (code B ref 20808); Sun, 14 Jun 2015 14:10:03 +0000 Original-Received: (at 20808) by debbugs.gnu.org; 14 Jun 2015 14:09:15 +0000 Original-Received: from localhost ([127.0.0.1]:53968 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z48b4-0004kp-9G for submit@debbugs.gnu.org; Sun, 14 Jun 2015 10:09:14 -0400 Original-Received: from mtaout23.012.net.il ([80.179.55.175]:37935) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z48b1-0004kb-AU for 20808@debbugs.gnu.org; Sun, 14 Jun 2015 10:09:12 -0400 Original-Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NPX00A00TRC8400@a-mtaout23.012.net.il> for 20808@debbugs.gnu.org; Sun, 14 Jun 2015 17:08:43 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NPX00A3XTYJ3190@a-mtaout23.012.net.il>; Sun, 14 Jun 2015 17:08:43 +0300 (IDT) In-reply-to: <87mw03j57i.fsf@moondust.localdomain> X-012-Sender: halo1@inter.net.il 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:103936 Archived-At: > From: nljlistbox2@gmail.com (N. Jackson) > Date: Sun, 14 Jun 2015 01:15:29 -0300 > > > I have Emacs stuck in a loop and running at 100% CPU. GDB is attached. > > (gdb) bt > #0 0x0000000000462063 in redisplay_window (window=18301693, just_this_one_p=just_this_one_p@entry=true) at ../../src/xdisp.c:15286 > #1 0x0000000000463a36 in redisplay_window_1 (window=window@entry=18301693) at ../../src/xdisp.c:14381 > #2 0x000000000055a58b in internal_condition_case_1 (bfun=0x463a00 , arg=18301693, handlers=, hfun=0x42bac0 ) at ../../src/eval.c:1372 > #3 0x0000000000453aa1 in redisplay_internal () at ../../src/xdisp.c:14024 > #4 0x0000000000454455 in redisplay () at ../../src/xdisp.c:13229 > #5 0x00000000004f44a1 in read_char (commandflag=1, map=map@entry=93744966, prev_event=12311602, used_mouse_menu=used_mouse_menu@entry=0x7ffc481ee12b, end_time=end_time@entry=0x0) at ../../src/keyboard.c:2571 > #6 0x00000000004f5c1f in read_key_sequence (keybuf=keybuf@entry=0x7ffc481ee200, prompt=12311602, 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, bufsize=30) > at ../../src/keyboard.c:9089 > #7 0x00000000004f7990 in command_loop_1 () at ../../src/keyboard.c:1453 > #8 0x000000000055a467 in internal_condition_case (bfun=bfun@entry=0x4f7790 , handlers=, hfun=hfun@entry=0x4ee950 ) > at ../../src/eval.c:1348 > #9 0x00000000004e9f6e in command_loop_2 (ignore=ignore@entry=12311602) at ../../src/keyboard.c:1178 > #10 0x000000000055a34b in internal_catch (tag=12359074, func=func@entry=0x4e9f50 , arg=12311602) at ../../src/eval.c:1112 > #11 0x00000000004ee567 in recursive_edit_1 () at ../../src/keyboard.c:1157 > #12 0x00000000004ee567 in recursive_edit_1 () at ../../src/keyboard.c:778 > #13 0x00000000004ee880 in Frecursive_edit () at ../../src/keyboard.c:849 > #14 0x0000000000418079 in main (argc=, argv=0x7ffc481ee568) at ../../src/emacs.c:1642 > > I can step through the code without difficulty: > > (gdb) step > bidi_shelve_cache () at ../../src/bidi.c:846 > 846 if (bidi_cache_idx == 0) > > But trying to step out with `finish', leaves me looping again trying to > exit from #0: > > (gdb) finish > Run till exit from #0 bidi_shelve_cache () at ../../src/bidi.c:846 > redisplay_window (window=18301693, just_this_one_p=just_this_one_p@entry=true) at ../../src/xdisp.c:15287 > 15287 } while (line_bottom_y (&it1) - start_y < amount_to_scroll); > Value returned is $1 = (void *) 0x0 > (gdb) finish > Run till exit from #0 redisplay_window (window=18301693, just_this_one_p=just_this_one_p@entry=true) at ../../src/xdisp.c:15287 > ^C > Program received signal SIGINT, Interrupt. > 0x0000000000462063 in redisplay_window (window=18301693, just_this_one_p=just_this_one_p@entry=true) at ../../src/xdisp.c:15286 > 15286 SAVE_IT (it1, it, it1data); > (gdb) > > What should I do next? Can any information still be gleaned from this? Yes, the information you collected is useful, thanks. If you could come up with a reproducible recipe for this, it would be even better. Failing that, I could give you instructions regarding GDB commands that will collect some more data, in the hope that the data will allow to come up with a fix. Thanks.