[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "HISTSIZE=999999999" cause bash failure after lastest upgrade
From: |
Chet Ramey |
Subject: |
Re: "HISTSIZE=999999999" cause bash failure after lastest upgrade |
Date: |
Sun, 25 Sep 2016 18:59:05 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 |
On 9/25/16 3:51 PM, Sean Zha wrote:
> Bash Version: 4.4
> Patch Level: 0
> Release Status: release
>
> Description:
> I use a huge value for HISTSIZE (=999999999) to enable infinite
> history items. The actural size of ~/.bash_history is only 4MB now.
> Everything worked fine before the lastest upgrade. Now bash refuse
> me to login due to memory allocation failure. After choosing
> a smaller HISTSIZE, bash still eatup too much unnesssary memory.
>
> Repeat-By:
> open a workable terminal with small HISTSIZE setting,
> $ echo HISTSIZE=999999999 > ~/test.rc
> $ bash --rcfile ~/test.rc
> bash: xmalloc: cannot allocate 8000000008 bytes (114688 bytes
> allocated)
Since you've specified the desired history size, bash tries to allocate
enough entries to hold all of the entries. The assumption is that this
will reduce the number of allocations/reallocations and the number of
times the history list has to be copied as it's reallocated. I suppose
I should cap the maximum value for which that occurs instead of trusting
the supplied max number of entries.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/