GNU bug report logs - #23091
25.0.92; :box face hang regression

Previous Next

Package: emacs;

Reported by: Aaron Jensen <aaronjensen <at> gmail.com>

Date: Tue, 22 Mar 2016 14:39:02 UTC

Severity: normal

Found in version 25.0.92

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 23091 in the body.
You can then email your comments to 23091 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


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#23091; Package emacs. (Tue, 22 Mar 2016 14:39:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Aaron Jensen <aaronjensen <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 22 Mar 2016 14:39:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Aaron Jensen <aaronjensen <at> gmail.com>
To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org>
Subject: 25.0.92; :box face hang regression
Date: Tue, 22 Mar 2016 14:38:21 +0000
[Message part 1 (text/plain, inline)]
While using the monokai theme and helm, a hang can be triggered with a
setq header-line-format in a specific shape. The below is a repro from
an emacs -Q. This does not repro in Emacs 24 or terminal emacs.
I am on OS X.
The hang does not repro if there is no :box in the face defined below.

With emacs -Q eval the following:

;; https://gist.github.com/aaronjensen/db5eb0b7ba3679971fa2

(deftheme monokai "The Monokai colour theme")

(defgroup monokai nil
  "Monokai theme options.
The theme has to be reloaded after changing anything in this group."
  :group 'faces)

(defcustom monokai-distinct-fringe-background nil
  "Make the fringe background different from the normal background color.
Also affects 'linum-mode' background."
  :type 'boolean
  :group 'monokai)

(defcustom monokai-use-variable-pitch t
  "Use variable pitch face for some headings and titles."
  :type 'boolean
  :group 'monokai)

(defcustom monokai-high-contrast-mode-line nil
  "Make the active/inactive mode line stand out more."
  :type 'boolean
  :group 'monokai)

(let* ((class                    '((class color) (min-colors 257)))
       ;; Primary colors
       (yellow                   "#E6DB74")
       (orange                   "#FD971F")
       (red                      "#F92672")
       (magenta                  "#FD5FF0")
       (violet                   "#AE81FF")
       (blue                     "#66D9EF")
       (cyan                     "#A1EFE4")
       (green                    "#A6E22E")
       (gray                     "#474747")
       ;; Darker and lighter accented colors
       (yellow-d                 "#968B26")
       (yellow-l                 "#F3EA98")
       (orange-d                 "#A45E0A")
       (orange-l                 "#FEB257")
       (red-d                    "#A20C41")
       (red-l                    "#FC5C94")
       (magenta-d                "#A41F99")
       (magenta-l                "#FE87F4")
       (violet-d                 "#562AA6")
       (violet-l                 "#C2A1FF")
       (blue-d                   "#21889B")
       (blue-l                   "#8DE6F7")
       (cyan-d                   "#349B8D")
       (cyan-l                   "#BBF7EF")
       (green-d                  "#67930F")
       (green-l                  "#C1F161")
       (gray-d                   "#333333")
       (gray-l                   "#6b6b6b")
       ;; Adaptive colors
       (monokai-fg               "#F8F8F2")
       (monokai-bg               "#272822")
       (monokai-hl               "#3E3D31")
       (monokai-hl-line          "#49483E")
       (monokai-emph             "#F8F8F0")
       (monokai-comments         "#75715E")
       ;; Adaptive higher/lower contrast accented colors
       (monokai-fg-hc            "#141414")
       (monokai-fg-lc            "#171A0B")
       ;; High contrast colors
       (yellow-hc                yellow-l)
       (yellow-lc                yellow-d)
       (orange-hc                orange-l)
       (orange-lc                orange-d)
       (red-hc                   red-l)
       (red-lc                   red-d)
       (magenta-hc               magenta-l)
       (magenta-lc               magenta-d)
       (violet-hc                violet-l)
       (violet-lc                violet-d)
       (blue-hc                  blue-l)
       (blue-lc                  blue-d)
       (cyan-hc                  cyan-l)
       (cyan-lc                  cyan-d)
       (green-hc                 green-l)
       (green-lc                 green-d)
       ;; customize based face properties
       (s-variable-pitch         (if monokai-use-variable-pitch
                                     'variable-pitch 'default))
       (s-fringe-bg              (if monokai-distinct-fringe-background
                                     monokai-hl monokai-bg))
       (s-mode-line-fg           (if monokai-high-contrast-mode-line
                                     monokai-bg monokai-fg))
       (s-mode-line-bg           (if monokai-high-contrast-mode-line
                                     monokai-fg monokai-hl))
       (s-mode-line-buffer-id-fg (if monokai-high-contrast-mode-line
                                     'unspecified green))
       (s-mode-line-inactive-fg  (if monokai-high-contrast-mode-line
                                     monokai-fg monokai-comments))
       (s-mode-line-inactive-bg  (if monokai-high-contrast-mode-line
                                     gray-l monokai-bg))
       (s-mode-line-inactive-bc  (if monokai-high-contrast-mode-line
                                     monokai-fg monokai-hl))

       ;; powerline
       (s-powerline-active1-bg   (if monokai-high-contrast-mode-line
                                     gray-l gray))
       (s-powerline-active2-bg   (if monokai-high-contrast-mode-line
                                     gray gray-l))
       (s-powerline-inactive1-bg (if monokai-high-contrast-mode-line
                                     gray gray-d))
       (s-powerline-inactive2-bg (if monokai-high-contrast-mode-line
                                     monokai-bg gray))

       ;; Definitions for terminals that do not support 256 colors
       (terminal-class                    '((class color) (min-colors 89)))
       ;; Primary colors
       (terminal-yellow                   "#CDC673")
       (terminal-orange                   "#FF8C00")
       (terminal-red                      "#FF1493")
       (terminal-magenta                  "#D700D7")
       (terminal-violet                   "#AF87FF")
       (terminal-blue                     "#5FD7FF")
       (terminal-cyan                     "#5FFFFF")
       (terminal-green                    "#87D700")
       (terminal-gray                     "#444444")
       ;; Darker and lighter accented colors
       (terminal-yellow-d                 "#878700")
       (terminal-yellow-l                 "#FFFF87")
       (terminal-orange-d                 "#AF5F00")
       (terminal-orange-l                 "#FFAF5F")
       (terminal-red-d                    "#870000")
       (terminal-red-l                    "#FF5F87")
       (terminal-magenta-d                "#AF0087")
       (terminal-magenta-l                "#FF87DF")
       (terminal-violet-d                 "#5F00AF")
       (terminal-violet-l                 "#AF87D7")
       (terminal-blue-d                   "#008787")
       (terminal-blue-l                   "#87D7FF")
       (terminal-cyan-d                   "#5FAFAF")
       (terminal-cyan-l                   "#AFFFFF")
       (terminal-green-d                  "#5F8700")
       (terminal-green-l                  "#AFD700")
       (terminal-gray-d                   "#3A3A3A")
       (terminal-gray-l                   "#6C6C6C")
       ;; Adaptive colors
       (terminal-monokai-fg               "#F5F5F5")
       (terminal-monokai-bg               "#1B1E1C")
       (terminal-monokai-hl-line          "#212121")
       (terminal-monokai-hl               "#303030")
       (terminal-monokai-emph             "#FFFAFA")
       (terminal-monokai-comments         "#8B8878")
       ;; Adaptive higher/lower contrast accented colors
       (terminal-monokai-fg-hc            "#171A0B")
       (terminal-monokai-fg-lc            "#141414")
       ;; High contrast colors
       (terminal-yellow-hc                terminal-yellow-d)
       (terminal-yellow-lc                terminal-yellow-l)
       (terminal-orange-hc                terminal-orange-d)
       (terminal-orange-lc                terminal-orange-l)
       (terminal-red-hc                   terminal-red-d)
       (terminal-red-lc                   terminal-red-l)
       (terminal-magenta-hc               terminal-magenta-d)
       (terminal-magenta-lc               terminal-magenta-l)
       (terminal-violet-hc                terminal-violet-d)
       (terminal-violet-lc                terminal-violet-l)
       (terminal-blue-hc                  terminal-blue-d)
       (terminal-blue-lc                  terminal-blue-l)
       (terminal-cyan-hc                  terminal-cyan-d)
       (terminal-cyan-lc                  terminal-cyan-l)
       (terminal-green-hc                 terminal-green-d)
       (terminal-green-lc                 terminal-green-l)
       ;; customize based face properties
       (terminal-s-variable-pitch         (if monokai-use-variable-pitch
                                              'variable-pitch 'default))
       (terminal-s-fringe-bg              (if
monokai-distinct-fringe-background
                                              terminal-monokai-hl
terminal-monokai-bg))
       (terminal-s-mode-line-fg           (if
monokai-high-contrast-mode-line
                                              terminal-monokai-bg
terminal-monokai-fg))
       (terminal-s-mode-line-bg           (if
monokai-high-contrast-mode-line
                                              terminal-monokai-fg
terminal-monokai-hl))
       (terminal-s-mode-line-buffer-id-fg (if
monokai-high-contrast-mode-line
                                              'unspecified terminal-green))
       (terminal-s-mode-line-inactive-fg  (if
monokai-high-contrast-mode-line
                                              terminal-monokai-fg
terminal-monokai-comments))
       (terminal-s-mode-line-inactive-bg  (if
monokai-high-contrast-mode-line
                                              terminal-monokai-hl-line
terminal-monokai-bg))
       (terminal-s-mode-line-inactive-bc  (if
monokai-high-contrast-mode-line
                                              terminal-monokai-fg
terminal-monokai-hl)))

  ;; Define faces
  (custom-theme-set-faces
   'monokai
   `(header-line
     ((,class (:inverse-video unspecified
                              :underline unspecified
                              :foreground ,monokai-emph
                              :background ,monokai-hl
                              :box (:line-width 1
                                                :color ,monokai-hl
                                                :style unspecified)))
))


   )

  )

;;;###autoload
(when (and (boundp 'custom-theme-load-path) load-file-name)
  (add-to-list 'custom-theme-load-path
               (file-name-as-directory (file-name-directory
load-file-name))))

(provide-theme 'monokai)

;;; monokai-theme.el ends here

(defface helm-header-line-left-margin
  '((t (:foreground "black" :background "yellow")))
  "Face used to highlight helm-header sign in left-margin."
  :group 'helm-faces)

(setq header-line-format #("  " 0 1 (display #("->" 0 2 (face
helm-header-line-left-margin)))))





In GNU Emacs 25.0.92.1 (x86_64-apple-darwin15.3.0, NS appkit-1404.34
Version 10.11.3 (Build 15D21))
 of 2016-03-19 built on aaronmbp.local
Windowing system distributor 'Apple', version 10.3.1404
Configured using:
 'configure --prefix=/usr/local/Cellar/emacs/25.0.92
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs/25.0.92/share/info/emacs --with-xml2
 --without-dbus --with-gnutls --with-rsvg --with-imagemagick --with-ns
 --disable-ns-self-contained'

Configured features:
JPEG RSVG IMAGEMAGICK NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS
NS

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-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
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Checking 57 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/eshell...
Checking 70 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/erc...
Checking 34 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/emulation...
Checking 168 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/emacs-lisp...
Checking 24 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/cedet...
Checking 57 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/calendar...
Checking 87 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/calc...
Checking 122 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/obsolete...
Checking for load-path shadows...done
Making completion list...

Load-path shadows:
None found.

Features:
(pp shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec epg epg-config gnus-util mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util help-fns help-mode easymenu cl-loaddefs pcase
cl-lib mail-prsvr mail-utils time-date mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win ucs-normalize
term/common-win 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
kqueue cocoa ns multi-tty make-network-process emacs)

Memory information:
((conses 16 197323 13014)
 (symbols 48 19546 0)
 (miscs 40 49 268)
 (strings 32 15127 5240)
 (string-bytes 1 436426)
 (vectors 16 33460)
 (vector-slots 8 644859 11240)
 (floats 8 160 241)
 (intervals 56 325 145)
 (buffers 976 14))

-- 
Aaron
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23091; Package emacs. (Tue, 22 Mar 2016 15:01:02 GMT) Full text and rfc822 format available.

Message #8 received at 23091 <at> debbugs.gnu.org (full text, mbox):

From: phillip.lord <at> russet.org.uk (Phillip Lord)
To: Aaron Jensen <aaronjensen <at> gmail.com>
Cc: 23091 <at> debbugs.gnu.org
Subject: Re: bug#23091: 25.0.92; :box face hang regression
Date: Tue, 22 Mar 2016 15:00:08 +0000

Aaron Jensen <aaronjensen <at> gmail.com> writes:

> While using the monokai theme and helm, a hang can be triggered with a
> setq header-line-format in a specific shape. The below is a repro from
> an emacs -Q. This does not repro in Emacs 24 or terminal emacs.
> I am on OS X.
> The hang does not repro if there is no :box in the face defined below.


I've replicated this bug. It does require all of the elements given.
Depending on the order of evaluation, it can lead to an instant hang, or
it can result in a slightly more gradual slow down.

Emacs is not actually hung -- it's running at 100% CPU. I've tried
debugging, and Emacs seems to be running through parts of the display
code.

Phil




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Tue, 22 Mar 2016 18:23:02 GMT) Full text and rfc822 format available.

Notification sent to Aaron Jensen <aaronjensen <at> gmail.com>:
bug acknowledged by developer. (Tue, 22 Mar 2016 18:23:02 GMT) Full text and rfc822 format available.

Message #13 received at 23091-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Aaron Jensen <aaronjensen <at> gmail.com>
Cc: 23091-done <at> debbugs.gnu.org
Subject: Re: bug#23091: 25.0.92; :box face hang regression
Date: Tue, 22 Mar 2016 20:21:33 +0200
> From: Aaron Jensen <aaronjensen <at> gmail.com>
> Date: Tue, 22 Mar 2016 14:38:21 +0000
> 
> While using the monokai theme and helm, a hang can be triggered with a
> setq header-line-format in a specific shape. The below is a repro from
> an emacs -Q. This does not repro in Emacs 24 or terminal emacs.
> I am on OS X.
> The hang does not repro if there is no :box in the face defined below.

Fixed.

(It was sheer luck that this worked in Emacs 24, the code which
handles this situation made wrong assumptions.)

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23091; Package emacs. (Tue, 29 Mar 2016 22:40:02 GMT) Full text and rfc822 format available.

Message #16 received at 23091 <at> debbugs.gnu.org (full text, mbox):

From: phillip.lord <at> russet.org.uk (Phillip Lord)
To: 23091 <at> debbugs.gnu.org
Cc: eliz <at> gnu.org, aaronjensen <at> gmail.com
Subject: Re: bug#23091: 25.0.92; :box face hang regression
Date: Tue, 29 Mar 2016 23:39:36 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Aaron Jensen <aaronjensen <at> gmail.com>
>> Date: Tue, 22 Mar 2016 14:38:21 +0000
>> 
>> While using the monokai theme and helm, a hang can be triggered with a
>> setq header-line-format in a specific shape. The below is a repro from
>> an emacs -Q. This does not repro in Emacs 24 or terminal emacs.
>> I am on OS X.
>> The hang does not repro if there is no :box in the face defined below.
>
> Fixed.
>
> (It was sheer luck that this worked in Emacs 24, the code which
> handles this situation made wrong assumptions.)

Thanks for fixing this!

Phil




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23091; Package emacs. (Wed, 30 Mar 2016 00:08:01 GMT) Full text and rfc822 format available.

Message #19 received at 23091 <at> debbugs.gnu.org (full text, mbox):

From: "Aaron Jensen" <aaronjensen <at> gmail.com>
To: <23091 <at> debbugs.gnu.org>,
 <eliz <at> gnu.org>
Cc: Phillip Lord <phillip.lord <at> russet.org.uk>
Subject: Re: bug#23091: 25.0.92; :box face hang regression
Date: Tue, 29 Mar 2016 17:06:48 -0700
[Message part 1 (text/plain, inline)]
Agreed, thanks for the quick fix.

Aaron

On Tue, Mar 29, 2016 at 3:39 PM Phillip Lord

<
mailto:Phillip Lord <phillip.lord <at> russet.org.uk>
> wrote:

Eli Zaretskii <
mailto:eliz <at> gnu.org
> writes:

>> From: Aaron Jensen <
mailto:aaronjensen <at> gmail.com
>

>> Date: Tue, 22 Mar 2016 14:38:21 +0000

>>

>> While using the monokai theme and helm, a hang can be triggered with a

>> setq header-line-format in a specific shape. The below is a repro from

>> an emacs -Q. This does not repro in Emacs 24 or terminal emacs.

>> I am on OS X.

>> The hang does not repro if there is no :box in the face defined below.

>

> Fixed.

>

> (It was sheer luck that this worked in Emacs 24, the code which

> handles this situation made wrong assumptions.)

Thanks for fixing this!

Phil
[Message part 2 (text/html, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 27 Apr 2016 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 9 years and 106 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.