all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#1053: 23.0.60; 600 MB memory not freed after keyboard-quit
@ 2008-09-29 19:20 Peter Tury
  2008-09-30  1:42 ` Stefan Monnier
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Tury @ 2008-09-29 19:20 UTC (permalink / raw)
  To: emacs-pretest-bug

Hi,

I am not sure if this is a real bug...

I run this function for ~1.5 hours without stopping:

(defun yyy (n k &optional tup)
  (if (< 0 k)
      (mapcar (lambda (x)
              (when (or (null tup)
                        (> x (car (last tup))))
                (yyy n (1- k) (append tup (list x)))))
            (number-sequence 1 n))
    ;(message "%S" tup) <- yes, this was commented out
    ))

;; I started yyy this way:
(progn
  (message "start: %s" (current-time-string))
  (yyy 90 5)
  (message "end: %s" (current-time-string)))

((I know mapc should be used above instead of mapcar; but think this
is a test program. It caused Emacs22 to give a "Warning! Memory limit
exceeded" on Windows2000 with 4GB memory, after running for ~20
minutes... -- now I tried to reproduce this on Linux with Emacs23 with
1 GB memory. The warning didn't come, but the following happened: ))

Emacs eat up all of the memory + a big chunk of the swap: Emacs itself
used ~620MB memory after 1.5 hours (not really increasing after some
time). Then I decided to stop it. Went to Emacs and typed C-g. Nothing
happened for a while, but after that buffer content was redrawn and I
could move the point (with the arroy keys): I thought yyy-process is
stopped and I can use Emacs again. But after a while Emacs again
stopped responding. Even the buffer content was not redrawn. I tried
C-g again and again, but nothing happened. I hoped just memory freeing
takes a long time, so left my PC for some minutes. This didn't helped
either. But after a while I could again use Emacs: killed the buffer
(containing yyy) and moved around the point just to see it works. But
memory still was occupied: Emacs used ~600MB. Later I killed Emacs
(with C-x C-c) and got back the memory.

I think Emacs should free the memory if I stop the process (with C-g)
what filled up the memory...at least after some minutes garbage
collection should work? Or is this behaviour described above a feature
of (keyboard-)quit?

Thanks,
P

----------

In GNU Emacs 23.0.60.1 (i686-pc-linux-gnu, GTK+ Version 2.12.9)
 of 2008-09-03 on ubuntu-tury
Windowing system distributor `The X.Org Foundation', version 11.0.10400090
configured using `configure  '--with-xft=no''

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: hu_HU.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  savehist-mode: t
  which-function-mode: t
  show-paren-mode: t
  recentf-mode: t
  iswitchb-mode: t
  icomplete-mode: t
  display-time-mode: t
  desktop-save-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <menu-bar>
<file> <Open Recent> <emacs-lisp (5)> </home/xxx/emacs/trials/lotto2.el>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <menu-bar> <help-menu>
<send-emacs-bug-report>

Recent messages:
Loading info...done
uncompressing parted.info.gz...done
uncompressing parted.info.gz...done
uncompressing parted.info.gz...done
Loading vc-cvs...done
Loading cc-mode...done
hellow.java has auto save data; consider M-x recover-this-file
Wrote /home/xxx/.emacs.desktop.lock
Desktop: 6 buffers restored.
For information about GNU Emacs and the GNU system, type C-h C-a.






^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#1053: 23.0.60; 600 MB memory not freed after keyboard-quit
  2008-09-29 19:20 bug#1053: 23.0.60; 600 MB memory not freed after keyboard-quit Peter Tury
@ 2008-09-30  1:42 ` Stefan Monnier
  2011-07-09 17:56   ` Glenn Morris
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Monnier @ 2008-09-30  1:42 UTC (permalink / raw)
  To: Peter Tury; +Cc: emacs-pretest-bug, 1053

> could move the point (with the arroy keys): I thought yyy-process is
> stopped and I can use Emacs again. But after a while Emacs again
> stopped responding. Even the buffer content was not redrawn. I tried

It was probably busy doing garbage-collection.

> C-g again and again, but nothing happened. I hoped just memory freeing
> takes a long time, so left my PC for some minutes. This didn't helped
> either. But after a while I could again use Emacs: killed the buffer
> (containing yyy) and moved around the point just to see it works. But
> memory still was occupied: Emacs used ~600MB. Later I killed Emacs
> (with C-x C-c) and got back the memory.

Releasing such memory is surprisingly difficult, so you may indeed end
up with a large Emacs process with a large heap that takes a long time
to GC, so every time Emacs calls the GC your Emacs appears frozen.

If you try M-: (garbage-collect) RET in such a process you should see
how long it takes, and the returned value contains useful info to have
a vague idea of what's going on.


        Stefan






^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#1053: 23.0.60; 600 MB memory not freed after keyboard-quit
  2008-09-30  1:42 ` Stefan Monnier
@ 2011-07-09 17:56   ` Glenn Morris
  0 siblings, 0 replies; 3+ messages in thread
From: Glenn Morris @ 2011-07-09 17:56 UTC (permalink / raw)
  To: 1053-done


I don't see a need to keep open this particular report, which was marked
"wontfix" some time ago.

Stefan Monnier wrote:

> Releasing such memory is surprisingly difficult, so you may indeed end
> up with a large Emacs process with a large heap that takes a long time
> to GC, so every time Emacs calls the GC your Emacs appears frozen.





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-07-09 17:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-29 19:20 bug#1053: 23.0.60; 600 MB memory not freed after keyboard-quit Peter Tury
2008-09-30  1:42 ` Stefan Monnier
2011-07-09 17:56   ` Glenn Morris

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.