From:             lf at burntmail dot com
Operating system: Linux
PHP version:      5.0.0b4 (beta4)
PHP Bug Type:     Zend Engine 2 problem
Bug description:  list() array key assignment

Description:
------------
When using array keys as variables in the list() function  there is a
noticiable memory leak.



It doesn't seem to matter if you assign values to the array key's before
using them in the array.





Reproduce code:
---------------
//memory leak!

while (1)

{

 $out = array(); 

 $arr = array('a','b','c');

 list($out['a'], $out['b'], $out['c']) = $arr;

}



//NO memory leak!!

while (1)

{

 $out = array(); 

   $a = &$out['a'];

   $b = &$out['b'];

   $c = &$out['c'];



 $arr = array('a','b','c');

 list($a, $b, $c) = $arr;

}

Expected result:
----------------
Output every 4000 loops

#  | Memory usage



4000  |  68 KB

8000  |  68 KB

12000  |  68 KB

16000  |  68 KB

20000  |  68 KB

24000  |  68 KB

28000  |  68 KB

32000  |  68 KB

36000  |  68 KB

40000  |  68 KB

44000  |  68 KB

48000  |  68 KB

52000  |  68 KB

56000  |  68 KB

60000  |  68 KB

64000  |  68 KB

68000  |  68 KB

72000  |  68 KB

76000  |  68 KB

80000  |  68 KB

84000  |  68 KB

88000  |  68 KB

92000  |  68 KB

96000  |  68 KB

100000  |  68 KB

104000  |  68 KB

108000  |  68 KB

112000  |  68 KB







Actual result:
--------------
Output  every 4000 loops

# | Memory usage



4000  |  349 KB

8000  |  630 KB

12000  |  911 KB

16000  |  1.2 MB

20000  |  1.4 MB

24000  |  1.7 MB

28000  |  2.0 MB

32000  |  2.3 MB

36000  |  2.5 MB

40000  |  2.8 MB

44000  |  3.1 MB

48000  |  3.4 MB

52000  |  3.6 MB

56000  |  3.9 MB

60000  |  4.2 MB

64000  |  4.5 MB

68000  |  4.7 MB

72000  |  5.0 MB

76000  |  5.3 MB

80000  |  5.6 MB

84000  |  5.8 MB

88000  |  6.1 MB

92000  |  6.4 MB

96000  |  6.7 MB

100000  |  6.9 MB

104000  |  7.2 MB

108000  |  7.5 MB

112000  |  7.8 MB



-- 
Edit bug report at http://bugs.php.net/?id=27598&edit=1
-- 
Try a CVS snapshot (php4):  http://bugs.php.net/fix.php?id=27598&r=trysnapshot4
Try a CVS snapshot (php5):  http://bugs.php.net/fix.php?id=27598&r=trysnapshot5
Fixed in CVS:               http://bugs.php.net/fix.php?id=27598&r=fixedcvs
Fixed in release:           http://bugs.php.net/fix.php?id=27598&r=alreadyfixed
Need backtrace:             http://bugs.php.net/fix.php?id=27598&r=needtrace
Need Reproduce Script:      http://bugs.php.net/fix.php?id=27598&r=needscript
Try newer version:          http://bugs.php.net/fix.php?id=27598&r=oldversion
Not developer issue:        http://bugs.php.net/fix.php?id=27598&r=support
Expected behavior:          http://bugs.php.net/fix.php?id=27598&r=notwrong
Not enough info:            http://bugs.php.net/fix.php?id=27598&r=notenoughinfo
Submitted twice:            http://bugs.php.net/fix.php?id=27598&r=submittedtwice
register_globals:           http://bugs.php.net/fix.php?id=27598&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=27598&r=php3
Daylight Savings:           http://bugs.php.net/fix.php?id=27598&r=dst
IIS Stability:              http://bugs.php.net/fix.php?id=27598&r=isapi
Install GNU Sed:            http://bugs.php.net/fix.php?id=27598&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=27598&r=float

Reply via email to