php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #79873 mod_php: crashes with non-debug build
Submitted: 2020-07-18 15:17 UTC Modified: 2021-11-07 04:22 UTC
Votes:2
Avg. Score:2.0 ± 1.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: bugreports2 at gmail dot com Assigned: cmb (profile)
Status: No Feedback Package: Compile Failure
PHP Version: 8.0Git-2020-07-18 (Git) OS: Linux
Private report: No CVE-ID: None
 [2020-07-18 15:17 UTC] bugreports2 at gmail dot com
Description:
------------
sadly the crashes below don't happen with non-optimized --enable-debug builds and so the informations are very few

php8-head carshes for many weeks here at the point of fire up httpd with the intermediate binary for pgo profiling while the identical environment porduces 7.2/7.3/7.4 binaries witout any issues

-----------------------------------------

at least there is one warning at build time for apache2handler

/BUILD/php-8.0.0/sapi/apache2handler/mod_php.c:38:1: warning: missing initializer for field ‘flags’ of ‘module’ {aka ‘struct module_struct’} [-Wmissing-field-initializers]
   38 | };
      | ^
In file included from /BUILD/php-8.0.0/sapi/apache2handler/php_apache.h:21,
                 from /BUILD/php-8.0.0/sapi/apache2handler/mod_php.c:28:
/usr/include/httpd/http_config.h:420:9: note: ‘flags’ declared here
  420 |     int flags;
      |         ^~~~~

-----------------------------------------

Jul 18 16:19:32 testserver kernel: httpd[78211]: segfault at 0 ip 00007f69a7922841 sp 00007ffc3fd71440 error 4 in libphp.so[7f69a7660000+563000]
Jul 18 16:19:32 testserver kernel: Code: 0c 0e 88 4a 02 48 89 fa eb 93 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 53 66 48 8d 3d 5f 0a 53 00 66 66 48 e8 5f 01 d4 ff <48> 83 38 00 74 11 48 8d 35 e2 ff ff ff bf 06 38 09 54 e8 58 0e d4
Jul 18 16:19:32 testserver systemd[1]: Started Process Core Dump (PID 78213/UID 0).
Jul 18 16:19:32 testserver systemd-coredump[78214]: Process 78211 (httpd) of user 5000 dumped core.#012#012Stack trace of thread 78211:#012#0  0x00007f69a7922841 n/a (/BUILD/php-8.0.0/libs/libphp.so)#012#1  0x00007f69a867ff84 dl_open_worker (ld-linux-x86-64.so.2)#012#2  0x00007f69a85c74f8 _dl_catch_exception (libc.so.6)#012#3  0x00007f69a867f8fe _dl_open (ld-linux-x86-64.so.2)#012#4  0x00007f69a80ef39c dlopen_doit (libdl.so.2)#012#5  0x00007f69a85c74f8 _dl_catch_exception (libc.so.6)#012#6  0x00007f69a85c75c3 _dl_catch_error (libc.so.6)#012#7  0x00007f69a80efb09 _dlerror_run (libdl.so.2)#012#8  0x00007f69a80ef42a dlopen@@GLIBC_2.2.5 (libdl.so.2)#012#9  0x00007f69a832701d apr_dso_load (libapr-1.so.0)#012#10 0x0000557f79aea29f n/a (httpd)#012#11 0x0000557f79aea511 n/a (httpd)#012#12 0x0000557f79b0ce54 n/a (httpd)#012#13 0x0000557f79b0db62 n/a (httpd)#012#14 0x0000557f79b0de07 ap_build_config (httpd)#012#15 0x0000557f79b0e514 ap_process_resource_config (httpd)#012#16 0x0000557f79b0eb6f ap_read_config (httpd)#012#17 0x0000557f79aa8fa9 main (httpd)#012#18 0x00007f69a84b21a3 __libc_start_main (libc.so.6)#012#19 0x0000557f79aa94ee _start (httpd)



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2020-07-18 16:31 UTC] bugreports2 at gmail dot com
from the moment on you enable PGO mod_php crashes even without all other optimizations removed

