ID: 35891
User updated by: taneli at crasman dot fi
Reported By: taneli at crasman dot fi
Status: Open
Bug Type: Scripting Engine problem
Operating System: Linux
PHP Version: 5.1.1
New Comment:
Also present in PHP 4.4.1.
BTW: Worst CAPTCHA images, ever.
Previous Comments:
------------------------------------------------------------------------
[2006-01-04 13:53:57] taneli at crasman dot fi
Description:
------------
Running unparsable code - which shouldn't be done, of course, but -
causes a memory leak. Proper, parsable code does not cause memory
leaks.
Reproduce code:
---------------
<?{
echo "Erroneous code eval():\n";
echo "Memory used before: " . memory_get_usage() . "\n";
for ($i = 0; $i < 1000; $i++)
{
eval('$foo = 1; $bar = 2; asdf');
echo "Loop $i, memory used: " . memory_get_usage() . "\n";
}
echo "Memory used after: " . memory_get_usage() . "\n";
echo "\nProper code eval():\n";
echo "Memory used before: " . memory_get_usage() . "\n";
for ($i = 0; $i < 1000; $i++)
{
eval('$foo = 1; $bar = 2;');
echo "Loop $i, memory used: " . memory_get_usage() . "\n";
}
echo "Memory used after: " . memory_get_usage() . "\n";
}?>
Expected result:
----------------
Erroneous code eval():
Memory used before: 42568
Loop 1, memory used: 42568
...
Loop 999, memory used: 42568
Memory used after: 42568
Proper code eval():
Memory used before: 42568
Loop 1, memory used: 42568
...
Loop 999, memory used: 42568
Memory used after: 42568
Actual result:
--------------
Erroneous code eval():
Memory used before: 42568
Loop 0, memory used: 49960
Loop 1, memory used: 57040
Loop 2, memory used: 64088
Loop 3, memory used: 71136
...
Loop 999, memory used: 7073088
Memory used after: 7073064
Proper code eval():
Memory used before: 7073064
Loop 0, memory used: 7073376
...
Loop 999, memory used: 7073376
Memory used after: 7073352
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=35891&edit=1