opcache.file_cache should be purged after PHP updates

Aberta
#32 5 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
25/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
php
Domínio
backend

Direção de pesquisa

Nenhum arquivo-fonte ou teste foi identificado. Comece reproduzindo a falha relatada de sudo -u www-data php /var/www/nextcloud/occ app:update --all com PHP 8.1.12 no Debian 11 e, em seguida, inspecione o backtrace do OPcache fornecido e o comportamento de opcache.file_cache; a tarefa estará concluída quando o comando não causar mais um segfault após uma atualização do PHP.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Description

After recently updating php and its modules to 8.1.12 I'm getting Segmentation fault when trying to execute my Nextcloud occ command.

The following code:

sudo -u www-data php /var/www/nextcloud/occ app:update --all

Resulted in this output:

Segmentation fault

But I expected this output instead:

No Segmentation fault

This is the Backtrace:

(gdb) run /var/www/nextcloud/occ app:update --all
Starting program: /usr/bin/php /var/www/nextcloud/occ app:update --all
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x0000007ff4f270cc in ?? () from /usr/lib/php/20210902/opcache.so
(gdb) bt
#0  0x0000007ff4f270cc in ?? () from /usr/lib/php/20210902/opcache.so
php/php-src#1  0x00000055558c87b4 in zend_do_link_class ()
php/php-src#2  0x00000055557fab7c in zend_bind_class_in_slot ()
php/php-src#3  0x00000055557fac40 in do_bind_class ()
php/php-src#4  0x000000555585d370 in ?? ()
php/php-src#5  0x000000555589734c in execute_ex ()
php/php-src#6  0x00000055558134ac in zend_call_function ()
php/php-src#7  0x00000055558138c4 in zend_call_known_function ()
php/php-src#8  0x000000555570d1f4 in ?? ()
php/php-src#9  0x000000555581272c in zend_lookup_class_ex ()
php/php-src#10 0x0000005555813cfc in zend_fetch_class_by_name ()
php/php-src#11 0x00000055558c86c4 in zend_do_link_class ()
php/php-src#12 0x00000055557fab7c in zend_bind_class_in_slot ()
php/php-src#13 0x00000055557fac40 in do_bind_class ()
php/php-src#14 0x000000555585d370 in ?? ()
php/php-src#15 0x000000555589734c in execute_ex ()
php/php-src#16 0x00000055558134ac in zend_call_function ()
php/php-src#17 0x00000055558138c4 in zend_call_known_function ()
php/php-src#18 0x000000555570d1f4 in ?? ()
php/php-src#19 0x000000555581272c in zend_lookup_class_ex ()
php/php-src#20 0x0000005555813cfc in zend_fetch_class_by_name ()
php/php-src#21 0x00000055558c82ac in zend_do_link_class ()
php/php-src#22 0x00000055557fab7c in zend_bind_class_in_slot ()
php/php-src#23 0x000000555585fa3c in ?? ()
php/php-src#24 0x00000055558973d0 in execute_ex ()
php/php-src#25 0x00000055558134ac in zend_call_function ()
php/php-src#26 0x00000055558138c4 in zend_call_known_function ()
php/php-src#27 0x000000555570d1f4 in ?? ()
php/php-src#28 0x000000555581272c in zend_lookup_class_ex ()
php/php-src#29 0x0000005555813cfc in zend_fetch_class_by_name ()
php/php-src#30 0x00000055558c82ac in zend_do_link_class ()
--Type <RET> for more, q to quit, c to continue without paging--
php/php-src#31 0x00000055557fab7c in zend_bind_class_in_slot ()
php/php-src#32 0x00000055557fac40 in do_bind_class ()
php/php-src#33 0x000000555585d370 in ?? ()
php/php-src#34 0x000000555589734c in execute_ex ()
php/php-src#35 0x00000055558134ac in zend_call_function ()
php/php-src#36 0x00000055558138c4 in zend_call_known_function ()
php/php-src#37 0x000000555570d1f4 in ?? ()
php/php-src#38 0x000000555581272c in zend_lookup_class_ex ()
php/php-src#39 0x0000005555813cfc in zend_fetch_class_by_name ()
php/php-src#40 0x0000005555868194 in ?? ()
php/php-src#41 0x00000055558975b0 in execute_ex ()
php/php-src#42 0x00000055558a26bc in zend_execute ()
php/php-src#43 0x00000055558229c8 in zend_execute_scripts ()
php/php-src#44 0x00000055557bbc3c in php_execute_script ()
php/php-src#45 0x000000555591505c in ?? ()
php/php-src#46 0x0000005555659850 in ?? ()
php/php-src#47 0x0000007ff774ae18 in __libc_start_main (main=0x5555659530, argc=4, argv=0x7ffffff678, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
php/php-src#48 0x0000005555659a70 in _start ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Installed packages (using php -r "echo implode(',', get_loaded_extensions());"):

Core,date,libxml,openssl,pcre,zlib,filter,hash,json,pcntl,Reflection,SPL,session,standard,sodium,mysqlnd,PDO,xml,bcmath,bz2,calendar,ctype,curl,dom,mbstring,FFI,fileinfo,ftp,gd,gettext,gmp,iconv,igbinary,imagick,intl,ldap,exif,mysqli,pdo_mysql,pdo_sqlite,Phar,posix,readline,redis,shmop,SimpleXML,sockets,sqlite3,sysvmsg,sysvsem,sysvshm,tokenizer,xmlreader,xmlwriter,xsl,zip,Zend OPcache

Packages and their versions (using apt list --installed | grep php):

php-common/bullseye,bullseye,now 2:93+0~20221029.44+debian11~1.gbpaae3e9 all [installed,automatic]
php-json/bullseye,bullseye,now 2:8.1+93+0~20221029.44+debian11~1.gbpaae3e9 all [installed]
php8.1-bcmath/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-bz2/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-cli/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-common/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-curl/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-fpm/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-gd/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-gmp/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-igbinary/bullseye,now 3.2.6+2.0.8-6+0~20220131.33+debian11~1.gbp1d540e arm64 [installed,automatic]
php8.1-imagick/bullseye,now 3.6.0-4+0~20220117.35+debian11~1.gbp149f82 arm64 [installed]
php8.1-intl/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-ldap/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-mbstring/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-mysql/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-opcache/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-readline/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed,automatic]
php8.1-redis/bullseye,now 5.3.7+4.3.0-1+0~20220330.42+debian11~1.gbp6fe8b7 arm64 [installed]
php8.1-sqlite3/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-xml/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1-zip/bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 arm64 [installed]
php8.1/bullseye,bullseye,now 8.1.12-1+0~20221028.28+debian11~1.gbpc35f51 all [installed]
PHP Version

PHP 8.1.12

Operating System

Debian 11

Linguagem predominante
XML
Estrelas
4
Forks
8
Merge médio
1d 5h
PRs com merge (30d)
4

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

  • Sem Dockerfile nem arquivo Docker Compose
  • Sem modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de php/doc-extensions

Todas as issues de php/doc-extensions

Issues semelhantes

Mais issues de Backend & API Design

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.