[builduser@testserver:/rpmbuild/SPECS]$ rpmbuild -bb php.spec 
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.wuTF9u
+ umask 022
+ cd /home/builduser/rpmbuild/BUILD
+ cd /home/builduser/rpmbuild/BUILD
+ rm -rf php-8.0.0
+ /usr/bin/xz -dc /home/builduser/rpmbuild/SOURCES/php-8.0.0.tar.xz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd php-8.0.0
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ echo 'Patch #2 (php-73-realpath-cache-openbasedir.patch):'
Patch #2 (php-73-realpath-cache-openbasedir.patch):
+ /usr/bin/patch --no-backup-if-mismatch -p1 -b --suffix .realpath-73 --fuzz=0
patching file main/main.c
Hunk #1 succeeded at 1737 (offset -61 lines).
Hunk #2 succeeded at 2220 (offset -72 lines).
+ rm -f TSRM/tsrm_win32.h TSRM/tsrm_config.w32.h Zend/zend_config.w32.h ext/mysqlnd/config-win.h ext/standard/winver.h main/win32_internal_function_disabled.h main/win95nt.h
+ find . -name '*.[ch]' -exec chmod 644 '{}' ';'
+ xargs rm -rf
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.FYhfzu
+ umask 022
+ cd /home/builduser/rpmbuild/BUILD
+ cd php-8.0.0
+ libtoolize --force --copy --quiet
++ aclocal --print-ac-dir
++ aclocal --print-ac-dir
++ aclocal --print-ac-dir
++ aclocal --print-ac-dir
++ aclocal --print-ac-dir
+ cat /usr/share/aclocal/libtool.m4 /usr/share/aclocal/ltoptions.m4 /usr/share/aclocal/ltsugar.m4 /usr/share/aclocal/ltversion.m4 /usr/share/aclocal/lt~obsolete.m4
++ aclocal --print-ac-dir
++ aclocal --print-ac-dir
++ aclocal --print-ac-dir
++ aclocal --print-ac-dir
++ aclocal --print-ac-dir
+ cat /usr/share/aclocal/libtool.m4 /usr/share/aclocal/ltoptions.m4 /usr/share/aclocal/ltsugar.m4 /usr/share/aclocal/ltversion.m4 /usr/share/aclocal/lt~obsolete.m4
+ touch configure.ac
+ ./buildconf --force
buildconf: Checking installation
buildconf: autoconf version 2.69 (ok)
buildconf: Forcing buildconf. The configure files will be regenerated.
buildconf: Cleaning cache and configure files
buildconf: Rebuilding configure
buildconf: Rebuilding main/php_config.h.in
buildconf: Run ./configure to proceed with customizing the PHP build.
+ sed -i -E 's/EXTRA_VERSION=".*"/EXTRA_VERSION="-thelounge-sandybridge-fc31"/' configure
+ sed -i -E 's/PHP_EXTRA_VERSION=\$4/PHP_EXTRA_VERSION=-thelounge-sandybridge-fc31/' configure
+ '[' -f /usr/bin/php ']'
+ /usr/bin/php -d display_errors=0 Zend/zend_vm_gen.php
zend_vm_opcodes.h generated successfully.
zend_vm_opcodes.c generated successfully.
zend_vm_execute.h generated successfully.
+ export 'CFLAGS=-march=sandybridge -mtune=sandybridge -pipe -m64 -O1 -fPIC -g0 -w -Wformat -Werror=format-security'
+ CFLAGS='-march=sandybridge -mtune=sandybridge -pipe -m64 -O1 -fPIC -g0 -w -Wformat -Werror=format-security'
++ date +%s
+ export 'LDFLAGS=-Wl,--as-needed -Wl,-z,now -Wl,-z,relro -pie -fPIE' CC=gcc CXX=gcc LANG=C.UTF-8 EXTENSION_DIR=/usr/lib64/php/modules SOURCE_DATE_EPOCH=1595088756
+ LDFLAGS='-Wl,--as-needed -Wl,-z,now -Wl,-z,relro -pie -fPIE'
+ CC=gcc
+ CXX=gcc
+ LANG=C.UTF-8
+ EXTENSION_DIR=/usr/lib64/php/modules
+ SOURCE_DATE_EPOCH=1595088756
+ ./configure --quiet --build=x86_64-redhat-linux --host=x86_64-redhat-linux --target=x86_64-redhat-linux --program-prefix= --prefix=/usr --libdir=/usr/lib64/php --disable-all --enable-apcu --enable-bcmath --enable-calendar=shared --enable-cli --enable-ctype=shared --enable-dom=shared --enable-exif=shared --enable-fileinfo=shared --enable-filter --enable-gcc-global-regs --enable-gd=shared --enable-hash --enable-huge-code-pages --enable-inline-optimization --enable-intl=shared --enable-json=shared --enable-libxml --enable-mbregex --enable-mbstring=shared --enable-mysqlnd --enable-opcache --disable-opcache-jit --enable-pcntl=shared --enable-pdo=shared --enable-phar=shared --enable-posix=shared --enable-re2c-cgoto --enable-session=shared --enable-shared --enable-simplexml=shared --enable-soap=shared --enable-sockets=shared --enable-tokenizer=shared --enable-xml=shared --enable-xmlreader=shared --enable-xmlwriter=shared --enable-zip=shared --with-apxs2=/usr/bin/apxs --with-bz2=shared,/usr --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.lounge.d --with-curl=shared,/usr --with-freetype --with-freetype-dir=/usr --with-gd=shared --with-gnu-ld --with-iconv=shared --with-imap=shared,/usr --with-jpeg --with-jpeg-dir=/usr --with-layout=GNU --with-libdir=lib64 --with-libedit --with-libxml --with-libxml-dir=/usr --with-libzip=/usr --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mysqli=mysqlnd --with-openssl=/usr --with-pcre-jit --with-pcre-regex --with-pdo-mysql=shared,mysqlnd --with-pic --with-png-dir=/usr --with-system-ciphers --with-tidy=shared,/usr --with-zip=shared --with-zlib-dir=/usr --with-zlib=shared --without-ffi --without-kerberos --without-pear --without-sodium --without-webp --without-webp-dir --without-xpm --disable-cgi --disable-gd-jis-conv --disable-mysqlnd-compression-support --disable-phpdbg --disable-rpath --disable-short-tags --disable-static --disable-debug --without-valgrind
configure: WARNING: unrecognized options: --enable-apcu, --enable-hash, --enable-inline-optimization, --enable-json, --enable-libxml, --enable-zip, --with-freetype-dir, --with-gd, --with-jpeg-dir, --with-libxml-dir, --with-libzip, --with-pcre-regex, --with-png-dir, --without-webp-dir
Updated main/php_version.h
This is the test message -- creating main/internal_functions.c
creating main/internal_functions_cli.c
+--------------------------------------------------------------------+
|                        *** WARNING ***                             |
|                                                                    |
| You have built PHP for Apache's current non-threaded MPM.          |
| If you change Apache to use a threaded MPM you must reconfigure    |
| PHP with --enable-zts                                              |

