[php-src] Issue #8646: Memory leak PHP FPM 8.1 ARM64

From: Date: Fri, 27 May 2022 15:46:06 +0000
Subject: [php-src] Issue #8646: Memory leak PHP FPM 8.1 ARM64
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-241610@lists.php.net to get a copy of this message
Issue: https://github.com/php/php-src/issues/8646 Author: davtur19 ### Description ### Description A few months ago I tried to migrate to php8.1 but it had a memory leak, so I stayed at 8.0, the memory leak is still present today, while on version 8.0 no problem, the memory remains stable. ### Info Armbian (Ubuntu 20.04.4 LTS) Linux roc-rk3399-pc 5.15.25-rockchip64 Docker version 20.10.16, build aa7e414 Docker image not working: php8.1-fpm Docker image working fine: php8.0-fpm My dockerfile: ```Dockerfile FROM php:8.1-fpm RUN pecl install igbinary RUN pecl bundle redis && cd redis && phpize && ./configure --enable-redis-igbinary && make && make install RUN docker-php-ext-enable opcache igbinary redis RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" HEALTHCHECK CMD curl -s 172.17.0.1:8080/ping | grep pong ``` My php.ini ```ini disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,exec,passthru,shell_exec,system,popen,curl_multi_exec,parse_ini_file,show_source, expose_php = Off max_execution_time = 60 max_input_time = 60 error_reporting = E_ALL display_errors = Off post_max_size = 51M file_uploads = On upload_max_filesize = 50M allow_url_fopen = On allow_url_include = Off default_socket_timeout = 60 open_basedir = "/code/:/tmp/" cgi.force_redirect = 1 [opcache] ; Determines if Zend OPCache is enabled opcache.enable=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=10000 ; The maximum percentage of "wasted" memory until a restart is scheduled. opcache.max_wasted_percentage=5 ; When disabled, you must reset the OPcache manually or restart the ; webserver for changes to the filesystem to take effect. opcache.validate_timestamps=1 ; Enables or disables file search in include_path optimization opcache.revalidate_path=1 ; If disabled, all PHPDoc comments are dropped from the code to reduce the ; size of the optimized code. opcache.save_comments=0 ; Allow file existence override (file_exists, etc.) performance feature. opcache.enable_file_override=1 ; Check the cache checksum each N requests. ; The default value of "0" means that the checks are disabled. opcache.consistency_checks=100 #opcache.enable_cli=1 #opcache.jit_buffer_size=100MB #opcache.jit=1235 ``` php8.1-fpm memory usage (purple line): ![image](https://user-images.githubusercontent.com/13476215/170731999-937ae901-e565-4ec4-b855-a13b7279a780.png) It had gone up to 800MB in a relatively short time without stopping php8.0-fpm memory usage (purple line): ![image](https://user-images.githubusercontent.com/13476215/170732125-209a8ab8-d7f0-4d40-ac3e-de979fd652d1.png) I don't know what other information to give you because I don't know how to use profiling tools, and I can't test disabling extensions. ### PHP Version 8.1 ### Operating System Armbian (Ubuntu 20.04.4 LTS)

« previous php.bugs (#241610) next »