Bug #61371 [Opn->Ver]: stream_context_create() causes memory leaks on use streams_socket_create

From: Date: Wed, 14 Mar 2012 08:28:37 +0000
Subject: Bug #61371 [Opn->Ver]: stream_context_create() causes memory leaks on use streams_socket_create
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-168444@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=61371&edit=1

 ID:                 61371
 Updated by:         cataphract@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] cataphract@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


Thread (5 messages)

« previous php.bugs (#168444) next »