FreeBSD Port: www/php74-opcache had to be disabled after "service apache24 reload" core dumped

From: Bruce Cantrall <bcantrall_at_ameritech.net>
Date: Thu, 9 Sep 2021 18:01:05 +0000 (UTC)
Hi, Not sure where I should go to suggest a bug fix about a weird apache24 reload issue.  
On FreeBSD 12.2 servers that run apache24, we recently noticed apache24 kept crashing when we tried to do a "service apache24 reload".  It would core dump and the only thing you could do is to restart it, which got it going again, but the next time you tried a reload it would crash again.  (We reload it twice a day in cron after updating Let's Encrypt certificates.)
We thought there is some issue with shared memory that caused the core dumps.  This happened on multiple servers after an upgrade to a newer version of php74-opcache.  We had to disable opcache as the workaround.
Workaround to allow "service apache24 reload" to work again: vi /usr/local/etc/php/ext-10-opcache.ini and add following line:opcache.enable=0
and then restart apache24 then reload works.
Working version of apache24 and php74-opcache:
# uname -a && pkg info -x opcache apache24 php74-7.4FreeBSD server1 12.2-RELEASE-p7 FreeBSD 12.2-RELEASE-p7 GENERIC  amd64php74-opcache-7.4.22_1apache24-2.4.48mod_php74-7.4.22_1php74-7.4.22_1
broken version of apache24 and php74-opcache:
$ uname -a && pkg info -x opcache apache24 php74-7.4FreeBSD server3 12.2-RELEASE-p7 FreeBSD 12.2-RELEASE-p7 GENERIC  amd64php74-opcache-7.4.23 ******************************************************************************************************************************apache24-2.4.48mod_php74-7.4.22_1php74-7.4.23
Debugger info:# gdb /usr/local/sbin/httpd /httpd.core
GNU gdb (GDB) 10.2 [GDB v10.2 for FreeBSD]
Copyright (C) 2021 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-portbld-freebsd12.2".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <GDB Documentation>.For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/local/sbin/httpd...
(No debugging symbols found in /usr/local/sbin/httpd)
[New LWP 100953]
Core was generated by `/usr/local/sbin/httpd -DNOHTTPACCEPT'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000801994080 in ?? () from /usr/local/libexec/apache24/libphp7.so
(gdb) where
#0  0x0000000801994080 in ?? () from /usr/local/libexec/apache24/libphp7.so
#1  0x00000008022293ab in ?? () from /usr/local/lib/php/20190902/opcache.so
#2  0x0000000801c7bef6 in ?? () from /usr/local/libexec/apache24/libphp7.so
#3  0x0000000801c607d2 in zend_llist_apply_with_del () from /usr/local/libexec/apache24/libphp7.so
#4  0x0000000801c7bed7 in ?? () from /usr/local/libexec/apache24/libphp7.so
#5  0x0000000801bf5489 in php_module_startup () from /usr/local/libexec/apache24/libphp7.so
#6  0x0000000801d07bc5 in ?? () from /usr/local/libexec/apache24/libphp7.so
#7  0x0000000801d07426 in ?? () from /usr/local/libexec/apache24/libphp7.so
#8  0x000000000025c9cf in ap_run_post_config ()
#9  0x000000000025b7f6 in main ()
I hope this helps someone else.
Thanks,Bruce C
Received on Thu Sep 09 2021 - 18:01:05 UTC

Original text of this message