Subject: Re: bug#15156: 24.3; !MEM FULL!

From: "Sebastien Vauban" <[email-masked]>
Date: Sun, 25 Aug 2013 09:39:30 +0200

Eli Zaretskii wrote:
>> From: "Sebastien Vauban" <[email-masked]>
>> Cc: [email-masked]
>>
>>>>> Turn off flyspell and see whether it still happens?
>>>>
>>>> Quite complex,
>>
>> Eli wrote:
>>> So you are saying that some (most?) of your sessions don't exhibit
>>> this problem at all?  Earlier, you said that the problematic sessions
>>> are only several hours old, and this "once a week" seems to contradict
>>> that, because if the memory footprint grows so much in just a few
>>> hours, you should see these problems in almost every session.  What am
>>> I missing?
>>
>> I said that:
>>
>> - MEM FULL problem doesn't occur in Emacs sessions of tens of hours long, as I
>>   generally restart Emacs at least once a day.
>
> No, you said:
>
>>> And how long was that session up and running, before that happened?
>>> (You can use the emacs-uptime command to answer the last question.)
>>
>> 15 hours, 14 minutes, 3 seconds
>>
>> But you must substract the night... So, in fact, something like 6 to 8 hours.
>
> So, if you each day have a 15-hour long session, you should have this
> problem almost every day.  If you don't, that means when the problem
> happens you do something relatively extraordinary.

Yes, you're right that this happens in "one-day long sessions". So, either:

- one-day long is more or less the limit in my case to trigger the problem,
  and I'm often just under (making it visible once every week or so).

- there are conditions which make it happen quite randomly.

- the problem is more pronounced with Emacs trunk, which I use more and more
  (instead of Emacs 24.3.1).

> Maybe you could try figuring out what that could be.

No idea what that could be, at this stage. I really use Emacs the same way
every day: for writing reports and emails. That implies using Flyspell and
Helm (for switching buffers or locating files) a lot.

>> In my head, it has never been clear that Emacs would be constantly growing, at
>> all times (unconditionally), and that if I wait long enough, I won't escape
>> the MEM FULL problem.
>
> It shouldn't grow constantly.  Here's what I see on my system:
>
>   Name                Pid Pri Thd  Hnd   Priv        CPU Time    Elapsed Time 
>   emacs              4388   8   6  140 195124     1:32:49.906   238:09:46.822
>
> This session runs for more than 9 days.
>
>> [1] Every 10s, I log "pslist emacs". I sometimes had two Emacs instances
>>     running in parallel.
>
> The memory footprint grows almost monotonically, and too fast, IMO.
> But it never goes anywhere near the 1.6GB mark, so I'm not sure we see
> here something important.  It would be interesting to see the memory
> history of a session which does get to MEM FULL.

You'll get it the next time it occurs, as I run this script constantly now:

--8<---------------cut here---------------start------------->8---
#!/bin/bash

while true; do
    pslist emacs;
    sleep 10
done > ~/watch-emacs.log
--8<---------------cut here---------------end--------------->8---

Anything you'd want to add?  Date?  Frequency (every 10 s)?

>> I guess that "time gaps" such as:
>>
>> emacs              2440   8   6  236  67836     0:01:44.187     0:54:30.142
>> emacs              2440   8   6  236  67836     0:01:44.234     1:14:33.897
>>
>> indicate that I closed the lid of my laptop, hibernating it for 20 minutes?
>
> I don't think it's hibernation, unless pslist has some tricks up its
> sleeve: when the machine hibernates, the elapsed time of all processes
> stops advancing.

I just tried: I reopened now my laptop (after a night), and the elapsed time
jumps suddenly with the "sleeping" time:

Name                Pid Pri Thd  Hnd   Priv        CPU Time    Elapsed Time 
emacs              1512   8  10  309 161408     0:05:25.562    21:55:29.521

Name                Pid Pri Thd  Hnd   Priv        CPU Time    Elapsed Time 
emacs              1512   8   9  298 161348     0:05:26.218    32:44:46.964

So, the elapsed time does not stop advancing.

Best regards,
  Seb