On Thu, Jun 22, 2017 at 9:12 PM, Jakub Zelenka <bu...@php.net> wrote:

> Ah thanks I see! Just out of interest what changes actually caused it as
> it's master only?
>

It's due to
https://github.com/php/php-src/commit/141d1ba9801f742dc5d9ccd06e02b94284c4deb7,
which has only been introduced in master.

Nikita


> On Thu, Jun 22, 2017 at 7:51 PM, Nikita Popov <nikita....@gmail.com>
> wrote:
>
>> On Thu, Jun 22, 2017 at 8:45 PM, Jakub Zelenka <bu...@php.net> wrote:
>>
>>> Hi Dmitry,
>>>
>>> I noticed that valgind reports a lot of memleaks for the master and it
>>> seems to be related to the freeing of registered classes on shutdown when
>>> running cli. I'm wondering if it can be related to your recent changes
>>> that
>>> were touching that parts. I haven't found the commit that caused but 7.1
>>> is
>>> fine. If you don't think that it was related I will try to find it but
>>> wanted to check with you first.
>>>
>>> Here is a part of the output what I'm getting when running valgrind on
>>> debug build for master:
>>>
>>> valgrind --leak-check=full php ext/openssl/tests/openssl_dige
>>> st_basic.phpt
>>> ...
>>> ... (simillar info like this for all loaded extensions like the below)
>>> ...
>>> ==4101== 648 bytes in 9 blocks are definitely lost in loss record 69 of
>>> 70
>>> ==4101==    at 0x4C2DB9D: malloc (vg_replace_malloc.c:299)
>>> ==4101==    by 0xB7DC7D: zend_register_functions (zend_API.c:2304)
>>> ==4101==    by 0xB7F209: do_register_internal_class (zend_API.c:2714)
>>> ==4101==    by 0xB7F400: zend_register_internal_class (zend_API.c:2762)
>>> ==4101==    by 0xB7F2BF: zend_register_internal_class_ex
>>> (zend_API.c:2734)
>>> ==4101==    by 0x64EFAC: zm_startup_dom (php_dom.c:643)
>>> ==4101==    by 0xB7C211: zend_startup_module_ex (zend_API.c:1873)
>>> ==4101==    by 0xB7C29B: zend_startup_module_zval (zend_API.c:1888)
>>> ==4101==    by 0xB8B6B1: zend_hash_apply (zend_hash.c:1507)
>>> ==4101==    by 0xB7C907: zend_startup_modules (zend_API.c:1999)
>>> ==4101==    by 0xAB2E71: php_module_startup (main.c:2269)
>>> ==4101==    by 0xC6B159: php_cli_startup (php_cli.c:431)
>>> ==4101==
>>> ==4101== 5,592 bytes in 78 blocks are definitely lost in loss record 70
>>> of
>>> 70
>>> ==4101==    at 0x4C2DB9D: malloc (vg_replace_malloc.c:299)
>>> ==4101==    by 0xB7DC7D: zend_register_functions (zend_API.c:2304)
>>> ==4101==    by 0xB7CBB0: zend_register_module_ex (zend_API.c:2062)
>>> ==4101==    by 0xB7CC8B: zend_register_internal_module (zend_API.c:2077)
>>> ==4101==    by 0xAB242E: php_register_extensions (main.c:1996)
>>> ==4101==    by 0xC6A834: php_register_internal_extensions
>>> (internal_functions_cli.c:114)
>>> ==4101==    by 0xAB2E30: php_module_startup (main.c:2253)
>>> ==4101==    by 0xC6B159: php_cli_startup (php_cli.c:431)
>>> ==4101==    by 0xC6D40D: main (php_cli.c:1362)
>>> ==4101==
>>> ==4101== LEAK SUMMARY:
>>> ==4101==    definitely lost: 9,968 bytes in 142 blocks
>>> ==4101==    indirectly lost: 0 bytes in 0 blocks
>>> ==4101==      possibly lost: 0 bytes in 0 blocks
>>> ==4101==    still reachable: 1,518 bytes in 30 blocks
>>> ==4101==         suppressed: 0 bytes in 0 blocks
>>> ==4101== Reachable blocks (those to which a pointer was found) are not
>>> shown.
>>> ==4101== To see them, rerun with: --leak-check=full --show-leak-kinds=all
>>> ==4101==
>>> ==4101== For counts of detected and suppressed errors, rerun with: -v
>>> ==4101== ERROR SUMMARY: 40 errors from 40 contexts (suppressed: 0 from 0)
>>>
>>> Please let me know! Or if anyone else has an idea about the changes that
>>> caused it that would be great.
>>>
>>> Currently it's quite difficult to use vlagrind and find the real issues
>>> though...
>>>
>>> Thanks
>>>
>>> Jakub
>>>
>>
>> These are arginfo leaks. If arginfo contains type hints, then it is
>> copied now, but not freed. There's an incomplete PR for this issue here:
>> https://github.com/php/php-src/pull/2462
>>
>> Nikita
>>
>>
>

Reply via email to