From: windeler at mediafinanz dot de
Operating system: Linux / Windows XP
PHP version: 5.2.4
PHP Bug Type: MySQLi related
Bug description: mysqli_free_result not freeing memory
Description:
------------
I am using the latest stable PHP version 5.2.4 on Windows XP (SP2) and
Linux (Kernel 2.6.16) and a MySQL Database version 5.0.45.
In both cases mysqli_free_result doesn't seem to free the allocated
memory.
Reproduce code:
---------------
$db = new mysqli("localhost", "username", "password", "database");
for ($i = 1; $i <= 100; $i++)
{
echo 'turn '.$i.'<br />';
echo "before query: ".memory_get_usage(false).'<br />';
$dbResult = $db->query("SELECT * FROM example LIMIT $i, $i");
$row = $dbResult->fetch_assoc();
echo "before close: ".memory_get_usage(false).'<br />';
$dbResult->free();
unset($dbResult);
echo "after close: ".memory_get_usage(false).'<br /><br />';
}
Expected result:
----------------
turn 1
before query: 75624
before close: 79736
after close: 75624
turn 2
before query: 75624
before close: 79834
after close: 75624
turn 3
before query: 75624
before close: 79976
after close: 75624
[...]
turn 100
before query: 75624
before close: 79858
after close: 75624
Actual result:
--------------
turn 1
before query: 75624
before close: 79736
after close: 79872
turn 2
before query: 79872
before close: 84184
after close: 84184
turn 3
before query: 84184
before close: 84200
after close: 84240
[...]
turn 100
before query: 85360
before close: 85360
after close: 85360
--
Edit bug report at http://bugs.php.net/?id=42891&edit=1
--
Try a CVS snapshot (PHP 4.4):
http://bugs.php.net/fix.php?id=42891&r=trysnapshot44
Try a CVS snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=42891&r=trysnapshot52
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=42891&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=42891&r=fixedcvs
Fixed in release:
http://bugs.php.net/fix.php?id=42891&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=42891&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=42891&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=42891&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=42891&r=support
Expected behavior: http://bugs.php.net/fix.php?id=42891&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=42891&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=42891&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=42891&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=42891&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=42891&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=42891&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=42891&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=42891&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=42891&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=42891&r=mysqlcfg