unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Jonathan Payne <jpayne@flipboard.com>
To: 15946@debbugs.gnu.org
Subject: bug#15946: a patch against emacs 24.3.1 for fixing the distnoted memory leak
Date: Mon, 20 Jan 2014 10:43:57 +0000	[thread overview]
Message-ID: <ECE73550-C8A0-4DC0-B02B-3B19186E51A5@flipboard.com> (raw)
In-Reply-To: <013FF6AE-1615-454A-AB1E-A289EC1E67F0@till.com>

This is FYI for people who do not want to wait for emacs 24.4 and cannot use one of the current nightlies to get around the Mavericks distnoted issue.

I am not a Mac programmer unfortunately, so take this with a grain of salt. My analysis of the problem is this:

1) When Mavericks came out a memory leak was discovered and fixed by Jan D. who is a frequent contributor to ns (Next Step) emacs for Mac OS X.

2) His fix, I think, was to avoid calling Application.run 20 times / second by introducing a variable called "shouldKeepRunning" into the Application.run method.

3) Repeatedly calling Application.run was causing a 160 byte leak each time inside emacs. But I think it was also causing a problem with distnoted, and I am speculating (knowing NOTHING ABOUT IT) that each call to run() was causing some sort of registration with distnoted. That registration, I assume, creates some sort of context in distnoted that is substantially larger than 160 bytes. So the leak in emacs was relatively slow, the one in distnoted was much larger.

This would also explain why distnoted would get slower as time goes by because it has hundreds of thousands of registrations, all for emacs, which I assume it was still trying to deliver notifications to, but really, I have no idea what I am talking about.

So, I applied part of Jan D's patch to emacs-24.3 that addressed this particular problem, and presto-chango, the leak is gone, distnoted is happy, and all my current elisp packages work because it's still emacs-24.3 and not emacs-24.4 which I assume is what's being created in the trunk today.

So - should I post this particular patch some place? Are other people interested in having this patch?

JP






  parent reply	other threads:[~2014-01-20 10:43 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-21 18:18 bug#15946: 24.3; Mac OS X, Mavericks, distnoted process Donald Tillman
2013-11-25 22:27 ` Marc Feeley
2013-11-26  7:50 ` Jan Djärv
2013-11-27 21:10   ` Piet Jaspers
     [not found]   ` <mailman.7276.1385588062.10748.bug-gnu-emacs@gnu.org>
2013-11-28  5:47     ` louisnoel.pouchet
2013-12-09  4:38 ` Christopher Smith
2013-12-09  8:18   ` YAMAMOTO Mitsuharu
2013-12-09 10:06   ` Jan Djärv
2013-12-27  5:15     ` SB
2014-01-07 22:56       ` Jan Djärv
2014-01-08  3:35         ` Josh
2014-01-08  9:24           ` Jan Djärv
2014-01-14 17:15 ` canoeberry
2014-01-14 17:46   ` Jan Djärv
2014-01-14 20:09     ` canoeberry
2014-01-14 22:10       ` Jan Djärv
2014-01-14 22:59         ` Matthew Leach
2014-01-15  7:52           ` Jan D.
2014-01-15 10:53             ` Matthew Leach
2014-01-14 20:33     ` canoeberry
2014-01-14 21:34   ` Stefan Monnier
2014-01-14 21:53     ` canoeberry
2014-01-14 22:07       ` Jan Djärv
     [not found]         ` <ABF72EE5-E9C7-4950-8E9F-D2632A5DCF91@jpayne.net>
2014-01-15  6:26           ` Jan Djärv
2014-01-15 13:41             ` Jonathan Payne
2014-01-17 14:11               ` vbeffara
2014-01-18 22:52                 ` canoeberry
2014-01-19  9:33                   ` Jan Djärv
2014-01-19 10:49                     ` canoeberry
2014-01-20  9:53                       ` SB
2014-01-20 11:15                         ` Jan Djärv
2015-12-26  1:14                           ` Lars Ingebrigtsen
2016-07-17 20:57                             ` Alan Third
2014-01-20 10:43 ` Jonathan Payne [this message]
2014-01-20 12:01 ` bug#15946: a patch against emacs 24.3.1 for fixing the distnoted memory leak Jonathan Payne
2014-01-20 12:32   ` SB
     [not found] ` <mailman.7121.1385419042.10748.bug-gnu-emacs@gnu.org>
2014-05-02 11:33   ` bug#15946: 24.3; Mac OS X, Mavericks, distnoted process tony
     [not found] ` <handler.15946.D15946.14687890696153.notifdone@debbugs.gnu.org>
2016-07-18  2:00   ` bug#15946: closed (Re: bug#15946: 24.3; Mac OS X, Mavericks, distnoted process) Donald Tillman

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=ECE73550-C8A0-4DC0-B02B-3B19186E51A5@flipboard.com \
    --to=jpayne@flipboard.com \
    --cc=15946@debbugs.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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).