Package: emacs;
Reported by: nljlistbox2 <at> gmail.com (N. Jackson)
Date: Sun, 14 Jun 2015 04:16:02 UTC
Severity: normal
Found in version 24.5
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 20808 in the body.
You can then email your comments to 20808 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#20808
; Package emacs
.
(Sun, 14 Jun 2015 04:16:02 GMT) Full text and rfc822 format available.nljlistbox2 <at> gmail.com (N. Jackson)
:bug-gnu-emacs <at> gnu.org
.
(Sun, 14 Jun 2015 04:16:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: nljlistbox2 <at> gmail.com (N. Jackson) To: bug-gnu-emacs <at> gnu.org Subject: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c 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 <at> entry=true) at ../../src/xdisp.c:15286 #1 0x0000000000463a36 in redisplay_window_1 (window=window <at> entry=18301693) at ../../src/xdisp.c:14381 #2 0x000000000055a58b in internal_condition_case_1 (bfun=0x463a00 <redisplay_window_1>, arg=18301693, handlers=<optimized out>, hfun=0x42bac0 <redisplay_window_error>) 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 <at> entry=93744966, prev_event=12311602, used_mouse_menu=used_mouse_menu <at> entry=0x7ffc481ee12b, end_time=end_time <at> entry=0x0) at ../../src/keyboard.c:2571 #6 0x00000000004f5c1f in read_key_sequence (keybuf=keybuf <at> entry=0x7ffc481ee200, prompt=12311602, dont_downcase_last=dont_downcase_last <at> entry=false, can_return_switch_frame=can_return_switch_frame <at> entry=true, fix_current_buffer=fix_current_buffer <at> entry=true, prevent_redisplay=prevent_redisplay <at> 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 <at> entry=0x4f7790 <command_loop_1>, handlers=<optimized out>, hfun=hfun <at> entry=0x4ee950 <cmd_error>) at ../../src/eval.c:1348 #9 0x00000000004e9f6e in command_loop_2 (ignore=ignore <at> entry=12311602) at ../../src/keyboard.c:1178 #10 0x000000000055a34b in internal_catch (tag=12359074, func=func <at> entry=0x4e9f50 <command_loop_2>, 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=<optimized out>, 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 <at> 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 <at> 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 <at> 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? (This is not with my own build but the optimised one from Fedora 21.) Thanks. === In GNU Emacs 24.5.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.14.12) of 2015-05-07 on buildvm-08.phx2.fedoraproject.org Windowing system distributor `Fedora Project', version 11.0.11603000 System Description: Fedora release 21 (Twenty One) Configured using: `configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no build_alias=x86_64-redhat-linux-gnu host_alias=x86_64-redhat-linux-gnu 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' 'LDFLAGS=-Wl,-z,relro '' Important settings: value of $LC_MONETARY: en_DK.utf8 value of $LC_NUMERIC: en_DK.utf8 value of $LC_TIME: en_DK.utf8 value of $LANG: en_CA.utf8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Group Minor modes in effect: gnus-undo-mode: t recentf-mode: t display-battery-mode: t display-time-mode: t delete-selection-mode: t show-paren-mode: t savehist-mode: t iswitchb-mode: t electric-pair-mode: t desktop-save-mode: t cua-mode: t tooltip-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t size-indication-mode: t column-number-mode: t line-number-mode: t global-visual-line-mode: t visual-line-mode: t transient-mark-mode: t Recent messages: Opening nntp server on nntp.aioe.org...done Opening nntp server on news.gmane.org...done Opening nnimap server on Local Dovecot Mailstore... Opening connection to localhost via tls... Opening connection to localhost...done Opening nnimap server on Local Dovecot Mailstore...done 7 new newsgroups have arrived Checking new news... Reading active file from archive via nnfolder...done Checking new news...done Load-path shadows: /usr/share/emacs/site-lisp/site-start.d/maxima-modes hides /usr/share/emacs/site-lisp/maxima/site_start.d/maxima-modes /home/nlj/.emacs.d/elpa/org-20150511/ob-ref hides /usr/share/emacs/24.5/lisp/org/ob-ref /home/nlj/.emacs.d/elpa/org-20150511/ob-dot hides /usr/share/emacs/24.5/lisp/org/ob-dot /home/nlj/.emacs.d/elpa/org-20150511/ob-octave hides /usr/share/emacs/24.5/lisp/org/ob-octave /home/nlj/.emacs.d/elpa/org-20150511/ob-maxima hides /usr/share/emacs/24.5/lisp/org/ob-maxima /home/nlj/.emacs.d/elpa/org-20150511/ob-scala hides /usr/share/emacs/24.5/lisp/org/ob-scala /home/nlj/.emacs.d/elpa/org-20150511/org-plot hides /usr/share/emacs/24.5/lisp/org/org-plot /home/nlj/.emacs.d/elpa/org-20150511/ob-org hides /usr/share/emacs/24.5/lisp/org/ob-org /home/nlj/.emacs.d/elpa/org-20150511/ob-haskell hides /usr/share/emacs/24.5/lisp/org/ob-haskell /home/nlj/.emacs.d/elpa/org-20150511/org-indent hides /usr/share/emacs/24.5/lisp/org/org-indent /home/nlj/.emacs.d/elpa/org-20150511/org-habit hides /usr/share/emacs/24.5/lisp/org/org-habit /home/nlj/.emacs.d/elpa/org-20150511/org-datetree hides /usr/share/emacs/24.5/lisp/org/org-datetree /home/nlj/.emacs.d/elpa/org-20150511/ob-lob hides /usr/share/emacs/24.5/lisp/org/ob-lob /home/nlj/.emacs.d/elpa/org-20150511/org-list hides /usr/share/emacs/24.5/lisp/org/org-list /home/nlj/.emacs.d/elpa/org-20150511/ob-ruby hides /usr/share/emacs/24.5/lisp/org/ob-ruby /home/nlj/.emacs.d/elpa/org-20150511/ob-R hides /usr/share/emacs/24.5/lisp/org/ob-R /home/nlj/.emacs.d/elpa/org-20150511/ob-awk hides /usr/share/emacs/24.5/lisp/org/ob-awk /home/nlj/.emacs.d/elpa/org-20150511/ob-sqlite hides /usr/share/emacs/24.5/lisp/org/ob-sqlite /home/nlj/.emacs.d/elpa/org-20150511/ob-makefile hides /usr/share/emacs/24.5/lisp/org/ob-makefile /home/nlj/.emacs.d/elpa/org-20150511/org-capture hides /usr/share/emacs/24.5/lisp/org/org-capture /home/nlj/.emacs.d/elpa/org-20150511/org-archive hides /usr/share/emacs/24.5/lisp/org/org-archive /home/nlj/.emacs.d/elpa/org-20150511/ob-python hides /usr/share/emacs/24.5/lisp/org/ob-python /home/nlj/.emacs.d/elpa/org-20150511/ob-js hides /usr/share/emacs/24.5/lisp/org/ob-js /home/nlj/.emacs.d/elpa/org-20150511/ox-md hides /usr/share/emacs/24.5/lisp/org/ox-md /home/nlj/.emacs.d/elpa/org-20150511/org-table hides /usr/share/emacs/24.5/lisp/org/org-table /home/nlj/.emacs.d/elpa/org-20150511/org-install hides /usr/share/emacs/24.5/lisp/org/org-install /home/nlj/.emacs.d/elpa/org-20150511/ox-latex hides /usr/share/emacs/24.5/lisp/org/ox-latex /home/nlj/.emacs.d/elpa/org-20150511/org-docview hides /usr/share/emacs/24.5/lisp/org/org-docview /home/nlj/.emacs.d/elpa/org-20150511/ox-ascii hides /usr/share/emacs/24.5/lisp/org/ox-ascii /home/nlj/.emacs.d/elpa/org-20150511/org-mhe hides /usr/share/emacs/24.5/lisp/org/org-mhe /home/nlj/.emacs.d/elpa/org-20150511/org-crypt hides /usr/share/emacs/24.5/lisp/org/org-crypt /home/nlj/.emacs.d/elpa/org-20150511/org-macro hides /usr/share/emacs/24.5/lisp/org/org-macro /home/nlj/.emacs.d/elpa/org-20150511/ox-odt hides /usr/share/emacs/24.5/lisp/org/ox-odt /home/nlj/.emacs.d/elpa/org-20150511/org-eshell hides /usr/share/emacs/24.5/lisp/org/org-eshell /home/nlj/.emacs.d/elpa/org-20150511/ob-fortran hides /usr/share/emacs/24.5/lisp/org/ob-fortran /home/nlj/.emacs.d/elpa/org-20150511/org-entities hides /usr/share/emacs/24.5/lisp/org/org-entities /home/nlj/.emacs.d/elpa/org-20150511/ob-picolisp hides /usr/share/emacs/24.5/lisp/org/ob-picolisp /home/nlj/.emacs.d/elpa/org-20150511/org-feed hides /usr/share/emacs/24.5/lisp/org/org-feed /home/nlj/.emacs.d/elpa/org-20150511/ox hides /usr/share/emacs/24.5/lisp/org/ox /home/nlj/.emacs.d/elpa/org-20150511/org-id hides /usr/share/emacs/24.5/lisp/org/org-id /home/nlj/.emacs.d/elpa/org-20150511/ob-clojure hides /usr/share/emacs/24.5/lisp/org/ob-clojure /home/nlj/.emacs.d/elpa/org-20150511/org-macs hides /usr/share/emacs/24.5/lisp/org/org-macs /home/nlj/.emacs.d/elpa/org-20150511/ob-table hides /usr/share/emacs/24.5/lisp/org/ob-table /home/nlj/.emacs.d/elpa/org-20150511/org-pcomplete hides /usr/share/emacs/24.5/lisp/org/org-pcomplete /home/nlj/.emacs.d/elpa/org-20150511/ox-publish hides /usr/share/emacs/24.5/lisp/org/ox-publish /home/nlj/.emacs.d/elpa/org-20150511/ob-scheme hides /usr/share/emacs/24.5/lisp/org/ob-scheme /home/nlj/.emacs.d/elpa/org-20150511/ob-keys hides /usr/share/emacs/24.5/lisp/org/ob-keys /home/nlj/.emacs.d/elpa/org-20150511/ob-io hides /usr/share/emacs/24.5/lisp/org/ob-io /home/nlj/.emacs.d/elpa/org-20150511/ox-texinfo hides /usr/share/emacs/24.5/lisp/org/ox-texinfo /home/nlj/.emacs.d/elpa/org-20150511/org-bibtex hides /usr/share/emacs/24.5/lisp/org/org-bibtex /home/nlj/.emacs.d/elpa/org-20150511/org-protocol hides /usr/share/emacs/24.5/lisp/org/org-protocol /home/nlj/.emacs.d/elpa/org-20150511/ob-mscgen hides /usr/share/emacs/24.5/lisp/org/ob-mscgen /home/nlj/.emacs.d/elpa/org-20150511/org-irc hides /usr/share/emacs/24.5/lisp/org/org-irc /home/nlj/.emacs.d/elpa/org-20150511/org-faces hides /usr/share/emacs/24.5/lisp/org/org-faces /home/nlj/.emacs.d/elpa/org-20150511/ob-lilypond hides /usr/share/emacs/24.5/lisp/org/ob-lilypond /home/nlj/.emacs.d/elpa/org-20150511/org-w3m hides /usr/share/emacs/24.5/lisp/org/org-w3m /home/nlj/.emacs.d/elpa/org-20150511/ob-ditaa hides /usr/share/emacs/24.5/lisp/org/ob-ditaa /home/nlj/.emacs.d/elpa/org-20150511/ob-comint hides /usr/share/emacs/24.5/lisp/org/ob-comint /home/nlj/.emacs.d/elpa/org-20150511/ob-css hides /usr/share/emacs/24.5/lisp/org/ob-css /home/nlj/.emacs.d/elpa/org-20150511/org hides /usr/share/emacs/24.5/lisp/org/org /home/nlj/.emacs.d/elpa/org-20150511/org-src hides /usr/share/emacs/24.5/lisp/org/org-src /home/nlj/.emacs.d/elpa/org-20150511/ob-eval hides /usr/share/emacs/24.5/lisp/org/ob-eval /home/nlj/.emacs.d/elpa/org-20150511/ob-gnuplot hides /usr/share/emacs/24.5/lisp/org/ob-gnuplot /home/nlj/.emacs.d/elpa/org-20150511/ox-man hides /usr/share/emacs/24.5/lisp/org/ox-man /home/nlj/.emacs.d/elpa/org-20150511/org-version hides /usr/share/emacs/24.5/lisp/org/org-version /home/nlj/.emacs.d/elpa/org-20150511/org-mobile hides /usr/share/emacs/24.5/lisp/org/org-mobile /home/nlj/.emacs.d/elpa/org-20150511/ob-emacs-lisp hides /usr/share/emacs/24.5/lisp/org/ob-emacs-lisp /home/nlj/.emacs.d/elpa/org-20150511/ob-perl hides /usr/share/emacs/24.5/lisp/org/ob-perl /home/nlj/.emacs.d/elpa/org-20150511/ob-exp hides /usr/share/emacs/24.5/lisp/org/ob-exp /home/nlj/.emacs.d/elpa/org-20150511/org-info hides /usr/share/emacs/24.5/lisp/org/org-info /home/nlj/.emacs.d/elpa/org-20150511/org-footnote hides /usr/share/emacs/24.5/lisp/org/org-footnote /home/nlj/.emacs.d/elpa/org-20150511/ob-sh hides /usr/share/emacs/24.5/lisp/org/ob-sh /home/nlj/.emacs.d/elpa/org-20150511/org-compat hides /usr/share/emacs/24.5/lisp/org/org-compat /home/nlj/.emacs.d/elpa/org-20150511/org-agenda hides /usr/share/emacs/24.5/lisp/org/org-agenda /home/nlj/.emacs.d/elpa/org-20150511/org-timer hides /usr/share/emacs/24.5/lisp/org/org-timer /home/nlj/.emacs.d/elpa/org-20150511/ob-shen hides /usr/share/emacs/24.5/lisp/org/ob-shen /home/nlj/.emacs.d/elpa/org-20150511/ob-tangle hides /usr/share/emacs/24.5/lisp/org/ob-tangle /home/nlj/.emacs.d/elpa/org-20150511/ob-calc hides /usr/share/emacs/24.5/lisp/org/ob-calc /home/nlj/.emacs.d/elpa/org-20150511/org-inlinetask hides /usr/share/emacs/24.5/lisp/org/org-inlinetask /home/nlj/.emacs.d/elpa/org-20150511/ob-C hides /usr/share/emacs/24.5/lisp/org/ob-C /home/nlj/.emacs.d/elpa/org-20150511/org-gnus hides /usr/share/emacs/24.5/lisp/org/org-gnus /home/nlj/.emacs.d/elpa/org-20150511/org-clock hides /usr/share/emacs/24.5/lisp/org/org-clock /home/nlj/.emacs.d/elpa/org-20150511/ox-icalendar hides /usr/share/emacs/24.5/lisp/org/ox-icalendar /home/nlj/.emacs.d/elpa/org-20150511/ox-beamer hides /usr/share/emacs/24.5/lisp/org/ox-beamer /home/nlj/.emacs.d/elpa/org-20150511/org-mouse hides /usr/share/emacs/24.5/lisp/org/org-mouse /home/nlj/.emacs.d/elpa/org-20150511/ob-ocaml hides /usr/share/emacs/24.5/lisp/org/ob-ocaml /home/nlj/.emacs.d/elpa/org-20150511/ob-plantuml hides /usr/share/emacs/24.5/lisp/org/ob-plantuml /home/nlj/.emacs.d/elpa/org-20150511/ob-screen hides /usr/share/emacs/24.5/lisp/org/ob-screen /home/nlj/.emacs.d/elpa/org-20150511/org-colview hides /usr/share/emacs/24.5/lisp/org/org-colview /home/nlj/.emacs.d/elpa/org-20150511/ob-sass hides /usr/share/emacs/24.5/lisp/org/ob-sass /home/nlj/.emacs.d/elpa/org-20150511/ox-html hides /usr/share/emacs/24.5/lisp/org/ox-html /home/nlj/.emacs.d/elpa/org-20150511/org-bbdb hides /usr/share/emacs/24.5/lisp/org/org-bbdb /home/nlj/.emacs.d/elpa/org-20150511/ob-lisp hides /usr/share/emacs/24.5/lisp/org/ob-lisp /home/nlj/.emacs.d/elpa/org-20150511/ob-java hides /usr/share/emacs/24.5/lisp/org/ob-java /home/nlj/.emacs.d/elpa/org-20150511/org-rmail hides /usr/share/emacs/24.5/lisp/org/org-rmail /home/nlj/.emacs.d/elpa/org-20150511/ob-asymptote hides /usr/share/emacs/24.5/lisp/org/ob-asymptote /home/nlj/.emacs.d/elpa/org-20150511/ob-matlab hides /usr/share/emacs/24.5/lisp/org/ob-matlab /home/nlj/.emacs.d/elpa/org-20150511/ox-org hides /usr/share/emacs/24.5/lisp/org/ox-org /home/nlj/.emacs.d/elpa/org-20150511/org-element hides /usr/share/emacs/24.5/lisp/org/org-element /home/nlj/.emacs.d/elpa/org-20150511/org-attach hides /usr/share/emacs/24.5/lisp/org/org-attach /home/nlj/.emacs.d/elpa/org-20150511/ob-ledger hides /usr/share/emacs/24.5/lisp/org/ob-ledger /home/nlj/.emacs.d/elpa/org-20150511/ob-core hides /usr/share/emacs/24.5/lisp/org/ob-core /home/nlj/.emacs.d/elpa/org-20150511/ob-sql hides /usr/share/emacs/24.5/lisp/org/ob-sql /home/nlj/.emacs.d/elpa/org-20150511/ob-latex hides /usr/share/emacs/24.5/lisp/org/ob-latex /home/nlj/.emacs.d/elpa/org-20150511/org-ctags hides /usr/share/emacs/24.5/lisp/org/org-ctags /home/nlj/.emacs.d/elpa/org-20150511/org-loaddefs hides /usr/share/emacs/24.5/lisp/org/org-loaddefs /home/nlj/.emacs.d/elpa/org-20150511/ob hides /usr/share/emacs/24.5/lisp/org/ob ~/.emacs.d/modules/emms/lisp/tq hides /usr/share/emacs/24.5/lisp/emacs-lisp/tq Features: (nndraft nnmh utf-7 nnimap utf7 gnutls nnfolder parse-time bbdb-gnus bbdb-mua epa-file epa derived epg netrc network-stream starttls tls gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 epg-config mm-view mml-smime smime dig nntp gnus-cache gnus-sum nnoo gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range gnus-win gnus gnus-ems nnheader help-mode pp shadow bbdb-message mail-extr emacsbug message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils sage sage-load rx emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd tq emms-playing-time emms-lyrics emms-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse auth-source eieio byte-opt bytecomp byte-compile cl-extra cconv eieio-core mm-util mail-prsvr password-cache url-vars mailcap emms-streams emms-tag-editor emms-mark emms-mode-line emms-cache emms-info-ogginfo emms-info-mp3info emms-info later-do emms-playlist-mode emms-player-vlc emms-player-mplayer emms-player-simple emms-source-playlist emms-source-file locate emms-setup emms emms-compat cl-macs org-element org-rmail org-mhe org-irc org-info org-gnus gnus-util org-docview doc-view jka-compr image-mode dired org-bibtex bibtex org-bbdb org-w3m org-agenda org advice help-fns org-macro org-footnote org-pcomplete pcomplete org-list org-faces org-entities noutline outline easy-mmode org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint comint ansi-color ring ob-core ob-eval org-compat org-macs org-loaddefs format-spec find-func bbdb-anniv diary-lib diary-loaddefs cal-menu calendar cal-loaddefs bbdb-com crm mailabbrev bbdb bbdb-site timezone tex-site info package edmacro kmacro recentf tree-widget battery time saveplace wheatgrass-theme delsel paren savehist iswitchb elec-pair desktop frameset cua-base cus-start cus-load color-theme easymenu wid-edit cl gv cl-loaddefs cl-lib bbdb-loaddefs time-date tooltip electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind gfilenotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) Memory information: ((conses 16 359689 20460) (symbols 48 52347 0) (miscs 40 5232 5317) (strings 32 91131 7914) (string-bytes 1 3165959) (vectors 16 33087) (vector-slots 8 669083 3111) (floats 8 323 309) (intervals 56 1700 0) (buffers 960 29) (heap 1024 75344 1733))
bug-gnu-emacs <at> gnu.org
:bug#20808
; Package emacs
.
(Sun, 14 Jun 2015 14:10:03 GMT) Full text and rfc822 format available.Message #8 received at 20808 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: nljlistbox2 <at> gmail.com (N. Jackson) Cc: 20808 <at> debbugs.gnu.org Subject: Re: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c Date: Sun, 14 Jun 2015 17:08:34 +0300
> From: nljlistbox2 <at> 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 <at> entry=true) at ../../src/xdisp.c:15286 > #1 0x0000000000463a36 in redisplay_window_1 (window=window <at> entry=18301693) at ../../src/xdisp.c:14381 > #2 0x000000000055a58b in internal_condition_case_1 (bfun=0x463a00 <redisplay_window_1>, arg=18301693, handlers=<optimized out>, hfun=0x42bac0 <redisplay_window_error>) 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 <at> entry=93744966, prev_event=12311602, used_mouse_menu=used_mouse_menu <at> entry=0x7ffc481ee12b, end_time=end_time <at> entry=0x0) at ../../src/keyboard.c:2571 > #6 0x00000000004f5c1f in read_key_sequence (keybuf=keybuf <at> entry=0x7ffc481ee200, prompt=12311602, dont_downcase_last=dont_downcase_last <at> entry=false, can_return_switch_frame=can_return_switch_frame <at> entry=true, fix_current_buffer=fix_current_buffer <at> entry=true, prevent_redisplay=prevent_redisplay <at> 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 <at> entry=0x4f7790 <command_loop_1>, handlers=<optimized out>, hfun=hfun <at> entry=0x4ee950 <cmd_error>) > at ../../src/eval.c:1348 > #9 0x00000000004e9f6e in command_loop_2 (ignore=ignore <at> entry=12311602) at ../../src/keyboard.c:1178 > #10 0x000000000055a34b in internal_catch (tag=12359074, func=func <at> entry=0x4e9f50 <command_loop_2>, 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=<optimized out>, 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 <at> 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 <at> 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 <at> 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.
bug-gnu-emacs <at> gnu.org
:bug#20808
; Package emacs
.
(Sun, 14 Jun 2015 19:17:02 GMT) Full text and rfc822 format available.Message #11 received at 20808 <at> debbugs.gnu.org (full text, mbox):
From: nljlistbox2 <at> gmail.com (N. Jackson) To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20808 <at> debbugs.gnu.org Subject: Re: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c Date: Sun, 14 Jun 2015 16:16:47 -0300
At 11:08 -0300 on Sunday 2015-06-14, Eli Zaretskii wrote: > 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. 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. [The typical view in Gnus when reading mail has the frame divided horizontally (a top and a bottom window), with the short Summary buffer window on top displaying the list of mail in the current "group" (mail box/folder/directory), and a taller window at the bottom (the Article buffer) displaying the content of the mail that is currently selected in the Summary buffer.] I was going to say that I doubt that I can reproduce the problem but while trying the steps above, it happenned again. It seemed (perhaps) to happen after scrolling the Eww window with the scroll thumb. The backtrace was the same. I haven't been able to reproduce the problem in my own build of Emacs 24.5, but I don't know yet if that's because I haven't taken exactly the same steps, or if it's because of different build settings. [I haven't reproduced the problem on master either, but there things are different so I don't expect to. Eww now no longer dispays in the short window, but in the taller one, and the Eww page layout is simpler and cleaner.] I will work on finding a simple reproducible recipe for the Fedora 21 build (preferably removing Gnus from the equation), and will also see if I can reproduce the problem in my own build. 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.
bug-gnu-emacs <at> gnu.org
:bug#20808
; Package emacs
.
(Sun, 14 Jun 2015 19:47:03 GMT) Full text and rfc822 format available.Message #14 received at 20808 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: nljlistbox2 <at> gmail.com (N. Jackson) Cc: 20808 <at> debbugs.gnu.org Subject: Re: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c Date: Sun, 14 Jun 2015 22:46:18 +0300
> From: nljlistbox2 <at> gmail.com (N. Jackson) > Cc: 20808 <at> debbugs.gnu.org > 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.
bug-gnu-emacs <at> gnu.org
:bug#20808
; Package emacs
.
(Mon, 15 Jun 2015 15:05:03 GMT) Full text and rfc822 format available.Message #17 received at 20808 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: nljlistbox2 <at> gmail.com Cc: 20808 <at> debbugs.gnu.org Subject: Re: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c Date: Mon, 15 Jun 2015 18:03:55 +0300
> Date: Sun, 14 Jun 2015 22:46:18 +0300 > From: Eli Zaretskii <eliz <at> gnu.org> > Cc: 20808 <at> debbugs.gnu.org > > 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 And one more: the value of ZV (a.k.a. current_buffer->zv). Thanks.
bug-gnu-emacs <at> gnu.org
:bug#20808
; Package emacs
.
(Mon, 15 Jun 2015 15:44:01 GMT) Full text and rfc822 format available.Message #20 received at 20808 <at> debbugs.gnu.org (full text, mbox):
From: nljlistbox2 <at> gmail.com (N. Jackson) To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20808 <at> debbugs.gnu.org Subject: Re: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c Date: Mon, 15 Jun 2015 12:42:57 -0300
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.
bug-gnu-emacs <at> gnu.org
:bug#20808
; Package emacs
.
(Tue, 16 Jun 2015 15:04:02 GMT) Full text and rfc822 format available.Message #23 received at 20808 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: nljlistbox2 <at> gmail.com (N. Jackson) Cc: 20808 <at> debbugs.gnu.org Subject: Re: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c Date: Tue, 16 Jun 2015 18:03:22 +0300
> From: nljlistbox2 <at> gmail.com (N. Jackson) > Cc: 20808 <at> debbugs.gnu.org > Date: Mon, 15 Jun 2015 12:42:57 -0300 > > It's not clear to me if GDB prints out the statement it just executed or > the statement that it will execute next The latter. > 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. As expected. That's why it infloops. > 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 These values make no sense. I guess the optimized binary lies to GDB. > 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 This makes much more sense. > I hope this helps, and I await further instructions should further > debugging be worthwhile. Yes, it helps. Please try the patch below. If it solves the problem, I will install it shortly. Please try both an optimized and a non-optimized build, if you can afford that. diff --git a/src/xdisp.c b/src/xdisp.c index 7c15330..1e2f1b26 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -15094,7 +15094,8 @@ enum 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); + } while (IT_CHARPOS (it) < ZV + && line_bottom_y (&it1) - start_y < amount_to_scroll); } /* If STARTP is unchanged, move it down another screen line. */
bug-gnu-emacs <at> gnu.org
:bug#20808
; Package emacs
.
(Wed, 17 Jun 2015 02:01:02 GMT) Full text and rfc822 format available.Message #26 received at 20808 <at> debbugs.gnu.org (full text, mbox):
From: nljlistbox2 <at> gmail.com (N. Jackson) To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20808 <at> debbugs.gnu.org Subject: Re: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c Date: Tue, 16 Jun 2015 22:59:51 -0300
At 12:03 -0300 on Tuesday 2015-06-16, Eli Zaretskii wrote: > Please try the patch below. If it solves the problem, I will install > it shortly. Please try both an optimized and a non-optimized build, if > you can afford that. > > diff --git a/src/xdisp.c b/src/xdisp.c > index 7c15330..1e2f1b26 100644 > --- a/src/xdisp.c > +++ b/src/xdisp.c > @@ -15094,7 +15094,8 @@ enum > 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); > + } while (IT_CHARPOS (it) < ZV > + && line_bottom_y (&it1) - start_y < amount_to_scroll); > } > > /* If STARTP is unchanged, move it down another screen line. */ Short version: I am reasonably confident that the infloop does not occur with this patch. Longer version: I say "reasonably" because I still do not have an exact recipe to trigger the infloop. It seems to be some interaction with the layout of the web page, the height of the images and the height of the window. I was unsuccessful reproducing the problem with C-u 12 M-x split-window-below and then opening the web page in Eww, possibly because the height required to reproduce the problem is not exactly 11 (the way Gnus sets the window heights maybe gives a fractional size to the upper window). In any case, the infloop is not too hard to trigger by moving around the window and scrolling. With my own (unoptimised build), in four trials I was able to trigger the infloop in 5 minutes 16 seconds, 57 seconds, 48 seconds, and 58 seconds from the time I clicked the email link that opened the offending web page. (The time was less after I got more aggressive with the interface.) With the Fedora 21 build, in four trials I triggered the infloop in 2:17, 1:38, 0:49, and 0:43. With the patch, in my unoptimised build, configured with ./configure --prefix=/home/nlj/local/ --enable-checking='yes,glyphs' CFLAGS="-O0 -g3 -ggdb" , I was unable to trigger an infloop in over seven and a half minutes of aggressive interaction with the window displaying the offending web page. Also with the patch, in a build configured with the Fedora 21 build's settings: ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no build_alias=x86_64-redhat-linux-gnu host_alias=x86_64-redhat-linux-gnu CFLAGS="-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic" LDFLAGS="-Wl,-z,relro" , I was unable to trigger an infloop in over ten minutes of aggressive interaction with the window displaying the offending web page.
bug-gnu-emacs <at> gnu.org
:bug#20808
; Package emacs
.
(Wed, 17 Jun 2015 02:46:02 GMT) Full text and rfc822 format available.Message #29 received at 20808 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: nljlistbox2 <at> gmail.com (N. Jackson) Cc: 20808 <at> debbugs.gnu.org Subject: Re: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c Date: Wed, 17 Jun 2015 05:45:14 +0300
> From: nljlistbox2 <at> gmail.com (N. Jackson) > Cc: 20808 <at> debbugs.gnu.org > Date: Tue, 16 Jun 2015 22:59:51 -0300 > > Short version: I am reasonably confident that the infloop does not occur > with this patch. OK, thanks. I will install the change shortly, but just for more confidence: is it true that all of these infloops happened when you tried to scroll with bottom of the window near the end of the buffer? That's the condition the patch attempts to fix.
bug-gnu-emacs <at> gnu.org
:bug#20808
; Package emacs
.
(Wed, 17 Jun 2015 11:31:03 GMT) Full text and rfc822 format available.Message #32 received at 20808 <at> debbugs.gnu.org (full text, mbox):
From: nljlistbox2 <at> gmail.com (N. Jackson) To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20808 <at> debbugs.gnu.org Subject: Re: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c Date: Wed, 17 Jun 2015 08:30:18 -0300
At 23:45 -0300 on Tuesday 2015-06-16, Eli Zaretskii wrote: > OK, thanks. I will install the change shortly, but just for more > confidence: is it true that all of these infloops happened when you > tried to scroll with bottom of the window near the end of the buffer? > That's the condition the patch attempts to fix. FWIW, for about half of the infloops, I attatched the debugger to check it was the same infloop because I wasn't convinced I'd triggered it the same way, and it was in that same loop (ending at line 15287 of xdisp.c). As for "near" the end of the buffer, yes, for some value of "near". That webpage has some text at the top and below that are images only. It turns out (I just checked with an even shorter window), that Eww/shr is displaying all of those images on the same line and that line is the last line of the buffer. The images get sized (by Eww/shr?) so that each of them fits within the window height and with the even shorter window I just tried (maybe four or five text lines high), they are sufficiently small that the entire line of them fits within the width of the window. But with the eleven-text-lines-high window that the webpage opens in from Gnus, the line of images is wider than the window so it is wrapped to two "lines" or rows in the window. The infloop always occurs when the window is showing the top row of images (and a little bit of the top of the tallest image in the second row), so (because the line of images is the last line of the buffer), yes, the infloop occurs when scrolling near the last line of the buffer; however it is not the last line of the window, but rather, more like half way up it, if that makes any sense. I hope that helps.
Eli Zaretskii <eliz <at> gnu.org>
:nljlistbox2 <at> gmail.com (N. Jackson)
:Message #37 received at 20808-done <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: nljlistbox2 <at> gmail.com (N. Jackson) Cc: 20808-done <at> debbugs.gnu.org Subject: Re: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c Date: Wed, 17 Jun 2015 20:22:16 +0300
> From: nljlistbox2 <at> gmail.com (N. Jackson) > Cc: 20808 <at> debbugs.gnu.org > Date: Wed, 17 Jun 2015 08:30:18 -0300 > > As for "near" the end of the buffer, yes, for some value of "near". > > That webpage has some text at the top and below that are images only. It > turns out (I just checked with an even shorter window), that Eww/shr is > displaying all of those images on the same line and that line is the > last line of the buffer. > > The images get sized (by Eww/shr?) so that each of them fits within the > window height and with the even shorter window I just tried (maybe four > or five text lines high), they are sufficiently small that the entire > line of them fits within the width of the window. > > But with the eleven-text-lines-high window that the webpage opens in > from Gnus, the line of images is wider than the window so it is wrapped > to two "lines" or rows in the window. > > The infloop always occurs when the window is showing the top row of > images (and a little bit of the top of the tallest image in the second > row), so (because the line of images is the last line of the buffer), > yes, the infloop occurs when scrolling near the last line of the buffer; > however it is not the last line of the window, but rather, more like > half way up it, if that makes any sense. Sorry, when I was talking about "lines", I really meant "screen lines", i.e. horizontal rows of "display elements", be it character glyphs or images. I didn't mean "lines" as the measure of height. > I hope that helps. It does, thanks. I've pushed the change. Thanks a lot for your help in debugging this.
bug-gnu-emacs <at> gnu.org
:bug#20808
; Package emacs
.
(Wed, 17 Jun 2015 19:01:03 GMT) Full text and rfc822 format available.Message #40 received at 20808 <at> debbugs.gnu.org (full text, mbox):
From: nljlistbox2 <at> gmail.com (N. Jackson) To: 20808 <at> debbugs.gnu.org Cc: eliz <at> gnu.org Subject: Re: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c Date: Wed, 17 Jun 2015 16:00:28 -0300
At 14:22 -0300 on Wednesday 2015-06-17, Eli Zaretskii wrote: > Sorry, when I was talking about "lines", I really meant "screen > lines", i.e. horizontal rows of "display elements", be it character > glyphs or images. I didn't mean "lines" as the measure of height. No worries, and no confusion really, I was just trying to be clear given the potential for ambiguity/misunderstanding. > I've pushed the change. Great, thank you.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Thu, 16 Jul 2015 11:24:04 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.