Re: memory leak in the new power operator tests

From: Date: Thu, 06 Feb 2014 20:34:44 +0000
Subject: Re: memory leak in the new power operator tests
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to [email protected] to get a copy of this message
Am 6.2.2014 um 21:02 schrieb Tjerk Meesters <[email protected]>:
> Hi,
> 
> 
> On Fri, Feb 7, 2014 at 12:34 AM, Ferenc Kovacs <[email protected]> wrote:
> 
> 
> 
> On Thu, Feb 6, 2014 at 4:40 PM, Ferenc Kovacs <[email protected]> wrote:
> Hi,
> 
> After Bob merged the pow related changes, executing the new tests with --enable-debug I've
> got two memory leaks:
> 
> [tyrael@Ferencs-MacBook-Pro-135 php-src.git (PHP-5.6.0 ✗)]$ cat
> ext/standard/tests/math/pow_variation1_64bit.diff ext/standard/tests/math/pow_variation2.diff
> 083+ [Thu Feb  6 16:20:51 2014]  Script: 
> '/Users/tyrael/checkouts/php-src.git/ext/standard/tests/math/pow_variation1_64bit.php'
> 084+ /Users/tyrael/checkouts/php-src.git/Zend/zend_API.c(314) :  Freeing 0x10D280C50 (72
> bytes), script=/Users/tyrael/checkouts/php-src.git/ext/standard/tests/math/pow_variation1_64bit.php
> 085+ /Users/tyrael/checkouts/php-src.git/Zend/zend_variables.c(141) : Actual location (location
> was relayed)
> 086+ === Total 1 memory leaks detected ===083+ [Thu Feb  6 16:20:51 2014]  Script: 
> '/Users/tyrael/checkouts/php-src.git/ext/standard/tests/math/pow_variation2.php'
> 084+ /Users/tyrael/checkouts/php-src.git/Zend/zend_API.c(314) :  Freeing 0x10CB8CBE0 (72
> bytes), script=/Users/tyrael/checkouts/php-src.git/ext/standard/tests/math/pow_variation2.php
> 085+ /Users/tyrael/checkouts/php-src.git/Zend/zend_variables.c(141) : Actual location (location
> was relayed)
> 086+ === Total 1 memory leaks detected ===%
> 
> not sure if these were originally in the PR or just something went wrong with the merge/cherry
> pick, but would be nice if somebody could look into it.
> thanks!
> 
> -- 
> Ferenc Kovács
> @Tyr43l - http://tyrael.hu
> 
> it seems the leak occures when pow() is called with an array:
> [tyrael@Ferencs-MacBook-Pro-135 php-src.git (PHP-5.6.0 ✗)]$ ../sapi/cli/php -r
> 'pow(array(),2);'
> [Thu Feb  6 17:32:43 2014]  Script:  '-'
> Zend/zend_vm_execute.h(28951) :  Freeing 0x1100B9ED8 (72 bytes), script=-
> /Users/tyrael/checkouts/php-src.git/Zend/zend_API.c(1011) : Actual location (location was
> relayed)
> === Total 1 memory leaks detected ===
> 
> Not sure why that didn't pop up earlier; I've attached a patch that resolves the
> memory leak.
> 
> One gotcha: the output of pow(0, []) is now int(1) instead of
> float(1). I hope that's alright :)
>  
> 
> -- 
> Ferenc Kovács
> @Tyr43l - http://tyrael.hu
> 
> 
> 
> -- 
> --
> Tjerk
> <php56-pow-memleak.patch.txt>

Your patch wasn't 100% correct, but I corrected that.

I've pushed the fix now.

Bob






Thread (4 messages)

« previous php.internals (#72349) next »