Bug #81612 [Opn]: Segmentation fault on PHP 8.1

From: Date: Fri, 12 Nov 2021 11:16:42 +0000
Subject: Bug #81612 [Opn]: Segmentation fault on PHP 8.1
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-237717@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=81612&edit=1 ID: 81612 Updated by: nikic@php.net Reported by: bartos dot developer152 at gmail dot com Summary: Segmentation fault on PHP 8.1 Status: Open Type: Bug Package: Reproducible crash Operating System: Ubuntu 20.04.3 PHP Version: 8.1Git-2021-11-11 (Git) Block user comment: N Private report: N New Comment: Testing with pcov now, I see this valgrind warning: ==1363300== Invalid read of size 4 ==1363300== at 0x8535BA: zend_string_release (zend_string.h:319) ==1363300== by 0x853AB4: zm_deactivate_filestat (filestat.c:91) ==1363300== by 0x828BFB: zm_deactivate_basic (basic_functions.c:541) ==1363300== by 0xA3AF67: zend_deactivate_modules (zend_API.c:3016) ==1363300== by 0x98B198: php_request_shutdown (main.c:1823) ==1363300== by 0xB9FE2A: do_cli (php_cli.c:1135) ==1363300== by 0xBA06FF: main (php_cli.c:1367) ==1363300== Address 0xbc7b2b4 is 4 bytes inside a block of size 91 free'd ==1363300== at 0x483CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==1363300== by 0x66632B: php_pcov_filename_dtor (pcov.c:345) ==1363300== by 0xA47E82: zend_hash_destroy (zend_hash.c:1590) ==1363300== by 0x666952: zm_deactivate_pcov (pcov.c:493) ==1363300== by 0xA3AF67: zend_deactivate_modules (zend_API.c:3016) ==1363300== by 0x98B198: php_request_shutdown (main.c:1823) ==1363300== by 0xB9FE2A: do_cli (php_cli.c:1135) ==1363300== by 0xBA06FF: main (php_cli.c:1367) ==1363300== Block was alloc'd at ==1363300== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==1363300== by 0x665E91: php_pcov_interned_string (pcov.c:210) ==1363300== by 0x665F21: php_pcov_create (pcov.c:232) ==1363300== by 0x6660D1: php_pcov_trace (pcov.c:270) ==1363300== by 0x66625D: php_pcov_execute_ex (pcov.c:323) ==1363300== by 0xA6B99A: ZEND_DO_FCALL_SPEC_RETVAL_UNUSED_HANDLER (zend_vm_execute.h:1728) ==1363300== by 0xAE4218: zend_vm_call_opcode_handler (zend_vm_execute.h:62999) ==1363300== by 0x666117: php_pcov_trace (pcov.c:282) ==1363300== by 0x66625D: php_pcov_execute_ex (pcov.c:323) ==1363300== by 0xA6BDE1: ZEND_DO_FCALL_SPEC_RETVAL_USED_HANDLER (zend_vm_execute.h:1837) ==1363300== by 0xAE4218: zend_vm_call_opcode_handler (zend_vm_execute.h:62999) ==1363300== by 0x666117: php_pcov_trace (pcov.c:282) Previous Comments: ------------------------------------------------------------------------ [2021-11-12 11:05:21] bartos dot developer152 at gmail dot com nikic@php.net: That's it! Thank you, I had no idea it could be caused by pcov. https://github.com/orisai/nette-console/runs/4188901103?check_suite_focus=true#step:13:99 ------------------------------------------------------------------------ [2021-11-12 11:01:12] nikic@php.net Would it be possible to test with pcov not enabled? Looking at the bug tracker there, https://github.com/krakjoe/pcov/issues/73 seems to indicate that there may be a compatibility issue between pcov and PHP 8.1. ------------------------------------------------------------------------ [2021-11-12 10:55:23] bartos dot developer152 at gmail dot com Danack at basereality dot com: Thank you it seems to work now. Unfortunately it added only this to output > [Inferior 1 (process 3171) exited with code 02] > No stack. https://github.com/orisai/nette-console/runs/4188618661?check_suite_focus=true#step:13:117 nikic@php.net: My full command was this, hopefully it will be helpful XDEBUG_MODE=off php -d pcov.enabled=1 -d pcov.directory=./src "vendor/bin/paratest" -c tools/phpunit.xml --runner=WrapperRunner -p16 --coverage-clover=var/coverage/clover.xml ------------------------------------------------------------------------ [2021-11-12 09:41:29] nikic@php.net I wasn't able to reproduce this locally (using nette-console). I used this command: ~/php/php-8.1/sapi/cli/php vendor/bin/paratest -c tools/phpunit.xml --runner=WrapperRunner -p32 Not seeing any warnings under valgrind either. ------------------------------------------------------------------------ [2021-11-12 01:13:34] Danack at basereality dot com In CI, I think you need to run gdb in batch mode e.g. like: gdb -batch -ex "run" -ex "bt" --args /usr/bin/make coverage-clover as that queues up the run and backtrace command. ------------------------------------------------------------------------ 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=81612 -- Edit this bug report at https://bugs.php.net/bug.php?id=81612&edit=1

« previous php.bugs (#237717) next »