Bug 1297843 - memleaks
Summary: memleaks
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: bash
Version: 6.7
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Siteshwar Vashisht
QA Contact: Martin Kyral
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-01-12 15:34 UTC by Martin Kyral
Modified: 2017-12-06 11:14 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1264101
Environment:
Last Closed: 2017-12-06 11:14:04 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Martin Kyral 2016-01-12 15:34:41 UTC
The same memleaks are in bash-4.1.2-40.el6

+++ This bug was initially created as a clone of Bug #1264101 +++

Description of problem:
The following scripts are making bash to leak memory (originally reproducers for ksh memleaks). Also, the scripts run significantly slower under bash than with ksh (may be caused by the leaks, though).

$ cat repr1.ksh
#!/usr/bin/ksh

function _hash {
        typeset w=([abc]=1 [def]=31534 [xyz]=42)
        print -u2 $w 2>&-
        # accessing the var will leak
}
function _array {
        typeset w=(1 31534 42)
        print -u2 $w 2>&-
        # unset w will prevent leak
}

pmap -x $$ |tail -1
for (( j=0; j<100; j++)); do
        for (( i=0; i<10000; i++)); do
               _hash
        done
        pmap -x $$ |tail -1
done
sleep 1

$ cat repr4.ksh
#!/usr/bin/ksh

function _hash {
        typeset w=([abc]=1 [def]=31534 [xyz]=42)
        print -u2 $w 2>&-
        # accessing the var will leak
}
function _array {
        typeset w=(1 31534 42)
        print -u2 $w 2>&-
        # unset w will prevent leak
}

pmap -x $$ |tail -1
for (( j=0; j<100; j++)); do
        for (( i=0; i<10000; i++)); do
               _array
        done
        pmap -x $$ |tail -1
done
sleep 1

Version-Release number of selected component (if applicable):
bash-4.2.46-19.el7

How reproducible:
Always


Steps to Reproduce:
1. run the scripts from description
2.
3.

Actual results:
Memory usage grows quickly:
$ bash repr1.ksh
total kB          115060    3152     252
total kB          117964    6096    3196
total kB          120868    8912    6012
total kB          123640   11724    8824
total kB          126412   14536   11636
^C
$ bash repr4.ksh
total kB          115060    3152     256
total kB          117964    6096    3200
total kB          120868    8912    6016
total kB          123640   11724    8828
total kB          126412   14536   11640
^C
$


Expected results:
Steady memory usage as is with ksh:
$ ksh repr1.ksh
total kB          116848    1728     292
total kB          116848    1860     312
total kB          116848    1860     312
total kB          116848    1860     312
total kB          116848    1860     312
total kB          116848    1860     312
total kB          116848    1860     312
total kB          116848    1860     312
total kB          116848    1860     312
total kB          116848    1860     312
^C
$ ksh repr4.ksh
total kB          116848    1720     288
total kB          116848    1852     308
total kB          116848    1852     308
total kB          116848    1852     308
total kB          116848    1852     308
total kB          116848    1852     308
total kB          116848    1852     308
total kB          116848    1852     308
total kB          116848    1852     308
total kB          116848    1852     308
total kB          116848    1852     308
total kB          116848    1852     308
total kB          116848    1852     308
^C



Additional info:

--- Additional comment from Martin Kyral on 2015-09-22 05:29 EDT ---



--- Additional comment from Martin Kyral on 2015-09-22 05:29 EDT ---

Comment 4 Jan Kurik 2017-12-06 11:14:04 UTC
Red Hat Enterprise Linux 6 is in the Production 3 Phase. During the Production 3 Phase, Critical impact Security Advisories (RHSAs) and selected Urgent Priority Bug Fix Advisories (RHBAs) may be released as they become available.

The official life cycle policy can be reviewed here:

http://redhat.com/rhel/lifecycle

This issue does not meet the inclusion criteria for the Production 3 Phase and will be marked as CLOSED/WONTFIX. If this remains a critical requirement, please contact Red Hat Customer Support to request a re-evaluation of the issue, citing a clear business justification. Note that a strong business justification will be required for re-evaluation. Red Hat Customer Support can be contacted via the Red Hat Customer Portal at the following URL:

https://access.redhat.com/


Note You need to log in before you can comment on or make changes to this bug.