Bug #77495 [Com]: STMT execute memory leak
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)