Bug #76484 [Fbk->Opn]: emory leakage with CURLOPT_SSL_VERIFYPEER set to TRUE
| From: | john357smith at gmail dot com | Date: | Sat, 08 Sep 2018 11:46:17 +0000 |
| Subject: | Bug #76484 [Fbk->Opn]: emory leakage with CURLOPT_SSL_VERIFYPEER set to TRUE | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-216931@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=76484&edit=1
ID: 76484
User updated by: john357smith at gmail dot com
Reported by: john357smith at gmail dot com
Summary: emory leakage with CURLOPT_SSL_VERIFYPEER set to
TRUE
-Status: Feedback
+Status: Open
Type: Bug
Package: cURL related
Operating System: Linux
PHP Version: 7.2.6
Block user comment: N
Private report: N
New Comment:
Hi again
Sorry for the late answer I didn't get any email notification about your replay.
I tried it again with the latest version 7.2.9 compiled with only necessary options. After one hour
the memory_get_usage() reports still the same number but consumed virtual memory increased from
290MB to 420MB. Couldn't be problem with leakage in openssl or curl library? I'm using
openssl-1.0.2k-8 and curl-7.29.0-42.
Here are screenshots with running process and htop showing memory usage:
https://imgur.com/upfRDl0 - after start
https://imgur.com/kpCUsbV - after 1 hour
Thanks.
Previous Comments:
------------------------------------------------------------------------
[2018-07-25 19:06:33] requinix@php.net
Tried this with the 7.2.8 and 7.1.20 I have on hand, and with repeated calls but not for a full hour
(let alone 24). No leaks.
If you var_dump(memory_get_usage()) do you see an increase after a few requests, or does it actually
take on the scale of an hour to see it? What does valgrind have to say?
------------------------------------------------------------------------
[2018-07-25 18:48:14] john357smith at gmail dot com
One month after I created this bug and no feedback? Will somebody look at it?
------------------------------------------------------------------------
[2018-06-15 16:57:56] john357smith at gmail dot com
Description:
------------
When cURL is used with CURLOPT_SSL_VERIFYPEER set to TRUE or even without setting it (= default
value is TRUE) there is a memory leakage with every call causing memory usage of php process to be
constantly increasing.
memory_get_usage() reports still the same value so it must be core problem.
Keep test script running for more than 1 hour to see difference in memory usage (e.g. with top/htop
etc.)
After running this script for 24 hours I got 50% of system memory to be used (cca 2GB)!
Test script:
---------------
error_reporting((E_ALL));
while (TRUE)
{
$url = "https://www.yahoo.com/";
echo("Fetching $url ... \n");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_exec($ch);
curl_close($ch);
usleep(200000);
}
Expected result:
----------------
No memory leakage even when script is running forever.
Actual result:
--------------
Memory usage is constantly increasing in time.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=76484&edit=1