php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #80233 segfault when enabling opcache php-fpm startup
Submitted: 2020-10-14 02:30 UTC Modified: 2020-10-15 01:39 UTC
From: bin20060407 at gmail dot com Assigned:
Status: Not a bug Package: opcache
PHP Version: 7.3.23 OS: CentOs 6.10
Private report: No CVE-ID: None
 [2020-10-14 02:30 UTC] bin20060407 at gmail dot com
Description:
------------
php compilation is complete, opcache is enabled, a segmentation error is reported when php-fpm is started

OS : CentOs 6.10
PHP version : 7.3.22 7.3.23

GNU gdb (GDB) Red Hat Enterprise Linux (7.2-92.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /user/local/php73/sbin/php-fpm...done.
[New Thread 15277]
Reading symbols from /lib64/libcrypt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /usr/local/lib64/libzip.so.5...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib64/libzip.so.5
Reading symbols from /user/local/zlib/lib/libz.so.1...(no debugging symbols found)...done.
Loaded symbols for /user/local/zlib/lib/libz.so.1
Reading symbols from /lib64/librt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/librt.so.1
Reading symbols from /user/local/libpng/lib/libpng16.so.16...done.
Loaded symbols for /user/local/libpng/lib/libpng16.so.16
Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /user/local/jpeg/lib/libjpeg.so.9...done.
Loaded symbols for /user/local/jpeg/lib/libjpeg.so.9
Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libnsl.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libnsl.so.1
Reading symbols from /usr/lib64/libxml2.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libxml2.so.2
Reading symbols from /user/local/curl/lib/libcurl.so.4...(no debugging symbols found)...done.
Loaded symbols for /user/local/curl/lib/libcurl.so.4
Reading symbols from /lib64/libidn.so.11...(no debugging symbols found)...done.
Loaded symbols for /lib64/libidn.so.11
Reading symbols from /user/local/freetype/lib/libfreetype.so.6...done.
Loaded symbols for /user/local/freetype/lib/libfreetype.so.6
Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/libresolv.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libresolv.so.2
Reading symbols from /usr/lib64/libfreebl3.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libfreebl3.so
Reading symbols from /lib64/libbz2.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libbz2.so.1
Reading symbols from /usr/lib64/libssl.so.10...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libssl.so.10
Reading symbols from /usr/lib64/libcrypto.so.10...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libcrypto.so.10
Reading symbols from /lib64/libpthread.so.0...(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib64/libgssapi_krb5.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libgssapi_krb5.so.2
Reading symbols from /lib64/libkrb5.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib64/libkrb5.so.3
Reading symbols from /lib64/libcom_err.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libcom_err.so.2
Reading symbols from /lib64/libk5crypto.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib64/libk5crypto.so.3
Reading symbols from /lib64/libkrb5support.so.0...(no debugging symbols found)...done.
Loaded symbols for /lib64/libkrb5support.so.0
Reading symbols from /lib64/libkeyutils.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libkeyutils.so.1
Reading symbols from /lib64/libselinux.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libselinux.so.1
Reading symbols from /user/local/php73/lib/php/extensions/no-debug-non-zts-20180731/opcache.so...done.
Loaded symbols for /user/local/php73/lib/php/extensions/no-debug-non-zts-20180731/opcache.so
Core was generated by `/user/local/php73/sbin/php-fpm --daemonize --fpm-config /user/local/php73/etc/p'.
Program terminated with signal 11, Segmentation fault.
#0  zend_string_release (ht=0x3745f00) at /tmp/php-7.3.22/Zend/zend_string.h:275
275		if (!ZSTR_IS_INTERNED(s)) {
Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.5-7.el6_0.x86_64 glibc-2.12-1.212.el6_10.3.x86_64 keyutils-libs-1.4-5.el6.x86_64 krb5-libs-1.10.3-65.el6.x86_64 libcom_err-1.41.12-24.el6.x86_64 libidn-1.18-2.el6.x86_64 libselinux-2.0.94-7.el6.x86_64 libxml2-2.7.6-21.el6_8.1.x86_64 nss-softokn-freebl-3.44.0-6.el6_10.x86_64 openssl-1.0.1e-58.el6_10.x86_64
(gdb) bt
#0  zend_string_release (ht=0x3745f00) at /tmp/php-7.3.22/Zend/zend_string.h:275
#1  zend_hash_destroy (ht=0x3745f00) at /tmp/php-7.3.22/Zend/zend_hash.c:1451
#2  0x00000000008a11b2 in destroy_zend_class (zv=<value optimized out>) at /tmp/php-7.3.22/Zend/zend_opcode.c:318
#3  0x00000000008b996d in zend_hash_destroy (ht=0x3546530) at /tmp/php-7.3.22/Zend/zend_hash.c:1418
#4  0x00000000008aa6e6 in zend_shutdown () at /tmp/php-7.3.22/Zend/zend.c:982
#5  0x000000000084bfe1 in php_module_shutdown () at /tmp/php-7.3.22/main/main.c:2496
#6  0x000000000094a079 in fpm_php_cleanup (which=<value optimized out>, arg=<value optimized out>) at /tmp/php-7.3.22/sapi/fpm/fpm/fpm_php.c:198
#7  0x0000000000940da2 in fpm_cleanups_run (type=2) at /tmp/php-7.3.22/sapi/fpm/fpm/fpm_cleanup.c:43
#8  0x0000000000950a79 in fpm_unix_init_main () at /tmp/php-7.3.22/sapi/fpm/fpm/fpm_unix.c:538
#9  0x000000000094011d in fpm_init (argc=<value optimized out>, argv=<value optimized out>, config=<value optimized out>, prefix=<value optimized out>, pid=<value optimized out>, 
    test_conf=0, run_as_root=0, force_daemon=1, force_stderr=0) at /tmp/php-7.3.22/sapi/fpm/fpm/fpm.c:59
#10 0x00000000009483c5 in main (argc=6, argv=0x7ffce64b0c28) at /tmp/php-7.3.22/sapi/fpm/fpm/fpm_main.c:1840



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2020-10-14 03:30 UTC] danack@php.net
The stacktrace indicates the problem is occurring in an extension. Which extensions are being loaded please?

Also, please try disabling extensions to see if you can isolate which one it might be.
 [2020-10-14 06:15 UTC] bin20060407 at gmail dot com
zend_extension = "opcache.so"

disable the opcache extension, no more errors.
 [2020-10-14 13:29 UTC] danack@php.net
Please can you confirm you have no other extensions loaded? Just because disabling opcache makes the segfault go away, doesn't necessarily mean the error lies in opcache.

As this isn't affecting most people there's a good chance it's something specific to your system. Does this issue happen when you use a 'stock' config file file for php-fpm?
 [2020-10-15 01:11 UTC] bin20060407 at gmail dot com
Sorry, this error is caused by an opcache problem with the phalcon extension enabled!

thanks for the answer.
 [2020-10-15 01:12 UTC] bin20060407 at gmail dot com
-Status: Open +Status: Closed
 [2020-10-15 01:12 UTC] bin20060407 at gmail dot com
Problem solved

https://github.com/phalcon/cphalcon/issues/13674
 [2020-10-15 01:39 UTC] requinix@php.net
-Status: Closed +Status: Not a bug
 [2020-10-15 14:09 UTC] danack@php.net
Well, good. But please remember to answer questions even if you think they are not relevant. Just because turning one thing off makes a segfault 'go away' doesn't mean that's the cause of the problem.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Oct 31 23:01:28 2024 UTC