ID:               35891
 Updated by:       [EMAIL PROTECTED]
 Reported By:      taneli at crasman dot fi
-Status:           Open
+Status:           Wont fix
 Bug Type:         Scripting Engine problem
 Operating System: Linux
 PHP Version:      5.1.1, 4.4.1
 New Comment:

This is expected.
After parse error (wherever it happens) the engine is in unstable state
and is unable to gracefully free all the memory allocated before.
Just don't do it [tm].


Previous Comments:
------------------------------------------------------------------------

[2006-01-04 13:59:02] taneli at crasman dot fi

Also present in PHP 4.4.1.

BTW: Worst CAPTCHA images, ever.

------------------------------------------------------------------------

[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

Reply via email to