Package: emacs;
Reported by: Luis Gerhorst <privat <at> luisgerhorst.de>
Date: Wed, 20 Dec 2017 19:33:02 UTC
Severity: normal
Found in version 25.1
Fixed in version 26.0.91
Done: Glenn Morris <rgm <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 29789 in the body.
You can then email your comments to 29789 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#29789
; Package emacs
.
(Wed, 20 Dec 2017 19:33:02 GMT) Full text and rfc822 format available.Luis Gerhorst <privat <at> luisgerhorst.de>
:bug-gnu-emacs <at> gnu.org
.
(Wed, 20 Dec 2017 19:33:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Luis Gerhorst <privat <at> luisgerhorst.de> To: bug-gnu-emacs <at> gnu.org Subject: 25.1; Emacs blocks user input when using visual-fill-column in wide terminals Date: Wed, 20 Dec 2017 20:28:27 +0100
1. Run Emacs in a wide terminal (about 150 characters, 100 isn't enough): emacs -nw -Q 2. Load a arbitrary theme: M-x load-theme adwaita 3. Load visual-fill-column. E.g. by copying https://raw.githubusercontent.com/joostkremers/visual-fill-column/c0e5ec8f88a7598f7afdee565978410bee0de2a0/visual-fill-column.el into the scratch buffer and typing M-x eval-buffer. There is nothing suspicious about the code, regular lisp code should not be able to block Emacs (I believe). It does not seem to contain any loops that block the main thread. The maintainer knows about the issue but say's it may be an issue with low-level code. In GUI Emacs it works. 4. Open a buffer and enable visual-fill-column-mode: M-x visual-fill-column-mode 5. Your Emacs is now blocked. In ZSH when I type C-g C-g I'm back in my shell which displays the message "zsh: suspended emacs -nw -Q". This bug has been encountered by multiple users on different operating systems (Debian, Ubuntu and macOS) running different versions of Emacs (24.5 to 26.0), some reported it here: https://github.com/joostkremers/visual-fill-column/issues/1 In GNU Emacs 25.1.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.11) of 2017-09-15, modified by Debian built on trouble System Description: Debian GNU/Linux 9.3 (stretch) Configured using: 'configure --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --with-pop=yes --enable-locallisppath=/etc/emacs25:/etc/emacs:/usr/local/share/emacs/25.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/25.1/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --with-pop=yes --enable-locallisppath=/etc/emacs25:/etc/emacs:/usr/local/share/emacs/25.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/25.1/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/emacs25-wN2qS3/emacs25-25.1+1=. -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 Important settings: value of $LC_ALL: en_US.UTF-8 value of $LC_CTYPE: C.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: GFM Minor modes in effect: luis-text-wrap-mode: t visual-fill-column-mode: t adaptive-wrap-prefix-mode: t diff-auto-refine-mode: t shell-dirtrack-mode: t ws-butler-mode: t show-paren-mode: t frame-restore-mode: t winner-mode: t global-company-mode: t company-mode: t which-key-mode: t flx-ido-mode: t ido-vertical-mode: t crm-custom-mode: t ido-ubiquitous-mode: t ido-everywhere: t projectile-global-mode: t projectile-mode: t recentf-mode: t global-auto-revert-mode: t override-global-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t visual-line-mode: t transient-mark-mode: t Recent messages: Source file ‘/home/cip/2016/un65esoq/.emacs.d/elpa/bind-key-2.3/bind-key.el’ newer than byte-compiled file Loading /home/cip/2016/un65esoq/.emacs.d/recentf...done Cleaning up the recentf list...done (0 removed) Source file ‘/home/cip/2016/un65esoq/.emacs.d/elpa/s-1.12.0/s.el’ newer than byte-compiled file Source file ‘/home/cip/2016/un65esoq/.emacs.d/elpa/company-0.9.4/company-dabbrev.el’ newer than byte-compiled file Unable to load color "brightgreen" [12 times] For information about GNU Emacs and the GNU system, type C-h C-a. Mark saved where search started Visual-Fill-Column mode enabled in current buffer GNU Emacs 25.1.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.11) of 2017-09-15, modified by Debian Load-path shadows: /home/cip/2016/un65esoq/.emacs.d/elpa/magit-2.11.0/magit-popup hides /home/cip/2016/un65esoq/.emacs.d/elpa/magit-popup-2.12.0/magit-popup /home/cip/2016/un65esoq/.emacs.d/elpa/lua-mode-20151025/lua-mode hides /usr/share/emacs25/site-lisp/lua-mode/lua-mode /home/cip/2016/un65esoq/.emacs.d/elpa/apache-mode-2.1/apache-mode hides /usr/share/emacs25/site-lisp/emacs-goodies-el/apache-mode /home/cip/2016/un65esoq/.emacs.d/elpa/diminish-0.45/diminish hides /usr/share/emacs25/site-lisp/emacs-goodies-el/diminish /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-ispell hides /usr/share/emacs25/site-lisp/auctex/tex-ispell /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/context hides /usr/share/emacs25/site-lisp/auctex/context /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-buf hides /usr/share/emacs25/site-lisp/auctex/tex-buf /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/font-latex hides /usr/share/emacs25/site-lisp/auctex/font-latex /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/preview hides /usr/share/emacs25/site-lisp/auctex/preview /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-jp hides /usr/share/emacs25/site-lisp/auctex/tex-jp /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex hides /usr/share/emacs25/site-lisp/auctex/tex /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/latex hides /usr/share/emacs25/site-lisp/auctex/latex /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/context-en hides /usr/share/emacs25/site-lisp/auctex/context-en /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/context-nl hides /usr/share/emacs25/site-lisp/auctex/context-nl /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-info hides /usr/share/emacs25/site-lisp/auctex/tex-info /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/bib-cite hides /usr/share/emacs25/site-lisp/auctex/bib-cite /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-mik hides /usr/share/emacs25/site-lisp/auctex/tex-mik /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-style hides /usr/share/emacs25/site-lisp/auctex/tex-style /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/plain-tex hides /usr/share/emacs25/site-lisp/auctex/plain-tex /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-bar hides /usr/share/emacs25/site-lisp/auctex/tex-bar /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/multi-prompt hides /usr/share/emacs25/site-lisp/auctex/multi-prompt /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-font hides /usr/share/emacs25/site-lisp/auctex/tex-font /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-fold hides /usr/share/emacs25/site-lisp/auctex/tex-fold /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/toolbar-x hides /usr/share/emacs25/site-lisp/auctex/toolbar-x /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/texmathp hides /usr/share/emacs25/site-lisp/auctex/texmathp /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/prv-emacs hides /usr/share/emacs25/site-lisp/auctex/prv-emacs /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/auctex hides /usr/share/emacs/site-lisp/auctex /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-site hides /usr/share/emacs/site-lisp/tex-site /usr/share/emacs/25.1/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup /usr/share/emacs/25.1/site-lisp/why3 hides /usr/share/emacs/site-lisp/why3 /usr/share/emacs25/site-lisp/cmake-data/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode /home/cip/2016/un65esoq/.emacs.d/elpa/dsvn-20130120.1257/dsvn hides /usr/share/emacs/site-lisp/dsvn /usr/share/emacs/site-lisp/rst hides /usr/share/emacs/25.1/lisp/textmodes/rst /home/cip/2016/un65esoq/.emacs.d/elpa/scala-mode-1.0.0/ob-scala hides /usr/share/emacs/25.1/lisp/org/ob-scala /usr/share/emacs25/site-lisp/latex-cjk-thai/thai-word hides /usr/share/emacs/25.1/lisp/language/thai-word /usr/share/emacs/25.1/site-lisp/slime/lib/ert-x hides /usr/share/emacs/25.1/lisp/emacs-lisp/ert-x /usr/share/emacs/25.1/site-lisp/slime/lib/ert hides /usr/share/emacs/25.1/lisp/emacs-lisp/ert /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-ispell hides /usr/share/emacs/site-lisp/auctex/tex-ispell /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/preview hides /usr/share/emacs/site-lisp/auctex/preview /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex hides /usr/share/emacs/site-lisp/auctex/tex /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/context-en hides /usr/share/emacs/site-lisp/auctex/context-en /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/context hides /usr/share/emacs/site-lisp/auctex/context /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/plain-tex hides /usr/share/emacs/site-lisp/auctex/plain-tex /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/latex hides /usr/share/emacs/site-lisp/auctex/latex /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x /home/cip/2016/un65esoq/.emacs.d/elpa/auctex-12.1.0/prv-emacs hides /usr/share/emacs/site-lisp/auctex/prv-emacs Features: (shadow sort mail-extr emacsbug message rfc822 mml mml-sec epg mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils smex luis-text-wrap visual-fill-column adaptive-wrap markdown-mode derived url-parse url-vars noutline outline misearch multi-isearch dired-aux minibuffer-complete-cycle vc-git diff-mode bookmark pp xcscope dired term/xterm xterm paredit aggressive-indent lisp-mnt luis-comment-auto-fill fillcode python tramp-sh tramp tramp-compat auth-source eieio eieio-core gnus-util mm-util help-fns mail-prsvr password-cache tramp-loaddefs trampver ucs-normalize shell pcomplete format-spec json map cc-mode cc-fonts cc-guess cc-menus cc-styles cc-align cc-cmds cc-engine cc-vars cc-defs cc-bytecomp ws-butler elec-pair cap-words superword subword fic-mode company-jedi jedi-core python-environment epc ctable concurrent deferred subr-x luis-iterm luis-apps luis-mail luis-modes luis-terminal luis-xml luis-make luis-scala luis-sbt luis-java luis-lua luis-asm luis-org luis-c luis-nxc luis-python luis-apache luis-swift luis-css luis-shell luis-latex luis-markdown luis-elisp luis-look paren solarized-dark-theme solarized powerline cl-macs powerline-separators color powerline-themes luis-user-interaction luis-misc desktop frameset frame-restore luis-compile luis-movement saveplace winner luis-modification whole-line-or-region company-keywords company-css company-dabbrev-code company-dabbrev company-elisp find-func company luis-interactive time-date which-key flx-ido flx ido-vertical-mode crm-custom ido-completing-read+ warnings memoize s cus-edit cus-start cus-load ido luis-files projectile grep compile comint ansi-color ring ibuf-ext ibuffer dash thingatpt recentf tree-widget wid-edit autorevert filenotify luis-integration use-package diminish bind-key luis-packages cl-seq cl finder-inf edmacro kmacro info package epg-config seq byte-opt gv bytecomp byte-compile cl-extra help-mode easymenu cconv luis-private luis-machine-local benchmark-init advice cl-loaddefs pcase cl-lib benchmark-init-loaddefs slime-autoloads haskell-mode-autoloads erlang-start emacs-goodies-el emacs-goodies-custom emacs-goodies-loaddefs easy-mmode devhelp preview-latex tex-site auto-loads mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded 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 dbusbind inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 647388 21245) (symbols 48 43035 0) (miscs 40 574 465) (strings 32 104884 16016) (string-bytes 1 3270643) (vectors 16 79586) (vector-slots 8 1717257 54052) (floats 8 8003 1977) (intervals 56 1023 0) (buffers 976 440))
bug-gnu-emacs <at> gnu.org
:bug#29789
; Package emacs
.
(Wed, 20 Dec 2017 20:30:02 GMT) Full text and rfc822 format available.Message #8 received at 29789 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Luis Gerhorst <privat <at> luisgerhorst.de> Cc: 29789 <at> debbugs.gnu.org Subject: Re: bug#29789: 25.1; Emacs blocks user input when using visual-fill-column in wide terminals Date: Wed, 20 Dec 2017 22:29:27 +0200
> From: Luis Gerhorst <privat <at> luisgerhorst.de> > Date: Wed, 20 Dec 2017 20:28:27 +0100 > > > 1. Run Emacs in a wide terminal (about 150 characters, 100 isn't > enough): emacs -nw -Q > > 2. Load a arbitrary theme: M-x load-theme adwaita > > 3. Load visual-fill-column. E.g. by copying > https://raw.githubusercontent.com/joostkremers/visual-fill-column/c0e5ec8f88a7598f7afdee565978410bee0de2a0/visual-fill-column.el > into the scratch buffer and typing M-x eval-buffer. > > There is nothing suspicious about the code, regular lisp code should not > be able to block Emacs (I believe). It does not seem to contain any loops that block the main thread. The maintainer knows about the issue but say's it may be an issue with low-level code. In GUI Emacs it works. > > 4. Open a buffer and enable visual-fill-column-mode: M-x > visual-fill-column-mode > > 5. Your Emacs is now blocked. I tried to reproduce this on GNU/Linux and on MS-Windows, but failed both times, both with Emacs 25.1 and the current emacs-26 release branch. What I see is that after enabling the mode, Emacs becomes somewhat sluggish in cursor motion (hardly surprising, given what the mode does), but it certainly doesn't hang. I wonder what's different on your system, or on that of those who confirmed the problem.
bug-gnu-emacs <at> gnu.org
:bug#29789
; Package emacs
.
(Wed, 20 Dec 2017 20:46:01 GMT) Full text and rfc822 format available.Message #11 received at 29789 <at> debbugs.gnu.org (full text, mbox):
From: Luis Gerhorst <privat <at> luisgerhorst.de> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 29789 <at> debbugs.gnu.org Subject: Re: bug#29789: 25.1; Emacs blocks user input when using visual-fill-column in wide terminals Date: Wed, 20 Dec 2017 21:45:36 +0100
I'm usually using iTerm 3.1.5 and just tried again with the native Terminal.app from macOS 10.13.2 (same issue). It also occured on a Debian system I was running Emacs on over SSH. I was not able to test with a non-macOS terminal emulator. I can do that tomorrow however. With 'hang' I meant that Emacs does not respond to user input at all. The whole screen is frozen. Eli Zaretskii writes: >> From: Luis Gerhorst <privat <at> luisgerhorst.de> >> Date: Wed, 20 Dec 2017 20:28:27 +0100 >> >> >> 1. Run Emacs in a wide terminal (about 150 characters, 100 isn't >> enough): emacs -nw -Q >> >> 2. Load a arbitrary theme: M-x load-theme adwaita >> >> 3. Load visual-fill-column. E.g. by copying >> https://raw.githubusercontent.com/joostkremers/visual-fill-column/c0e5ec8f88a7598f7afdee565978410bee0de2a0/visual-fill-column.el >> into the scratch buffer and typing M-x eval-buffer. >> >> There is nothing suspicious about the code, regular lisp code should not >> be able to block Emacs (I believe). It does not seem to contain any loops that block the main thread. The maintainer knows about the issue but say's it may be an issue with low-level code. In GUI Emacs it works. >> >> 4. Open a buffer and enable visual-fill-column-mode: M-x >> visual-fill-column-mode >> >> 5. Your Emacs is now blocked. > > I tried to reproduce this on GNU/Linux and on MS-Windows, but failed > both times, both with Emacs 25.1 and the current emacs-26 release > branch. > > What I see is that after enabling the mode, Emacs becomes somewhat > sluggish in cursor motion (hardly surprising, given what the mode > does), but it certainly doesn't hang. > > I wonder what's different on your system, or on that of those who > confirmed the problem.
bug-gnu-emacs <at> gnu.org
:bug#29789
; Package emacs
.
(Wed, 20 Dec 2017 21:36:02 GMT) Full text and rfc822 format available.Message #14 received at 29789 <at> debbugs.gnu.org (full text, mbox):
From: Vasilij Schneidermann <v.schneidermann <at> gmail.com> To: 29789 <at> debbugs.gnu.org Subject: Re: bug#29789: 25.1; Emacs blocks user input when using visual-fill-column in wide terminals Date: Wed, 20 Dec 2017 22:35:30 +0100
[Message part 1 (text/plain, inline)]
I can reproduce this on Arch Linux, with Emacs master and Termite. I've tried making a full backtrace in gdb, let me know if there's anything else I can do to help debugging this issue.
[gdb.txt (text/plain, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#29789
; Package emacs
.
(Thu, 21 Dec 2017 03:38:02 GMT) Full text and rfc822 format available.Message #17 received at 29789 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Vasilij Schneidermann <v.schneidermann <at> gmail.com> Cc: 29789 <at> debbugs.gnu.org Subject: Re: bug#29789: 25.1; Emacs blocks user input when using visual-fill-column in wide terminals Date: Thu, 21 Dec 2017 05:37:10 +0200
> Date: Wed, 20 Dec 2017 22:35:30 +0100 > From: Vasilij Schneidermann <v.schneidermann <at> gmail.com> > > I can reproduce this on Arch Linux, with Emacs master and Termite. I've > tried making a full backtrace in gdb, let me know if there's anything > else I can do to help debugging this issue. Thanks. > Thread 1 "emacs" received signal SIGTSTP, Stopped (user). > 0x00007f5ccb9f9b47 in kill () from /usr/lib/libc.so.6 > Continuing. > > Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=6, > backtrace_limit=40) at emacs.c:364 > 364 { > #0 0x0000000000569e7a in terminate_due_to_signal (sig=6, backtrace_limit=40) > at emacs.c:364 > #1 0x00000000005919c8 in emacs_abort () at sysdep.c:2426 > #2 0x00000000005829d2 in handle_interrupt (in_signal_handler=true) > at keyboard.c:10501 > #3 0x0000000000582795 in handle_interrupt_signal (sig=2) at keyboard.c:10371 > #4 0x0000000000590f88 in deliver_process_signal (sig=2, handler=0x582743 <handle_interrupt_signal>) at sysdep.c:1709 > #5 0x00000000005827b4 in deliver_interrupt_signal (sig=2) at keyboard.c:10378 > #6 0x00007f5ccc8a9da0 in <signal handler called> () at /usr/lib/libpthread.so.0 > #7 0x00000000005083c0 in append_glyph (it=0x7ffcb39bc150) at term.c:1476 > #8 0x00000000005087d5 in produce_glyphs (it=0x7ffcb39bc150) at term.c:1584 > #9 0x00000000004722e7 in extend_face_to_end_of_line (it=0x7ffcb39bc150) > at xdisp.c:20318 > #10 0x00000000004773eb in display_line (it=0x7ffcb39bc150, cursor_vpos=3) > at xdisp.c:21740 > #11 0x0000000000469edf in try_window (window=XIL(0xd7f9a5), pos=..., flags=1) > at xdisp.c:17610 > #12 0x000000000046799c in redisplay_window (window=XIL(0xd7f9a5), just_this_one_p=false) at xdisp.c:17057 > #13 0x0000000000460734 in redisplay_window_0 (window=XIL(0xd7f9a5)) > at xdisp.c:14814 > #14 0x000000000061975f in internal_condition_case_1 (bfun=0x4606f2 <redisplay_window_0>, arg=XIL(0xd7f9a5), handlers=XIL(0xd6bf13), hfun=0x4606ba <redisplay_window_error>) at eval.c:1356 > #15 0x000000000046068c in redisplay_windows (window=XIL(0xd7f9a5)) at xdisp.c:14794 > #16 0x000000000045f4b8 in redisplay_internal () at xdisp.c:14283 > #17 0x000000000045ff5e in redisplay_preserve_echo_area (from_where=2) > at xdisp.c:14613 > #18 0x0000000000426d03 in Fredisplay (force=XIL(0)) at dispnew.c:5828 > #19 0x000000000061d47a in funcall_subr (subr=0x951720 <Sredisplay>, numargs=0, args=Quit > #0 0x0000000000569e7a in terminate_due_to_signal (sig=6, backtrace_limit=40) > at emacs.c:364 > #1 0x00000000005919c8 in emacs_abort () at sysdep.c:2426 > #2 0x00000000005829d2 in handle_interrupt (in_signal_handler=true) > at keyboard.c:10501 > c = 121 'y' > #3 0x0000000000582795 in handle_interrupt_signal (sig=2) at keyboard.c:10371 > terminal = 0x12cfe40 <bss_sbrk_buffer+6086848> > #4 0x0000000000590f88 in deliver_process_signal (sig=2, handler=0x582743 <handle_interrupt_signal>) at sysdep.c:1709 > old_errno = 22 > on_main_thread = true > #5 0x00000000005827b4 in deliver_interrupt_signal (sig=2) at keyboard.c:10378 > #6 0x00007f5ccc8a9da0 in <signal handler called> () at /usr/lib/libpthread.so.0 > #7 0x00000000005083c0 in append_glyph (it=0x7ffcb39bc150) at term.c:1476 > glyph = 0x7f5cd4622fd0 > end = 0x7f5cd4622fd0 > i = 0 This says Emacs got SIGINT and then aborted. Did you type C-g more then once and then answered YES to the question whether to abort and dump core? > #8 0x00000000005087d5 in produce_glyphs (it=0x7ffcb39bc150) at term.c:1584 > #9 0x00000000004722e7 in extend_face_to_end_of_line (it=0x7ffcb39bc150) > at xdisp.c:20318 The "hang" sounds like some infloop in redisplay. It will be helpful if instead of trying to interrupt Emacs with C-g, you could attach the debugger, produce a backtrace from the place where Emacs was caught, and then use the technique described in etc/DEBUG under "If the symptom of the bug is that Emacs fails to respond", starting at "If Emacs is in an infinite loop", to find out where it loops. Also, I need to know what version of Emacs is that, to match line numbers in the backtrace to the sources.
bug-gnu-emacs <at> gnu.org
:bug#29789
; Package emacs
.
(Thu, 21 Dec 2017 05:02:02 GMT) Full text and rfc822 format available.Message #20 received at 29789 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Vasilij Schneidermann <v.schneidermann <at> gmail.com> Cc: 29789 <at> debbugs.gnu.org Subject: Re: bug#29789: 25.1; Emacs blocks user input when using visual-fill-column in wide terminals Date: Thu, 21 Dec 2017 07:01:39 +0200
On December 21, 2017 5:37:10 AM GMT+02:00, Eli Zaretskii <eliz <at> gnu.org> wrote: > > Date: Wed, 20 Dec 2017 22:35:30 +0100 > > From: Vasilij Schneidermann <v.schneidermann <at> gmail.com> > > > > I can reproduce this on Arch Linux, with Emacs master and Termite. > I've > > tried making a full backtrace in gdb, let me know if there's > anything > > else I can do to help debugging this issue. > > Thanks. > > > Thread 1 "emacs" received signal SIGTSTP, Stopped (user). > > 0x00007f5ccb9f9b47 in kill () from /usr/lib/libc.so.6 > > Continuing. > > > > Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=6, > > backtrace_limit=40) at emacs.c:364 > > 364 { > > #0 0x0000000000569e7a in terminate_due_to_signal (sig=6, > backtrace_limit=40) > > at emacs.c:364 > > #1 0x00000000005919c8 in emacs_abort () at sysdep.c:2426 > > #2 0x00000000005829d2 in handle_interrupt (in_signal_handler=true) > > at keyboard.c:10501 > > #3 0x0000000000582795 in handle_interrupt_signal (sig=2) at > keyboard.c:10371 > > #4 0x0000000000590f88 in deliver_process_signal (sig=2, > handler=0x582743 <handle_interrupt_signal>) at sysdep.c:1709 > > #5 0x00000000005827b4 in deliver_interrupt_signal (sig=2) at > keyboard.c:10378 > > #6 0x00007f5ccc8a9da0 in <signal handler called> () at > /usr/lib/libpthread.so.0 > > #7 0x00000000005083c0 in append_glyph (it=0x7ffcb39bc150) at > term.c:1476 > > #8 0x00000000005087d5 in produce_glyphs (it=0x7ffcb39bc150) at > term.c:1584 > > #9 0x00000000004722e7 in extend_face_to_end_of_line > (it=0x7ffcb39bc150) > > at xdisp.c:20318 > > #10 0x00000000004773eb in display_line (it=0x7ffcb39bc150, > cursor_vpos=3) > > at xdisp.c:21740 > > #11 0x0000000000469edf in try_window (window=XIL(0xd7f9a5), pos=..., > flags=1) > > at xdisp.c:17610 > > #12 0x000000000046799c in redisplay_window (window=XIL(0xd7f9a5), > just_this_one_p=false) at xdisp.c:17057 > > #13 0x0000000000460734 in redisplay_window_0 (window=XIL(0xd7f9a5)) > > at xdisp.c:14814 > > #14 0x000000000061975f in internal_condition_case_1 (bfun=0x4606f2 > <redisplay_window_0>, arg=XIL(0xd7f9a5), handlers=XIL(0xd6bf13), > hfun=0x4606ba <redisplay_window_error>) at eval.c:1356 > > #15 0x000000000046068c in redisplay_windows (window=XIL(0xd7f9a5)) > at xdisp.c:14794 > > #16 0x000000000045f4b8 in redisplay_internal () at xdisp.c:14283 > > #17 0x000000000045ff5e in redisplay_preserve_echo_area > (from_where=2) > > at xdisp.c:14613 > > #18 0x0000000000426d03 in Fredisplay (force=XIL(0)) at > dispnew.c:5828 > > #19 0x000000000061d47a in funcall_subr (subr=0x951720 <Sredisplay>, > numargs=0, args=Quit > > #0 0x0000000000569e7a in terminate_due_to_signal (sig=6, > backtrace_limit=40) > > at emacs.c:364 > > #1 0x00000000005919c8 in emacs_abort () at sysdep.c:2426 > > #2 0x00000000005829d2 in handle_interrupt (in_signal_handler=true) > > at keyboard.c:10501 > > c = 121 'y' > > #3 0x0000000000582795 in handle_interrupt_signal (sig=2) at > keyboard.c:10371 > > terminal = 0x12cfe40 <bss_sbrk_buffer+6086848> > > #4 0x0000000000590f88 in deliver_process_signal (sig=2, > handler=0x582743 <handle_interrupt_signal>) at sysdep.c:1709 > > old_errno = 22 > > on_main_thread = true > > #5 0x00000000005827b4 in deliver_interrupt_signal (sig=2) at > keyboard.c:10378 > > #6 0x00007f5ccc8a9da0 in <signal handler called> () at > /usr/lib/libpthread.so.0 > > #7 0x00000000005083c0 in append_glyph (it=0x7ffcb39bc150) at > term.c:1476 > > glyph = 0x7f5cd4622fd0 > > end = 0x7f5cd4622fd0 > > i = 0 > > This says Emacs got SIGINT and then aborted. Did you type C-g more > then once and then answered YES to the question whether to abort and > dump core? > > > #8 0x00000000005087d5 in produce_glyphs (it=0x7ffcb39bc150) at > term.c:1584 > > #9 0x00000000004722e7 in extend_face_to_end_of_line > (it=0x7ffcb39bc150) > > at xdisp.c:20318 > > The "hang" sounds like some infloop in redisplay. It will be helpful > if instead of trying to interrupt Emacs with C-g, you could attach the > debugger, produce a backtrace from the place where Emacs was caught, > and then use the technique described in etc/DEBUG under "If the > symptom of the bug is that Emacs fails to respond", starting at "If > Emacs is in an infinite loop", to find out where it loops. > > Also, I need to know what version of Emacs is that, to match line > numbers in the backtrace to the sources. Forget it, I've succeeded in reproducing this. The reason I couldn't before is because most themes do nothing if the terminal supports less than 89 colors (looks like their authors are just copying that condition from one another for no good reason), so I needed to find a theme which does work with fewer colors.
bug-gnu-emacs <at> gnu.org
:bug#29789
; Package emacs
.
(Thu, 21 Dec 2017 17:50:02 GMT) Full text and rfc822 format available.Message #23 received at 29789 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Luis Gerhorst <privat <at> luisgerhorst.de> Cc: v.schneidermann <at> gmail.com, 29789 <at> debbugs.gnu.org Subject: Re: bug#29789: 25.1; Emacs blocks user input when using visual-fill-column in wide terminals Date: Thu, 21 Dec 2017 19:49:13 +0200
> Date: Thu, 21 Dec 2017 07:01:39 +0200 > From: Eli Zaretskii <eliz <at> gnu.org> > Cc: 29789 <at> debbugs.gnu.org > > Forget it, I've succeeded in reproducing this. The reason I > couldn't before is because most themes do nothing if the terminal > supports less than 89 colors (looks like their authors are just > copying that condition from one another for no good reason), so I > needed to find a theme which does work with fewer colors. Ouch, what an embarrassingly stupid bug... Should be fixed now on the emacs-26 branch. Thanks.
bug-gnu-emacs <at> gnu.org
:bug#29789
; Package emacs
.
(Thu, 21 Dec 2017 17:53:02 GMT) Full text and rfc822 format available.Message #26 received at 29789 <at> debbugs.gnu.org (full text, mbox):
From: Luis Gerhorst <privat <at> luisgerhorst.de> To: Eli Zaretskii <eliz <at> gnu.org> Cc: v.schneidermann <at> gmail.com, 29789 <at> debbugs.gnu.org Subject: Re: bug#29789: 25.1; Emacs blocks user input when using visual-fill-column in wide terminals Date: Thu, 21 Dec 2017 18:52:50 +0100
Great, big thanks to all of you!
Glenn Morris <rgm <at> gnu.org>
to control <at> debbugs.gnu.org
.
(Thu, 21 Dec 2017 18:58:01 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Fri, 19 Jan 2018 12:24:06 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.