#30053 [Opn->WFx]: php leaks memory when using references
| From: | sniper@php.net | Date: | Wed, 15 Sep 2004 08:52:09 +0000 |
| Subject: | #30053 [Opn->WFx]: php leaks memory when using references | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-66194@lists.php.net to get a copy of this message | ||
ID: 30053
Updated by: sniper@php.net
Reported By: hkmaly at bigfoot dot com
-Status: Open
+Status: Wont fix
-Bug Type: Unknown/Other Function
+Bug Type: Scripting Engine problem
Operating System: Linux
PHP Version: 4.3.8
New Comment:
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
circular references, blaa blaa, search the bug db for couple of hundred
other similar bug reports. (Won't fix)
Previous Comments:
------------------------------------------------------------------------
[2004-09-10 18:20:29] hkmaly at bigfoot dot com
Description:
------------
If I play with references, I found php doesn't properly free
all memory in arrays with references ... for example don't free all
memory in local variables of function. By repeating calling that
function, leak can lead to consumation of all allowed memory.
BTW, submited also as http://bugs.gentoo.org/show_bug.cgi?id=63559
Reproduce code:
---------------
<?php
function testLeak()
{
$a=array("jablka","hrusky","petr"=>"zeli");
foreach($a as $k=>$v) {
$b[$k]=&$a;
$b[$k]['names']=&$a;
}
return($b);
}
echo memory_get_usage()."\n";
for($i=0;$i<200000;$i++) {
testLeak();
echo memory_get_usage()."\n";
}
?>
Expected result:
----------------
Something as
20720
21816
22144
22144
22144
....
22144
22144
22144
Actual result:
--------------
20720
21816
22144
.....
.....
.....
16775400
16775728
16776056
16776384
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to
allocate
32 bytes) in /castle/hkmaly/programy/php/test_leak.php on line 6
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=30053&edit=1