all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: David Reitter <david.reitter@gmail.com>
To: Emacs-Devel devel <emacs-devel@gnu.org>
Subject: Redisplay: NS port, high CPU load
Date: Wed, 8 Jun 2016 16:04:46 +1000	[thread overview]
Message-ID: <9793F9E3-979A-4888-8662-F6E0C27C8B37@gmail.com> (raw)

I am and users are experiencing regular high CPU load with the NS port, which started some time around late 2015, but according to users co-incided with an OS upgrade, too.  I tried rolling back changes, with limited success: it does seem though that very recently, the problem has become much worse.

Usually, Emacs goes into 100% CPU load, or sometimes high load.  What invariably shows up in my process samples is NSMenu _sidebandUpdate*  (no idea what that does), within ns_upgrade_menubar.  The attachment (sorry, could not export to text) shows an example.

I’m getting the spinning beachball sometimes when entering a minibuffer for a command.

I would like to fix this problem, but have been unsuccessful in tracing it down.  As you can see, we’re spending a lot of time in redisplay.
Is redisplay slow, or is it called again and again?

Advice would be appreciated.  (Yes, this is with Aquamacs, and I can’t tell if the problem exists in GNU Emacs as it probably interacts with some configuration.)



Date/Time:       2016-06-08 15:32:29.059 +1000
Launch Time:     2016-06-08 13:51:42.364 +1000
OS Version:      Mac OS X 10.11.4 (15E65)
Report Version:  7
Analysis Tool:   /usr/bin/sample
----

Call graph:
    2484 Thread_453834: Main Thread   DispatchQueue_<multiple>
    + 2417 start  (in libdyld.dylib) + 1  [0x7fff892d35ad]
    + ! 2417 main  () + 5602  [0x1000c3602]  emacs.c:1606
    + !   2417 Frecursive_edit  () + 218  [0x1000c48ea]  keyboard.c:755
    + !     2417 recursive_edit_1  () + 101  [0x1000c46c5]  keyboard.c:684
    + !       2417 command_loop  () + 158  [0x1000c47ae]  keyboard.c:1078
    + !         2417 internal_catch  () + 54  [0x10013f6b6]  eval.c:1074
    + !           2417 command_loop_2  () + 48  [0x1000d45c0]  keyboard.c:1099
    + !             2417 internal_condition_case  () + 70  [0x10013fb46]  eval.c:1309
    + !               2417 command_loop_1  () + 1154  [0x1000c5552]  keyboard.c:1357
    + !                 2417 read_key_sequence  () + 1959  [0x1000c6e17]  keyboard.c:9101
    + !                   2417 read_char  () + 5783  [0x1000ca407]  keyboard.c:2706
    + !                     2417 sit_for  () + 261  [0x100008515]  dispnew.c:5762
    + !                       1694 wait_reading_process_output  () + 1218  [0x100183482]  process.c:4609
    + !                       : 1694 redisplay_preserve_echo_area  () + 44  [0x100028dfc]  xdisp.c:14286
    + !                       :   970 redisplay_internal  () + 2034  [0x100027282]  xdisp.c:11850
    + !                       :   | 962 update_menu_bar  () + 450  [0x10004c9b2]  xdisp.c:11960
    + !                       :   | + 869 ns_update_menubar  () + 479  [0x1001cba6f]  nsmenu.m:139
    + !                       :   | + ! 868 -[NSApplication setMainMenu:]  (in AppKit) + 1584  [0x7fff8e8dc2c0]
    + !                       :   | + ! : 868 -[NSMenu _addSidebandMenuUpdaterForRoles:token:priority:handler:]  (in AppKit) + 229  [0x7fff8e8dc912]
    + !                       :   | + ! :   868 -[NSMenu _sidebandUpdaterRoles]  (in AppKit) + 41,47,...  [0x7fff8e8dca4d,0x7fff8e8dca53,...]
    + !                       :   | + ! 1 -[NSApplication setMainMenu:]  (in AppKit) + 655  [0x7fff8e8dbf1f]
    + !                       :   | + !   1 objc_msgSend  (in libobjc.A.dylib) + 26  [0x7fff8dbc54da]
    + !                       :   | + 57 ns_update_menubar  () + 1577  [0x1001cbeb9]  nsmenu.m:454


             reply	other threads:[~2016-06-08  6:04 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-08  6:04 David Reitter [this message]
2016-06-08  7:50 ` Redisplay: NS port, high CPU load Anders Lindgren
2016-06-08 10:44   ` David Reitter
2016-06-08 19:55     ` Alan Third
2016-06-08 20:12       ` David Reitter
2016-06-09  1:03         ` David Reitter
2016-06-09  8:22           ` David Reitter
2016-06-09  9:25             ` Anders Lindgren
2016-06-09 13:04               ` David Reitter
2016-06-09 14:11                 ` Anders Lindgren
2016-06-09 18:03                   ` David Reitter
2016-06-09 18:52                     ` Anders Lindgren
2016-06-09 23:03                       ` David Reitter
2016-06-10  6:02                         ` Anders Lindgren
2016-06-10  8:16                           ` David Reitter
2016-06-10  9:34                             ` Eli Zaretskii
2016-06-10  9:46                               ` David Reitter
2016-06-10 10:22                                 ` Eli Zaretskii
2016-06-10 10:36                                   ` David Reitter
2016-06-13 18:44                                     ` Anders Lindgren
2016-06-13 19:16                                       ` Eli Zaretskii
2016-06-14 12:07                                         ` David Reitter
2016-06-14 17:02                                           ` Eli Zaretskii
2016-06-15  3:55                                           ` Stefan Monnier
2016-06-14 11:50                                       ` David Reitter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9793F9E3-979A-4888-8662-F6E0C27C8B37@gmail.com \
    --to=david.reitter@gmail.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.