Join the community today
Register Now

Upgrade to PHP 8.2 fail

Discussion in 'Install & Upgrades or Pre-Install Questions' started by Jon Snow, Aug 5, 2024.

  1. Jon Snow

    Jon Snow Active Member

    767
    157
    43
    Jun 30, 2017
    Ratings:
    +225
    Local Time:
    3:04 AM
    Nginx 1.13.9
    MariaDB 10.1.31
    Please fill in any relevant information that applies to you:
    • CentOS Version: AlmaLinux 9
    • Centmin Mod Version Installed: 131.00stable
    • Nginx Version Installed: 1.27.0
    • PHP Version Installed: 8.1.29
    • MariaDB MySQL Version Installed: 10.6.xx
    • When was last time updated Centmin Mod code base ? : Today, right before the PHP upgrade
    • Persistent Config:
    Code (Text):
    LETSENCRYPT_DETECT='y'
    DUALCERTS='y'
    MARCH_TARGETNATIVE='n'
    PHP_PGO_ALWAYS='y'
    PHP_PGO='y'
    PHP_BROTLI='y'
    PHP_LZFOUR='y'
    PHP_LZF='y'
    PHP_ZSTD='y'
    DISABLE_IPVSIX='y'
    ZSTD_LOGROTATE_NGINX='y'
    ZSTD_LOGROTATE_PHPFPM='y'
    NGINX_ZERODT='y'
    NGINX_LIBBROTLI='y'
    NGXDYNAMIC_BROTLI='y'
    AUDITD_ENABLE='y'
    SET_DEFAULT_MYSQLCHARSET='utf8mb4'
    SELFSIGNEDSSL_ECDSA='y'
    PHPFINFO='y'
    PHP_OVERWRITECONF='n'
    PYTHON_INSTALL_ALTERNATIVES='y'


    Sending logs via PM to @eva2000 right now

     
  2. eva2000

    eva2000 Administrator Staff Member

    53,277
    12,117
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,655
    Local Time:
    4:04 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    Might be a PHP 8.2.22 bug?
    Code (Text):
    Unable to coalesce ssa_names 4 and 5 which are marked as MUST COALESCE.
    __orig_bailout_4(ab) and  __orig_bailout_5(ab)
    during RTL pass: expand
    In file included from /svr-setup/php-8.2.22/main/php.h:35,
                     from /svr-setup/php-8.2.22/ext/session/session.c:22:
    /svr-setup/php-8.2.22/ext/session/session.c: In function ‘zm_deactivate_session’:
    /svr-setup/php-8.2.22/Zend/zend_API.h:220:49: internal compiler error: SSA corruption
      220 | #define ZEND_MODULE_DEACTIVATE_N(module)        zm_deactivate_##module
          |                                                 ^~~~~~~~~~~~~~
    /svr-setup/php-8.2.22/Zend/zend_API.h:230:61: note: in expansion of macro ‘ZEND_MODULE_DEACTIVATE_N’
      230 | #define ZEND_MODULE_DEACTIVATE_D(module)        zend_result ZEND_MODULE_DEACTIVATE_N(module)(SHUTDOWN_FUNC_ARGS)
          |                                                             ^~~~~~~~~~~~~~~~~~~~~~~~
    /svr-setup/php-8.2.22/main/php.h:408:33: note: in expansion of macro ‘ZEND_MODULE_DEACTIVATE_D’
      408 | #define PHP_RSHUTDOWN_FUNCTION  ZEND_MODULE_DEACTIVATE_D
          |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
    /svr-setup/php-8.2.22/ext/session/session.c:2738:8: note: in expansion of macro ‘PHP_RSHUTDOWN_FUNCTION’
     2738 | static PHP_RSHUTDOWN_FUNCTION(session) /* {{{ */
          |        ^~~~~~~~~~~~~~~~~~~~~~
    Please submit a full bug report, with preprocessed source.
    See <http://bugzilla.redhat.com/bugzilla> for instructions.
    

    Does PHP 8.2.21 compile properly?
     
  3. Jon Snow

    Jon Snow Active Member

    767
    157
    43
    Jun 30, 2017
    Ratings:
    +225
    Local Time:
    3:04 AM
    Nginx 1.13.9
    MariaDB 10.1.31
    Nope, failed again.
     
  4. eva2000

    eva2000 Administrator Staff Member

    53,277
    12,117
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,655
    Local Time:
    4:04 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    seem might be PHP 8.2 wwith optional PHP_PGO='y' PHP PGO enabled issue triggering the bug. In persistent config file disable PHP_PGO='y' and try
     
  5. eva2000

    eva2000 Administrator Staff Member

    53,277
    12,117
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,655
    Local Time:
    4:04 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    looks like it could be a GCC 13.2.1 compile bug in conjunction with PHP_PGO='y' enabled for PHP profile guided optimizations. Try disabling GCC 13 compiler and using GCC 12 compiler if you want PHP_PGO='y'

    set in /etc/centminmod/custom_config.inc prior to centmin.sh menu option 5 run
    Code (Text):
    DEVTOOLSETTWELVE='y'
    DEVTOOLSETTHIRTEEN='n'
    PHP_PGO='y'
    
     
  6. Jon Snow

    Jon Snow Active Member

    767
    157
    43
    Jun 30, 2017
    Ratings:
    +225
    Local Time:
    3:04 AM
    Nginx 1.13.9
    MariaDB 10.1.31
    This seems to have worked. I'm on 8.2.22 now