Bug #80175 [Com]: PHP8 RC1 - JIT Buffer not working

From: Date: Sun, 11 Oct 2020 21:05:03 +0000
Subject: Bug #80175 [Com]: PHP8 RC1 - JIT Buffer not working
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-229549@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80175&edit=1 ID: 80175 Comment by: celestinoxp at hotmail dot com Reported by: celestinoxp at hotmail dot com Summary: PHP8 RC1 - JIT Buffer not working Status: Feedback Type: Bug Package: Unknown/Other Function Operating System: Windows 10 PHP Version: 8.0.0rc1 Assigned To: cmb Block user comment: N Private report: N New Comment: I forget say im using xampp, but i changed PHP-Module setup to work with php8, ex: LoadFile "C:/xampp/php/php8ts.dll" LoadFile "C:/xampp/php/libpq.dll" LoadModule php_module "C:/xampp/php/php8apache2_4.dll" LoadFile "C:/xampp/php/libsqlite3.dll" and replace all "php7_module" --> "php_module". And in php.ini [opcache] ; Determines if Zend OPCache is enabled opcache.enable=1 ; Determines if Zend OPCache is enabled for the CLI version of PHP opcache.enable_cli=1 ; The OPcache shared memory storage size. opcache.memory_consumption=128 ; The amount of memory for interned strings in Mbytes. opcache.interned_strings_buffer=8 ; The maximum number of keys (scripts) in the OPcache hash table. ; Only numbers between 200 and 1000000 are allowed. opcache.max_accelerated_files=50000 ; The maximum percentage of "wasted" memory until a restart is scheduled. ;opcache.max_wasted_percentage=5 ; When this directive is enabled, the OPcache appends the current working ; directory to the script key, thus eliminating possible collisions between ; files with the same name (basename). Disabling the directive improves ; performance, but may break existing applications. ;opcache.use_cwd=1 ; When disabled, you must reset the OPcache manually or restart the ; webserver for changes to the filesystem to take effect. ;opcache.validate_timestamps=1 ; How often (in seconds) to check file timestamps for changes to the shared ; memory storage allocation. ("1" means validate once per second, but only ; once per request. "0" means always validate) opcache.revalidate_freq=60 ; Enables or disables file search in include_path optimization ;opcache.revalidate_path=0 ; If disabled, all PHPDoc comments are dropped from the code to reduce the ; size of the optimized code. ;opcache.save_comments=1 ; Allow file existence override (file_exists, etc.) performance feature. ;opcache.enable_file_override=0 ; A bitmask, where each bit enables or disables the appropriate OPcache ; passes ;opcache.optimization_level = 0x7FFFBFFF opcache.optimization_level = -1 ;opcache.dups_fix=0 ; The location of the OPcache blacklist file (wildcards allowed). ; Each OPcache blacklist file is a text file that holds the names of files ; that should not be accelerated. The file format is to add each filename ; to a new line. The filename may be a full path or just a file prefix ; (i.e., /var/www/x blacklists all the files and directories in /var/www ; that start with 'x'). Line starting with a ; are ignored (comments). ;opcache.blacklist_filename= ; Allows exclusion of large files from being cached. By default all files ; are cached. ;opcache.max_file_size=0 ; Check the cache checksum each N requests. ; The default value of "0" means that the checks are disabled. ;opcache.consistency_checks=0 ; How long to wait (in seconds) for a scheduled restart to begin if the cache ; is not being accessed. ;opcache.force_restart_timeout=180 ; OPcache error_log file name. Empty string assumes "stderr". ;opcache.error_log= ; All OPcache errors go to the Web server log. ; By default, only fatal errors (level 0) or errors (level 1) are logged. ; You can also enable warnings (level 2), info messages (level 3) or ; debug messages (level 4). opcache.log_verbosity_level=2 ; Preferred Shared Memory back-end. Leave empty and let the system decide. ;opcache.preferred_memory_model= ; Protect the shared memory from unexpected writing during script execution. ; Useful for internal debugging only. opcache.protect_memory = 0 ; Allows calling OPcache API functions only from PHP scripts which path is ; started from specified string. The default "" means no restriction ;opcache.restrict_api= ; Mapping base of shared memory segments (for Windows only). All the PHP ; processes have to map shared memory into the same address space. This ; directive allows to manually fix the "Unable to reattach to base address" ; errors. ;opcache.mmap_base= ; Facilitates multiple OPcache instances per user (for Windows only). All PHP ; processes with the same cache ID and user share an OPcache instance. ;opcache.cache_id= ; Enables and sets the second level cache directory. ; It should improve performance when SHM memory is full, at server restart or ; SHM reset. The default "" disables file based caching. ;opcache.file_cache= ; Enables or disables opcode caching in shared memory. ;opcache.file_cache_only=0 ; Enables or disables checksum validation when script loaded from file cache. ;opcache.file_cache_consistency_checks=1 ; Implies opcache.file_cache_only=1 for a certain process that failed to ; reattach to the shared memory (for Windows only). Explicitly enabled file ; cache is required. ;opcache.file_cache_fallback=1 ; Enables or disables copying of PHP code (text segment) into HUGE PAGES. ; This should improve performance, but requires appropriate OS configuration. ;opcache.huge_code_pages=0 ; Validate cached file permissions. ;opcache.validate_permission=0 ; Prevent name collisions in chroot'ed environment. ;opcache.validate_root=0 ; If specified, it produces opcode dumps for debugging different stages of ; optimizations. ;opcache.opt_debug_level=0 ; Specifies a PHP script that is going to be compiled and executed at server ; start-up. ; http://php.net/opcache.preload ;opcache.preload= ; Preloading code as root is not allowed for security reasons. This directive ; facilitates to let the preloading to be run as another user. ; http://php.net/opcache.preload_user ;opcache.preload_user= ; Prevents caching files that are less than this number of seconds old. It ; protects from caching of incompletely updated files. In case all file updates ; on your site are atomic, you may increase performance by setting it to "0". ;opcache.file_update_protection=2 ; Absolute path used to store shared lockfiles (for *nix only). ;opcache.lockfile_path=/tmp opcache.jit=1205 ;opcache.jit_buffer_size=16M Previous Comments: ------------------------------------------------------------------------ [2020-10-11 20:58:12] celestinoxp at hotmail dot com I can't generate backtrace report because php process not start. Can help me to generate backtrace to help you find problem in php? I have DebugDiag 2 update 3. But its i dont know work with it very fine... ------------------------------------------------------------------------ [2020-10-11 20:47:58] cmb@php.net I tested with Apache mod_php Windows 10 64bits and opcache.jit_buffer_size=16M RC1 immediately crashed; the latest nightly snapshot did not. ------------------------------------------------------------------------ [2020-10-11 19:54:25] celestinoxp at hotmail dot com Apache with mod_php Windows 10 64bits ------------------------------------------------------------------------ [2020-10-11 18:46:48] celestinoxp at hotmail dot com Do you have this line in php.ini: opcache.jit_buffer_size = 32M, (or other value)? ------------------------------------------------------------------------ [2020-10-11 15:26:43] cmb@php.net I just checked with the latest nightly build[1], and the Apache module works for me now. Please give more info regarding your setup (do you use Apache with mod_php, or mod_fcgi, or some other SAPI?). It would also be helpful if you could provide a backtrace[2]. [1] <https://github.com/shivammathur/php-builder-windows> [2] <https://bugs.php.net/bugs-generating-backtrace-win32.php> ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=80175 -- Edit this bug report at https://bugs.php.net/bug.php?id=80175&edit=1

« previous php.bugs (#229549) next »