From: robert dot munteanu at betbrain dot com Operating system: Linux 2.6.8.1 PHP version: 5.0.4 PHP Bug Type: Scripting Engine problem Bug description: Memory allocated for objects created in object methods is not released
Description: ------------ Whenever you create an object in a method, memory is not released when the method execution ends, unset() must be called manually. This becomes a problem when you have long-running scripts, which perform actions repeatedly which leads to the script running out of memory. Reproduce code: --------------- <?php class Tester { public function doNothing() { $res = array(); for ( $i = 0; $i < 10000; $i++) { $res[$i] = new StdClass; } } } $t = new Tester(); echo "Before: ".memory_get_usage()."\n"; $t->doNothing(); echo "After: ".memory_get_usage()."\n"; ?> Expected result: ---------------- Memory usage remains roughly the same. Actual result: -------------- Before: 41424 After: 432560 -- Edit bug report at http://bugs.php.net/?id=33487&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=33487&r=trysnapshot4 Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=33487&r=trysnapshot50 Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=33487&r=trysnapshot51 Fixed in CVS: http://bugs.php.net/fix.php?id=33487&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=33487&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=33487&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=33487&r=needscript Try newer version: http://bugs.php.net/fix.php?id=33487&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=33487&r=support Expected behavior: http://bugs.php.net/fix.php?id=33487&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=33487&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=33487&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=33487&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=33487&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=33487&r=dst IIS Stability: http://bugs.php.net/fix.php?id=33487&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=33487&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=33487&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=33487&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=33487&r=mysqlcfg