Edit report at https://bugs.php.net/bug.php?id=50480&edit=1
ID: 50480 Updated by: php-bugs@lists.php.net Reported by: lesjno at free dot fr Summary: memory leak with eval() -Status: Feedback +Status: No Feedback Type: Bug Package: Scripting Engine problem Operating System: * PHP Version: 5.3.1 New Comment: No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Open". Thank you. Previous Comments: ------------------------------------------------------------------------ [2011-11-16 13:58:09] fel...@php.net Please try using this snapshot: http://snaps.php.net/php5.3-latest.tar.gz For Windows: http://windows.php.net/snapshots/ ------------------------------------------------------------------------ [2011-09-12 19:54:19] horsarias at hotmail dot com Hi, my php console process reaches the memory limit after some days of hard work but the only suspect that i find in de code is the "eval". using linux with php 5.3.6 ( in my code, the eval function is HEAVALY usted with HEAVY arrays being evaluated) Bye ------------------------------------------------------------------------ [2010-05-27 13:26:46] letssurf at gmail dot com PHP Versions: ------------- Tested as broken with 5.2.6 5.3.2 Reproduce code: --------------- <?php // working code, runs for ever $code = 'return false;'; while(true) { $result = eval($code); $mem = memory_get_peak_usage(true); var_dump($result, $mem); } <?php // broken code, dies due to memory limit being reached $code = 'some invalid php code'; while(true) { $result = eval($code); $mem = memory_get_peak_usage(true); var_dump($result, $mem); } Expected result: ---------------- A var_dump of false and the peak memory usage, not increasing. Actual result: -------------- A var_dump of false and the peak memory usage keeps increasing. ------------------------------------------------------------------------ [2010-04-26 10:09:45] lesjno at free dot fr I've just tried the PHP 5.3.2 release but the memory leak remains. The test script is the following : CODE : ------ $status=""; $ch="\$result=true;"; // a chain with a good php syntax $memory_used1 = memory_get_usage(); $status = @eval($ch) ; $memory_used2 = memory_get_usage(); echo "chain to eval : \"$ch\" ==> status = "; var_dump($status); echo "<BR>"; echo "<b>memory difference = ".($memory_used2-$memory_used1)."<BR><BR></b>\n"; $ch="abcdef"; // a chain with a bad php syntaxe $memory_used1 = memory_get_usage(); $status = @eval($ch) ; $memory_used2 = memory_get_usage(); echo "chain to eval : \"$ch\" ==> status = "; var_dump($status); echo "<BR>"; echo "<b>memory difference = ".($memory_used2-$memory_used1)."<BR></b>\n"; Actual result: -------------- chain to eval : "$result=true;" ==> status = NULL memory difference = 512 chain to eval : "abcdef" ==> status = bool(false) memory difference = 8632 Expected result: -------------- chain to eval : "$result=true;" ==> status = NULL memory difference = 0 chain to eval : "abcdef" ==> status = bool(false) memory difference = 0 ------------------------------------------------------------------------ [2010-04-25 20:39:15] fel...@php.net Please try using this snapshot: http://snaps.php.net/php5.3-latest.tar.gz For Windows: http://windows.php.net/snapshots/ ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=50480 -- Edit this bug report at https://bugs.php.net/bug.php?id=50480&edit=1