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

 ID:                 61371
 Updated by:         cataphr...@php.net
 Reported by:        raiderz at gmail dot com
 Summary:            stream_context_create() causes memory leaks on use
                     streams_socket_create
-Status:             Open
+Status:             Verified
 Type:               Bug
 Package:            Streams related
 Operating System:   Linux
 PHP Version:        Irrelevant
-Assigned To:        
+Assigned To:        cataphract
 Block user comment: N
 Private report:     N

 New Comment:

This was fixed in trunk in r323478. If you unset also $errno and $errstr you 
have constant memory. PHP 5.4 still has the resource leak fixed in that 
revision because the fix has not been merged yet.

PHP 5.3 seems to (also?) have a different and more serious leak.

trunk:
memory: 223kb
memory: 223kb
memory: 223kb
memory: 223kb
memory: 223kb

5.4:
memory: 223kb
memory: 290kb
memory: 356kb
memory: 424kb
memory: 489kb

5.3:
memory: 629kb
memory: 711kb
memory: 792kb
memory: 875kb
memory: 955kb

I'll investigate later the problem in 5.3.


Previous Comments:
------------------------------------------------------------------------
[2012-03-13 15:34:33] raiderz at gmail dot com

I update to 5.3.11-dev from snaps, bug already have in this version.

New result:
memory: 317kb
memory: 338kb
memory: 359kb
memory: 380kb
memory: 400kb

------------------------------------------------------------------------
[2012-03-13 14:32:22] cataphr...@php.net

Please try using this snapshot:

  http://snaps.php.net/php5.3-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/



------------------------------------------------------------------------
[2012-03-13 10:29:25] raiderz at gmail dot com

Description:
------------
stream_context_create() causes memory leaks on use width stream_socket_client
Version PHP 5.3.6

Test script:
---------------
for($test=1;$test<=5;$test++) {
        echo 'memory: '.round(memory_get_usage()/1024, 0)."kb\n";
        for($i=0;$i<=100;$i++) {
                $context = stream_context_create(array());
                $stream = stream_socket_client('udp://0.0.0.0:80', $errno, 
$errstr, 10, STREAM_CLIENT_CONNECT, $context);
                fclose($stream);
                unset($context);
                unset($stream);
        }
}

Expected result:
----------------
memory: 615kb
memory: 674kb
memory: 732kb
memory: 790kb
memory: 847kb




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



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

Reply via email to