Bug 1297843

Summary: memleaks
Product: Red Hat Enterprise Linux 6 Reporter: Martin Kyral <mkyral>
Component: bashAssignee: Siteshwar Vashisht <svashisht>
Status: CLOSED WONTFIX QA Contact: Martin Kyral <mkyral>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.7CC: jkejda, ovasik, qe-baseos-apps
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1264101 Environment:
Last Closed: 2017-12-06 11:14:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

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/