Bug #73889 [Com]: memory leaks / valgrind report

From: Date: Fri, 03 Mar 2017 11:08:16 +0000
Subject: Bug #73889 [Com]: memory leaks / valgrind report
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-207676@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=73889&edit=1 ID: 73889 Comment by: spam2 at rhsoft dot net Reported by: spam2 at rhsoft dot net Summary: memory leaks / valgrind report Status: Open Type: Bug Package: Unknown/Other Function PHP Version: 7.1.0 Block user comment: N Private report: N New Comment: frankly this still exists with 7.1.3RC1 and no feedback at all after trying to provide the requested informations is not cool ==28119== 86,312 bytes in 2,201 blocks are definitely lost in loss record 137 of 137 ==28119== at 0x4C2BBAD: malloc (vg_replace_malloc.c:299) ==28119== by 0x6C83555: __zend_malloc (zend_alloc.c:2820) ==28119== by 0x6BD4244: zend_string_alloc (zend_string.h:122) ==28119== by 0x6BD42DA: zend_string_init (zend_string.h:158) ==28119== by 0x6BDC0A8: php_mysqlnd_rset_field_read (mysqlnd_wireprotocol.c:1378) ==28119== by 0x6C01598: mysqlnd_mysqlnd_res_meta_read_metadata_pub (mysqlnd_result_meta.c:76) ==28119== by 0x6BF6A5D: mysqlnd_mysqlnd_res_read_result_metadata_pub (mysqlnd_result.c:385) ==28119== by 0x6BF7BD7: mysqlnd_query_read_result_set_header (mysqlnd_result.c:539) ==28119== by 0x6C097FC: mysqlnd_com_reap_result_run (mysqlnd_commands.c:764) ==28119== by 0x6BC375F: mysqlnd_mysqlnd_conn_data_reap_query_pub (mysqlnd_connection.c:917) ==28119== by 0x6BC2EB2: mysqlnd_mysqlnd_conn_data_query_pub (mysqlnd_connection.c:859) ==28119== by 0x12BEC857: zif_mysqli_query (mysqli_nonapi.c:593) Previous Comments: ------------------------------------------------------------------------ [2017-01-21 18:28:35] spam2 at rhsoft dot net any news here? memleaks are really serious because you need to configure the server be it httpd or fpm to more often restart forkers and that has a performance impact up to not even get the machine to 100% CPU because it's busy with fork processes "MaxRequestsPerChild 100" - 70% CPU Concurrency Level: 150 Time taken for tests: 31.819 seconds Complete requests: 100000 Failed requests: 0 Total transferred: 397837794 bytes HTML transferred: 360737544 bytes Requests per second: 3142.74 [#/sec] (mean) Time per request: 47.729 [ms] (mean) Time per request: 0.318 [ms] (mean, across all concurrent requests) Transfer rate: 12209.95 [Kbytes/sec] received "MaxRequestsPerChild 100000" - 90% CPU Concurrency Level: 150 Time taken for tests: 24.304 seconds Complete requests: 100000 Failed requests: 0 Total transferred: 397835334 bytes HTML transferred: 360735110 bytes Requests per second: 4114.62 [#/sec] (mean) Time per request: 36.455 [ms] (mean) Time per request: 0.243 [ms] (mean, across all concurrent requests) Transfer rate: 15985.74 [Kbytes/sec] received ------------------------------------------------------------------------ [2017-01-11 10:57:58] spam2 at rhsoft dot net 7.1.1 RC1 some line numbers changed ==28074== 82,976 bytes in 2,124 blocks are definitely lost in loss record 136 of 136 ==28074== at 0x4C2BBAD: malloc (vg_replace_malloc.c:299) ==28074== by 0x6C89E18: __zend_malloc (zend_alloc.c:2820) ==28074== by 0x6BDABC8: zend_string_alloc (zend_string.h:122) ==28074== by 0x6BDAC5E: zend_string_init (zend_string.h:158) ==28074== by 0x6BE2A2C: php_mysqlnd_rset_field_read (mysqlnd_wireprotocol.c:1378) ==28074== by 0x6C07F07: mysqlnd_mysqlnd_res_meta_read_metadata_pub (mysqlnd_result_meta.c:76) ==28074== by 0x6BFD3CC: mysqlnd_mysqlnd_res_read_result_metadata_pub (mysqlnd_result.c:385) ==28074== by 0x6BFE546: mysqlnd_query_read_result_set_header (mysqlnd_result.c:539) ==28074== by 0x6C1016B: mysqlnd_com_reap_result_run (mysqlnd_commands.c:764) ==28074== by 0x6BCA0E3: mysqlnd_mysqlnd_conn_data_reap_query_pub (mysqlnd_connection.c:917) ==28074== by 0x6BC9836: mysqlnd_mysqlnd_conn_data_query_pub (mysqlnd_connection.c:859) ==28074== by 0xA3C0BE5: zif_mysqli_query (mysqli_nonapi.c:593) ------------------------------------------------------------------------ [2017-01-08 18:38:21] spam2 at rhsoft dot net i optimized the environment to use "httpd -X" (no forking) and ignore the loop-settings for code-coverage in case 'valgrind' is part of the game - finally that leads to easily profile every php-build with one call for each page of a sample cms-setup and report memleaks with minimized output ____________________________________________ this one looks serious ==17212== 78,144 bytes in 2,016 blocks are definitely lost in loss record 136 of 136 ==17212== at 0x4C2BBAD: malloc (vg_replace_malloc.c:299) ==17212== by 0x6C2EBB7: __zend_malloc (zend_alloc.c:2820) ==17212== by 0x6B7C730: zend_string_alloc (zend_string.h:122) ==17212== by 0x6B7C7C6: zend_string_init (zend_string.h:158) ==17212== by 0x6B845E5: php_mysqlnd_rset_field_read (mysqlnd_wireprotocol.c:1378) ==17212== by 0x6BA9C69: mysqlnd_mysqlnd_res_meta_read_metadata_pub (mysqlnd_result_meta.c:76) ==17212== by 0x6B9F0D8: mysqlnd_mysqlnd_res_read_result_metadata_pub (mysqlnd_result.c:385) ==17212== by 0x6BA0252: mysqlnd_query_read_result_set_header (mysqlnd_result.c:539) ==17212== by 0x6BB207A: mysqlnd_com_reap_result_run (mysqlnd_commands.c:764) ==17212== by 0x6B6BBFC: mysqlnd_mysqlnd_conn_data_reap_query_pub (mysqlnd_connection.c:917) ==17212== by 0x6B6B34F: mysqlnd_mysqlnd_conn_data_query_pub (mysqlnd_connection.c:859) ==17212== by 0xA3E7B83: zif_mysqli_query (mysqli_nonapi.c:589) ____________________________________________ complete result CMS_AUTOTESTS="0" export ZEND_DONT_UNLOAD_MODULES=1 /usr/bin/valgrind --tool=memcheck --leak-check=yes --leak-check=full --log-file=$PROFILE_ROOT/logs/valgrind.log $HTTPD_BINARY -X -f "$PROFILE_ROOT/httpd.conf" & ==17212== Memcheck, a memory error detector ==17212== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==17212== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info ==17212== Command: /usr/sbin/httpd -X -f /rpmbuild/PHP-PGO/httpd.conf ==17212== Parent PID: 17194 ==17212== ==17212== ==17212== HEAP SUMMARY: ==17212== in use at exit: 292,291 bytes in 2,519 blocks ==17212== total heap usage: 278,014 allocs, 275,495 frees, 62,878,401 bytes allocated ==17212== ==17212== 32 bytes in 1 blocks are possibly lost in loss record 52 of 136 ==17212== at 0x4C2BBAD: malloc (vg_replace_malloc.c:299) ==17212== by 0x6C2EBB7: __zend_malloc (zend_alloc.c:2820) ==17212== by 0x6BDC5B5: zend_hash_str_add_mem (zend_hash.h:611) ==17212== by 0x6BDEAD1: sapi_register_post_entry (SAPI.c:954) ==17212== by 0x6BDEA3F: sapi_register_post_entries (SAPI.c:940) ==17212== by 0x6BE2AD5: php_setup_sapi_content_types (php_content_types.c:64) ==17212== by 0x6BDC6E9: sapi_globals_ctor (SAPI.c:66) ==17212== by 0x6BDC753: sapi_startup (SAPI.c:89) ==17212== by 0x6D4242E: php_apache_server_startup (sapi_apache2.c:497) ==17212== by 0x1669F2: ap_run_post_config (in /usr/sbin/httpd) ==17212== by 0x13230F: main (in /usr/sbin/httpd) ==17212== ==17212== 32 bytes in 1 blocks are possibly lost in loss record 53 of 136 ==17212== at 0x4C2BBAD: malloc (vg_replace_malloc.c:299) ==17212== by 0x6C2EBB7: __zend_malloc (zend_alloc.c:2820) ==17212== by 0x6BDC5B5: zend_hash_str_add_mem (zend_hash.h:611) ==17212== by 0x6BDEAD1: sapi_register_post_entry (SAPI.c:954) ==17212== by 0x6BDEA3F: sapi_register_post_entries (SAPI.c:940) ==17212== by 0xA66B9E4: OnUpdate_mbstring_encoding_translation (mbstring.c:1423) ==17212== by 0x6C86093: zend_register_ini_entries (zend_ini.c:256) ==17212== by 0xA66BD05: zm_startup_mbstring (mbstring.c:1554) ==17212== by 0x6C6A66D: zend_startup_module_ex (zend_API.c:1843) ==17212== by 0x6C6A6CF: zend_startup_module_zval (zend_API.c:1858) ==17212== by 0x6C7837A: zend_hash_apply (zend_hash.c:1508) ==17212== by 0x6C6AC9B: zend_startup_modules (zend_API.c:1969) ==17212== ==17212== 48 bytes in 1 blocks are possibly lost in loss record 73 of 136 ==17212== at 0x4C2BBAD: malloc (vg_replace_malloc.c:299) ==17212== by 0x6C2EBB7: __zend_malloc (zend_alloc.c:2820) ==17212== by 0x6C7361A: zend_string_alloc (zend_string.h:122) ==17212== by 0x6C736B0: zend_string_init (zend_string.h:158) ==17212== by 0x6C75C0C: _zend_hash_str_add (zend_hash.c:666) ==17212== by 0x6BDC590: zend_hash_str_add_mem (zend_hash.h:610) ==17212== by 0x6BDEAD1: sapi_register_post_entry (SAPI.c:954) ==17212== by 0x6BDEA3F: sapi_register_post_entries (SAPI.c:940) ==17212== by 0x6BE2AD5: php_setup_sapi_content_types (php_content_types.c:64) ==17212== by 0x6BDC6E9: sapi_globals_ctor (SAPI.c:66) ==17212== by 0x6BDC753: sapi_startup (SAPI.c:89) ==17212== by 0x6D4242E: php_apache_server_startup (sapi_apache2.c:497) ==17212== ==17212== 64 bytes in 1 blocks are possibly lost in loss record 82 of 136 ==17212== at 0x4C2BBAD: malloc (vg_replace_malloc.c:299) ==17212== by 0x6C2EBB7: __zend_malloc (zend_alloc.c:2820) ==17212== by 0x6C7361A: zend_string_alloc (zend_string.h:122) ==17212== by 0x6C736B0: zend_string_init (zend_string.h:158) ==17212== by 0x6C75C0C: _zend_hash_str_add (zend_hash.c:666) ==17212== by 0x6BDC590: zend_hash_str_add_mem (zend_hash.h:610) ==17212== by 0x6BDEAD1: sapi_register_post_entry (SAPI.c:954) ==17212== by 0x6BDEA3F: sapi_register_post_entries (SAPI.c:940) ==17212== by 0xA66B9E4: OnUpdate_mbstring_encoding_translation (mbstring.c:1423) ==17212== by 0x6C86093: zend_register_ini_entries (zend_ini.c:256) ==17212== by 0xA66BD05: zm_startup_mbstring (mbstring.c:1554) ==17212== by 0x6C6A66D: zend_startup_module_ex (zend_API.c:1843) ==17212== ==17212== 288 bytes in 1 blocks are possibly lost in loss record 114 of 136 ==17212== at 0x4C2BBAD: malloc (vg_replace_malloc.c:299) ==17212== by 0x6C2EBB7: __zend_malloc (zend_alloc.c:2820) ==17212== by 0x6C73E81: zend_hash_real_init_ex (zend_hash.c:138) ==17212== by 0x6C73FFD: zend_hash_check_init (zend_hash.c:161) ==17212== by 0x6C755F5: _zend_hash_add_or_update_i (zend_hash.c:551) ==17212== by 0x6C75C36: _zend_hash_str_add (zend_hash.c:667) ==17212== by 0x6BDC590: zend_hash_str_add_mem (zend_hash.h:610) ==17212== by 0x6BDEAD1: sapi_register_post_entry (SAPI.c:954) ==17212== by 0x6BDEA3F: sapi_register_post_entries (SAPI.c:940) ==17212== by 0x6BE2AD5: php_setup_sapi_content_types (php_content_types.c:64) ==17212== by 0x6BDC6E9: sapi_globals_ctor (SAPI.c:66) ==17212== by 0x6BDC753: sapi_startup (SAPI.c:89) ==17212== ==17212== 78,144 bytes in 2,016 blocks are definitely lost in loss record 136 of 136 ==17212== at 0x4C2BBAD: malloc (vg_replace_malloc.c:299) ==17212== by 0x6C2EBB7: __zend_malloc (zend_alloc.c:2820) ==17212== by 0x6B7C730: zend_string_alloc (zend_string.h:122) ==17212== by 0x6B7C7C6: zend_string_init (zend_string.h:158) ==17212== by 0x6B845E5: php_mysqlnd_rset_field_read (mysqlnd_wireprotocol.c:1378) ==17212== by 0x6BA9C69: mysqlnd_mysqlnd_res_meta_read_metadata_pub (mysqlnd_result_meta.c:76) ==17212== by 0x6B9F0D8: mysqlnd_mysqlnd_res_read_result_metadata_pub (mysqlnd_result.c:385) ==17212== by 0x6BA0252: mysqlnd_query_read_result_set_header (mysqlnd_result.c:539) ==17212== by 0x6BB207A: mysqlnd_com_reap_result_run (mysqlnd_commands.c:764) ==17212== by 0x6B6BBFC: mysqlnd_mysqlnd_conn_data_reap_query_pub (mysqlnd_connection.c:917) ==17212== by 0x6B6B34F: mysqlnd_mysqlnd_conn_data_query_pub (mysqlnd_connection.c:859) ==17212== by 0xA3E7B83: zif_mysqli_query (mysqli_nonapi.c:589) ==17212== ==17212== LEAK SUMMARY: ==17212== definitely lost: 78,144 bytes in 2,016 blocks ==17212== indirectly lost: 0 bytes in 0 blocks ==17212== possibly lost: 464 bytes in 5 blocks ==17212== still reachable: 213,683 bytes in 498 blocks ==17212== suppressed: 0 bytes in 0 blocks ==17212== Reachable blocks (those to which a pointer was found) are not shown. ==17212== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==17212== ==17212== For counts of detected and suppressed errors, rerun with: -v ==17212== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0) ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=73889 -- Edit this bug report at https://bugs.php.net/bug.php?id=73889&edit=1

« previous php.bugs (#207676) next »