GNU bug report logs - #1504
23.0.60; emacs daemon leaks memory

Previous Next

Package: emacs;

Reported by: Markus Triska <markus.triska <at> gmx.at>

Date: Sat, 6 Dec 2008 11:30:03 UTC

Severity: normal

Done: Chong Yidong <cyd <at> stupidchicken.com>

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 1504 in the body.
You can then email your comments to 1504 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-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1504; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Markus Triska <markus.triska <at> gmx.at>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Markus Triska <markus.triska <at> gmx.at>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.60; emacs daemon leaks memory
Date: Sat,  6 Dec 2008 12:20:09 +0100 (CET)
When I do:

   $ emacs -Q --daemon

followed by:

   $ while true; do emacsclient -t -e "(save-buffers-kill-terminal)"; done

then the daemon apparently consumes increasingly more memory.

In GNU Emacs 23.0.60.9 (i386-apple-darwin8.11.1, GTK+ Version 2.12.9)
 of 2008-11-28 on mt-computer.local
Windowing system distributor `The XFree86 Project, Inc', version 11.0.40400000
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t





Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1504; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Chong Yidong <cyd <at> stupidchicken.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #10 received at 1504 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Markus Triska <markus.triska <at> gmx.at>
Cc: 1504 <at> debbugs.gnu.org
Subject: Re: 23.0.60; emacs daemon leaks memory
Date: Sat, 06 Dec 2008 13:25:57 -0500
Could you check whether this happens with the ordinary Emacs server as
well?




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1504; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Markus Triska <markus.triska <at> gmx.at>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #15 received at 1504 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Markus Triska <markus.triska <at> gmx.at>
To: Chong Yidong <cyd <at> stupidchicken.com>
Cc: 1504 <at> debbugs.gnu.org
Subject: Re: 23.0.60; emacs daemon leaks memory
Date: Sat, 06 Dec 2008 19:52:54 +0100
Chong Yidong <cyd <at> stupidchicken.com> writes:

> Could you check whether this happens with the ordinary Emacs server as

When I do:

   $ emacs -nw -Q --eval "(server-start)"

instead of "emacs -Q --daemon" above, it also uses more and more memory.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1504; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Chong Yidong <cyd <at> stupidchicken.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #20 received at 1504 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Markus Triska <markus.triska <at> gmx.at>
Cc: 1504 <at> debbugs.gnu.org
Subject: Re: 23.0.60; emacs daemon leaks memory
Date: Sat, 06 Dec 2008 20:15:54 -0500
Markus Triska <markus.triska <at> gmx.at> writes:

> When I do:
>
>    $ emacs -nw -Q --eval "(server-start)"
>
> instead of "emacs -Q --daemon" above, it also uses more and more
> memory.

Does this memory increase persist across garbage collections?  Also,
could you check if Emacs 22 has a similar problem, or if it's new to
Emacs 23?

Thanks.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1504; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Markus Triska <markus.triska <at> gmx.at>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #25 received at 1504 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Markus Triska <markus.triska <at> gmx.at>
To: Chong Yidong <cyd <at> stupidchicken.com>
Cc: 1504 <at> debbugs.gnu.org
Subject: Re: 23.0.60; emacs daemon leaks memory
Date: Sun, 07 Dec 2008 21:59:30 +0100
Chong Yidong <cyd <at> stupidchicken.com> writes:

> Does this memory increase persist across garbage collections?

Yes, unfortunately.

> Also, could you check if Emacs 22 has a similar problem

After trying, I found no similar problem in Emacs 22.3 so far. The test
case does not translate directly to older Emacs versions, and in all
compatible cases I tested, CVS and 22.3 performed equally well and OK.

For example, when I do "emacs -Q -nw -f server-start" and evaluate:

   (defun myedit ()
     (run-with-timer 0.1 nil 'server-edit))

   (add-hook 'after-change-major-mode-hook 'myedit)

Then

   $ while true; do emacsclient test.txt; done

does not leak memory, regardless of which version I try it with.




Reply sent to Chong Yidong <cyd <at> stupidchicken.com>:
You have taken responsibility. Full text and rfc822 format available.

Notification sent to Markus Triska <markus.triska <at> gmx.at>:
bug acknowledged by developer. Full text and rfc822 format available.

Message #30 received at 1504-done <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Markus Triska <markus.triska <at> gmx.at>
Cc: 1504-done <at> debbugs.gnu.org
Subject: Re: 23.0.60; emacs daemon leaks memory
Date: Thu, 11 Dec 2008 15:50:13 -0500
Aha: Emacs wasn't freeing the frame face cache on tty frames.  Fixed.

This, plus a couple of other leaks in term.c that I fixed earlier this
week, accounts for about 95% of the leakage you reported.

There remains a smaller leak occurring in Lisp: see

http://lists.gnu.org/archive/html/emacs-devel/2008-12/msg00443.html

I'll continue looking into that, but it's less urgent because that leak
is much, much slower.  In the meantime, I'm closing the bug.  Thanks for
reporting.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1504; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Markus Triska <markus.triska <at> gmx.at>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #35 received at 1504 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Markus Triska <markus.triska <at> gmx.at>
To: 1504 <at> debbugs.gnu.org
Cc: Chong Yidong <cyd <at> stupidchicken.com>
Subject: Re: bug#1504 closed by Chong Yidong <cyd <at> stupidchicken.com> (Re:  23.0.60; emacs daemon leaks memory)
Date: Sat, 13 Dec 2008 01:12:41 +0100
> it's less urgent because that leak is much, much slower.

Serious emacsclient testing can only start when the leak is completely
fixed: I'm trying to trace down a different problem (#1125) which only
seems to happen after entering and exiting emacsclient occasionally.
Still, thank you for the current fixes - I can now run the test cases
for a few minutes instead of only seconds, which is already better.

Also, when I use emacsclient with "-c" instead of "-t" in the test case,
there's a leak that seems to be as severe as before your patches.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> emacsbugs.donarmstrong.com. (Sat, 10 Jan 2009 15:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 16 years and 157 days ago.

Previous Next


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