Bug #78894 [Com]: Preload: double free or corruption crash
| From: | klarkent911 at gmail dot com | Date: | Fri, 06 Dec 2019 14:16:10 +0000 |
| Subject: | Bug #78894 [Com]: Preload: double free or corruption crash | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-224097@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=78894&edit=1
ID: 78894
Comment by: klarkent911 at gmail dot com
Reported by: luis dot armengol at koyi dot tv
Summary: Preload: double free or corruption crash
Status: Feedback
Type: Bug
Package: opcache
Operating System: Centos 7.3
PHP Version: 7.4.0
Block user comment: N
Private report: N
New Comment:
Hello, I probably can answer since I have a similar issue even though it's totally not related
to Zend.
Context: php-fpm running on a ubuntu based container
When trying to test our codebase against php7.4 with preloading enabled we get exactly the same
problem.
Our preload file basically contains an
include_once 'vendor/autoload.php' and then a
series of require_once some_files.php` which require all the classes that we use from a
proprietary framework.
There is nothing much special done there and the requires are around 210.
Previous Comments:
------------------------------------------------------------------------
[2019-12-04 09:07:41] nikic@php.net
Can you please provide the script you use for preloading?
------------------------------------------------------------------------
[2019-12-01 01:04:27] luis dot armengol at koyi dot tv
Description:
------------
Im trying to preload all ZF1 classes to opcache without any luck. Im preloading classes by block
manually, I mean, all Zend/Db, all Zend/Cache, all Zend/Config and it works perfectly until a number
of require_once or opcache_compile_file calls.
It starts perfectly httpd service without any error but in the first http call I receive a crash
with Error in `/usr/sbin/httpd': double free or corruption.
Also I receive that crash/segmentation fault in those cases when I shutdown httpd service.
If I disable the preloading of one of the block classes (ie: Zend/Db) I can preload another block
and it works, so I assume is something about the number of files of ZF1 im trying to preload (i know
its old but without preloading its working ok)
Actual result:
--------------
*** Error in `/usr/sbin/httpd': double free or corruption (!prev): 0x0000556c4e770c30 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x81679)[0x7f307c037679]
/etc/httpd/modules/libphp74.so(+0x300f34)[0x7f306db05f34]
/etc/httpd/modules/libphp74.so(zend_hash_add+0x121)[0x7f306db06091]
/etc/httpd/modules/libphp74.so(+0x2e2159)[0x7f306dae7159]
/etc/httpd/modules/libphp74.so(+0x2e2aa7)[0x7f306dae7aa7]
/etc/httpd/modules/libphp74.so(+0x2e2ad0)[0x7f306dae7ad0]
/etc/httpd/modules/libphp74.so(+0x2ba0b5)[0x7f306dabf0b5]
/etc/httpd/modules/libphp74.so(compile_file+0x8a)[0x7f306dac07fa]
/opt/remi/php74/root/usr/lib64/php/modules/opcache.so(+0x14b11)[0x7f306cb86b11]
/opt/remi/php74/root/usr/lib64/php/modules/opcache.so(+0x17747)[0x7f306cb89747]
/etc/httpd/modules/libphp74.so(+0x33eb1d)[0x7f306db43b1d]
/etc/httpd/modules/libphp74.so(+0x35aa80)[0x7f306db5fa80]
/etc/httpd/modules/libphp74.so(execute_ex+0x18b2)[0x7f306db78162]
/etc/httpd/modules/libphp74.so(zend_execute+0x131)[0x7f306db7f461]
/etc/httpd/modules/libphp74.so(zend_execute_scripts+0xc3)[0x7f306daf9563]
/etc/httpd/modules/libphp74.so(php_execute_script+0x270)[0x7f306da98430]
/etc/httpd/modules/libphp74.so(+0x37c1e0)[0x7f306db811e0]
/usr/sbin/httpd(ap_run_handler+0x40)[0x556c4d8ddaf0]
/usr/sbin/httpd(ap_invoke_handler+0x69)[0x556c4d8de039]
/usr/sbin/httpd(ap_internal_redirect+0x4c)[0x556c4d8f1fac]
/etc/httpd/modules/mod_rewrite.so(+0x4e4c)[0x7f30762b1e4c]
/usr/sbin/httpd(ap_run_handler+0x40)[0x556c4d8ddaf0]
/usr/sbin/httpd(ap_invoke_handler+0x69)[0x556c4d8de039]
/usr/sbin/httpd(ap_process_async_request+0x1ea)[0x556c4d8f2c4a]
/usr/sbin/httpd(ap_process_request+0x22)[0x556c4d8f2f32]
/usr/sbin/httpd(+0x530c2)[0x556c4d8ef0c2]
/usr/sbin/httpd(ap_run_process_connection+0x40)[0x556c4d8e7120]
/etc/httpd/modules/mod_mpm_prefork.so(+0x37af)[0x7f30736fb7af]
/etc/httpd/modules/mod_mpm_prefork.so(+0x39f5)[0x7f30736fb9f5]
/etc/httpd/modules/mod_mpm_prefork.so(+0x468e)[0x7f30736fc68e]
/usr/sbin/httpd(ap_run_mpm+0x4e)[0x556c4d8c20ce]
/usr/sbin/httpd(main+0xa96)[0x556c4d8bae26]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7f307bfd8505]
/usr/sbin/httpd(+0x1ef5f)[0x556c4d8baf5f]
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=78894&edit=1