GNU bug report logs - #43389
28.0.50; Emacs memory leaks

Previous Next

Package: emacs;

Reported by: Michael Heerdegen <michael_heerdegen <at> web.de>

Date: Mon, 14 Sep 2020 00:44:01 UTC

Severity: normal

Merged with 43395, 43876, 44666

Found in version 28.0.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: carlos <at> redhat.com
Cc: fweimer <at> redhat.com, 43389 <at> debbugs.gnu.org, bugs <at> gnu.support, dj <at> redhat.com, michael_heerdegen <at> web.de, trevor <at> trevorbentley.com
Subject: bug#43389: 28.0.50; Emacs memory leaks using hard disk all time
Date: Fri, 27 Nov 2020 10:20:46 +0200
> Date: Fri, 27 Nov 2020 09:52:00 +0200
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: fweimer <at> redhat.com, 43389 <at> debbugs.gnu.org, bugs <at> gnu.support, dj <at> redhat.com,
>  carlos <at> redhat.com, michael_heerdegen <at> web.de
> 
> > Date: Fri, 27 Nov 2020 09:40:53 +0200
> > From: Eli Zaretskii <eliz <at> gnu.org>
> > Cc: fweimer <at> redhat.com, 43389 <at> debbugs.gnu.org, bugs <at> gnu.support, dj <at> redhat.com,
> >  michael_heerdegen <at> web.de, trevor <at> trevorbentley.com
> > 
> > > lisp_align_malloc (alloc.c:1195)
> > >  Fcons (alloc.c:2694)
> > >   concat (fns.c:730)
> > >    Fcopy_sequence (fns.c:598)
> > >     timer_check (keyboard.c:4395)
> > >      wait_reading_process_output (process.c:5334)
> > >       sit_for (dispnew.c:6056)
> > >        read_char (keyboard.c:2742)
> > >         read_key_sequence (keyboard.c:9551)
> > >          command_loop_1 (keyboard.c:1354)
> > >           internal_condition_case (eval.c:1365)
> > >            command_loop_2 (keyboard.c:1095)
> > >             internal_catch (eval.c:1126)
> > >              command_loop (keyboard.c:1074)
> > >               recursive_edit_1 (keyboard.c:718)
> > >                Frecursive_edit (keyboard.c:790)
> > >                 main (emacs.c:2080)
> > >  
> > > There is a 171MiB's worth of allocations in that path.
> > > 
> > > There are a lot of traces ending in wait_reading_process_output that
> > > are consuming 50MiB.
> > 
> > Thanks.  If they are like the one above, the allocations are due to
> > some timer.  Could be jabber, I'll take a look at it.  Or maybe
> > helm-ff--cache-mode-refresh, whatever that is; need to look at Helm as
> > well.
> 
> Oops, I got this mixed up: the timer list is from Jean, but the massif
> files are from Trevor.

Double oops: the above just shows that each time we process timers, we
copy the list of the timers first.  Not sure what to do about that.
Hmm...  Maybe we should try GC at the end of each timer_check call?

Is it possible to tell how much time did it take to allocate those
171MB via the above chain of calls?  I'm trying to assess the rate of
allocations we request this way.

Each call to lisp_align_malloc above requests a 1008-byte chunk of
memory for a new block of Lisp conses.  Would it benefit us to tune
this value to a larger or smaller size, as far as glibc's malloc is
concerned?




This bug report was last modified 4 years and 58 days ago.

Previous Next


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