GNU bug report logs -
#26952
25.2; repeated buffer insertion (e.g. yank-rectangle) consumes excessive memory (4GB+ for 90MB of text)
Previous Next
Reported by: Francesco Potortì <pot <at> gnu.org>
Date: Tue, 16 May 2017 14:55:01 UTC
Severity: important
Merged with 27498,
31092,
38629
Found in versions 25.1, 25.2
Fixed in version 26.1
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
Message #18 received at 26952 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> I see the issue also with 25.2, but not with master (no idea what might
>> have fixed it though).
>
> Thanks for looking into this. Can you tell more about where it is
> looping in Emacs 25.2? I'm uneasy about not knowing what fixed this.
The following simple loop can trigger the issue (I'm now also limiting
Emacs' memory usage to 1GB with "ulimit -Sv $((1000 * 1024))" so that it
just throws an out of memory error instead of filling my swap and
slowing everything down):
(let ((str (make-string 150 ?a)))
(dotimes (_ (* 600 1000))
(insert str ?\n)))
I think it might be just an inefficient allocater (or this pattern of
allocation happens to hit a pathological case for the allocater). The
master branch is using the 'hybrid' allocater, while emacs-25 is not.
If I configure 25.2 with REL_ALLOC=yes, then it runs okay. The only
allocation seems to be from 'enlarge_buffer_text'.
This bug report was last modified 5 years and 137 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.