Bug #77495 [Com]: STMT execute memory leak

From: Date: Tue, 07 Jan 2020 11:05:31 +0000
Subject: Bug #77495 [Com]: STMT execute memory leak
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-224749@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=77495&edit=1

 ID:                 77495
 Comment by:         thomas dot kosel at aspera dot com
 Reported by:        istvan at dupai dot hu
 Summary:            STMT execute memory leak
 Status:             Open
 Type:               Bug
 Package:            MySQLi related
 Operating System:   Windows
 PHP Version:        7.3.1
 Block user comment: N
 Private report:     N

 New Comment:

I can reproduce this on 7.3.6 in a docker environment
The issue did not apply, when the prepare and bind parts are in the loop too.


Previous Comments:
------------------------------------------------------------------------
[2019-01-21 00:47:19] istvan at dupai dot hu

Description:
------------
MySQLi prepared statement execution in a loop increases memory consumption rapidly constantly.

Test script:
---------------
$now = microtime(true);
$db = new \Mysqli("localhost", "root", "password",
"database", 3306);

$stmt = $db->prepare("SELECT * FROM someTable WHERE id=?");
$stmt->bind_param("i", $id);

for( $id=1; $id<1000; $id++ ) {
    $stmt->execute();
    $result = $stmt->get_result();
    $stmt->free_result();
}

echo "Time taken: ".(microtime(true)-$now)." seconds\n";
echo "Peak memory usage: ".number_format(memory_get_peak_usage())." bytes\n";

Expected result:
----------------
Memory usage should peak and stay around 400 KBs.

Actual result:
--------------
Memory usage constantly grows.


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



--
Edit this bug report at https://bugs.php.net/bug.php?id=77495&edit=1


Thread (4 messages)

« previous php.bugs (#224749) next »