+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE. By continuing this installation  |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.

configure: WARNING: unrecognized options: --enable-apcu, --enable-hash, --enable-inline-optimization, --enable-json, --enable-libxml, --enable-zip, --with-freetype-dir, --with-gd, --with-jpeg-dir, --with-libxml-dir, --with-libzip, --with-pcre-regex, --with-png-dir, --without-webp-dir
+ make --quiet -j6 prof-gen
Generating phar.php
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
clicommand.inc
directorytreeiterator.inc
pharcommand.inc
directorygraphiterator.inc
invertedregexiterator.inc
phar.inc

Build complete.
Don't forget to run 'make test'.

+ /usr/bin/bash /rpmbuild/PHP-PGO/profile.sh --php_build /home/builduser/rpmbuild/BUILD/php-8.0.0
-------------------------------------------------------------------------------------------------------------
COLLECT DATA FOR PROFILE-GUIDED-OPTIMIZATION

PHP-VERSION:    PHP 8.0.0-thelounge-sandybridge-fc31 (cli) (built: Jul 18 2020 16:12:36) ( NTS )
HTTPD-BINARY:   /usr/sbin/httpd
PHP-MODULE:     /home/builduser/rpmbuild/BUILD/php-8.0.0/libs/libphp.so
PHP-EXTENSIONS: /home/builduser/rpmbuild/BUILD/php-8.0.0/modules
PHP-CLI:        /home/builduser/rpmbuild/BUILD/php-8.0.0/sapi/cli/php
CALLED:         /rpmbuild/PHP-PGO/profile.sh --php_build /home/builduser/rpmbuild/BUILD/php-8.0.0
-------------------------------------------------------------------------------------------------------------
/rpmbuild/PHP-PGO/profile.sh: line 213: 369591 Segmentation fault      (core dumped) $HTTPD_BINARY -X -f "$PROFILE_ROOT/httpd.conf"
NO WEBSERVER PID-FILE
/rpmbuild/PHP-PGO/profile.sh: line 275: 369701 Segmentation fault      (core dumped) $HTTPD_BINARY -X -f "$PROFILE_ROOT/httpd.conf" -k stop 2> '/dev/null'
PROFILING ERROR
error: Bad exit status from /var/tmp/rpm-tmp.FYhfzu (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.FYhfzu (%build)
 [2021-10-26 14:38 UTC] cmb@php.net
-Status: Open +Status: Feedback -Assigned To: +Assigned To: cmb
 [2021-10-26 14:38 UTC] cmb@php.net
Is this still an issue with PHP 8.0.12?
 [2021-11-07 04:22 UTC] php-bugs at lists dot php dot net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Re-Opened". Thank you.
 [2022-07-21 09:58 UTC] purabdk at gmail dot com
I am also facing same issue while building PHP RPM

14:43:20  + make
14:54:41  /opt/jenkins_home/workspace/test/rpmbuild/BUILD/php-8.0.17/sapi/apache2handler/mod_php.c:38:1: warning: missing initializer for field 'flags' of 'module' {aka 'struct module_struct'} [-Wmissing-field-initializers]
14:54:41   };
14:54:41   ^
14:54:41  In file included from /opt/jenkins_home/workspace/test/rpmbuild/BUILD/php-8.0.17/sapi/apache2handler/php_apache.h:21,
14:54:41                   from /opt/jenkins_home/workspace/test/rpmbuild/BUILD/php-8.0.17/sapi/apache2handler/mod_php.c:28:
14:54:41  /usr/include/httpd/http_config.h:420:9: note: 'flags' declared here
14:54:41       int flags;
14:54:41           ^~~~~
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 14:01:32 2024 UTC