|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2017-11-27 10:32 UTC] post at minhost dot no
Description: ------------ We are running PHP-FPM with OPCache. The servers are shared hosting servers with many WordPress sites. After upgrading from PHP 7.1.11 to PHP 7.1.12, several PHP sites started to crash, and after a while, they was all down. When downgrading to PHP 7.1.11, all works correct again. It seems to be opcache interned_strings_buffer, that is the cause. For example when still running PHP 7.1.11 it looks like this in a PHP info page: Interned Strings Used memory 369608 Interned Strings Free memory 3824696 After upgrading to PHP 7.1.12 it looks like this (and PHP sites stops working): Interned Strings Used memory 4194272 Interned Strings Free memory 32 I have not tested this on PHP 7.0.26, but I suspect the problem is the same on that version. Conclusion: So, after upgrade toi PHP 7.1.12, ALL available "Interned Strings Free memory" is used, and PHP sites start going down. Downgrading to PHP 7.1.11 solves the problem. In apache error log for the domains, I had lines like this: Sun Nov 26 12:00:53.161278 2017] [proxy_fcgi:error] [pid 25870:tid 139679914243840] [client 176.74.214.18:8405] AH01067: Failed to read FastCGI header [Sun Nov 26 12:00:53.161304 2017] [proxy_fcgi:error] [pid 25870:tid 139679914243840] (104)Connection reset by peer: [client 176.74.214.18:8405] AH01075: Error dispatching request to : In php-fpm.log I had lines like this: [26-Nov-2017 11:52:04] NOTICE: [pool USERNAME] child 25329 started [26-Nov-2017 11:52:04] WARNING: [pool USERNAME] child 24302 exited on signal 11 (SIGSEGV) after 1.864571 seconds from start PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 22:00:01 2025 UTC |
@dmitry: I applied your patch to PHP 7.1.13RC1, but I get errors when compiling PHP with your patch, so I am not able to compile it. Please try to compile it your self to see the problem. Please look into this. Here is the complete output with errors: /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c: In function 'zend_file_cache_serialize_ast': /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:286:49: error: 'ZEND_AST_CONSTANT' undeclared (first use in this function) if (ast->kind == ZEND_AST_ZVAL || ast->kind == ZEND_AST_CONSTANT) { ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:286:49: note: each undeclared identifier is reported only once for each function it appears in /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c: In function 'zend_file_cache_serialize_zval': /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:349:5: warning: passing argument 1 of 'zend_file_cache_serialize_ast' makes pointer from integer without a cast [enabled by default] zend_file_cache_serialize_ast(GC_AST(ast), script, info, buf); ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:278:13: note: expected 'struct zend_ast *' but argument is of type 'int' static void zend_file_cache_serialize_ast(zend_ast *ast, ^ In file included from /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:21:0: /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c: In function 'zend_file_cache_serialize_op_array': /usr/local/directadmin/custombuild/php-7.1.13RC1/Zend/zend_compile.h:657:27: error: 'zend_op' has no member named 'literals' RT_CONSTANT_EX((op_array)->literals, node) ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/Zend/zend_compile.h:622:20: note: in definition of macro 'RT_CONSTANT_EX' ((zval*)(((char*)(base)) + (node).constant)) ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:423:28: note: in expansion of macro 'RT_CONSTANT' opline->op1.constant = RT_CONSTANT(opline, opline->op1) - literals; ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/Zend/zend_compile.h:657:27: error: 'zend_op' has no member named 'literals' RT_CONSTANT_EX((op_array)->literals, node) ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/Zend/zend_compile.h:622:20: note: in definition of macro 'RT_CONSTANT_EX' ((zval*)(((char*)(base)) + (node).constant)) ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:426:28: note: in expansion of macro 'RT_CONSTANT' opline->op2.constant = RT_CONSTANT(opline, opline->op2) - literals; ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:479:29: error: 'zend_arg_info' has no member named 'type' if (ZEND_TYPE_IS_CLASS(p->type)) { ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:480:51: error: 'zend_arg_info' has no member named 'type' zend_bool allow_null = ZEND_TYPE_ALLOW_NULL(p->type); ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:481:47: error: 'zend_arg_info' has no member named 'type' zend_string *type_name = ZEND_TYPE_NAME(p->type); ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:484:7: error: 'zend_arg_info' has no member named 'type' p->type = ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:485:27: error: 'zend_type' undeclared (first use in this function) (Z_UL(1) << (sizeof(zend_type)*8-1)) | /* type is class */ ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:487:18: error: expected ';' before 'type_name' (zend_type)type_name; ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c: In function 'zend_file_cache_unserialize_ast': /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:908:49: error: 'ZEND_AST_CONSTANT' undeclared (first use in this function) if (ast->kind == ZEND_AST_ZVAL || ast->kind == ZEND_AST_CONSTANT) { ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c: In function 'zend_file_cache_unserialize_op_array': /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:1024:64: error: macro "ZEND_PASS_TWO_UPDATE_CONSTANT" passed 3 arguments, but takes just 2 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op1); ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:1024:5: error: 'ZEND_PASS_TWO_UPDATE_CONSTANT' undeclared (first use in this function) ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op1); ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:1027:64: error: macro "ZEND_PASS_TWO_UPDATE_CONSTANT" passed 3 arguments, but takes just 2 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op2); ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:1079:10: error: 'zend_arg_info' has no member named 'type' if (p->type & (Z_UL(1) << (sizeof(zend_type)*8-1))) { /* type is class */ ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:1079:39: error: 'zend_type' undeclared (first use in this function) if (p->type & (Z_UL(1) << (sizeof(zend_type)*8-1))) { /* type is class */ ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:1080:31: error: 'zend_arg_info' has no member named 'type' zend_bool allow_null = (p->type & (Z_UL(1) << (sizeof(zend_type)*8-2))) != 0; /* type allow null */ ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:1081:47: error: 'zend_arg_info' has no member named 'type' zend_string *type_name = (zend_string*)(p->type & ~(((Z_UL(1) << (sizeof(zend_type)*8-1))) | ((Z_UL(1) << (sizeof(zend_type)*8-2))))); ^ /usr/local/directadmin/custombuild/php-7.1.13RC1/ext/opcache/zend_file_cache.c:1084:7: error: 'zend_arg_info' has no member named 'type' p->type = ZEND_TYPE_ENCODE_CLASS(type_name, allow_null); ^ make: *** [ext/opcache/zend_file_cache.lo] Error 1 make: *** Waiting for unfinished jobs....