[php-src] Issue #14879: `sapi/phpdbg/tests/watch_006.phpt` fails on ppc64le

From: Date: Mon, 08 Jul 2024 20:33:14 +0000
Subject: [php-src] Issue #14879: `sapi/phpdbg/tests/watch_006.phpt` fails on ppc64le
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-247254@lists.php.net to get a copy of this message
Issue: https://github.com/php/php-src/issues/14879 Author: NattyNarwhal ### Description The test is failing on ppc64le Linux (at least, I can't repro on arm64 macOS) like so: ``` $ cat sapi/phpdbg/tests/watch_006.diff -- prompt> [Breaking on watchpoint $b] Old value: New value (reference): Array ([0] => 1) 018+ 019+ [Element 0 has been added to watchpoint] >00006: $a[0] = 2; 00007: $a[1] = 3; 00008: $c = [1]; -- ``` Essentially, a (spurious?) message about a watchpoint being added occurs, that doesn't seem to happen on other platforms. GDB stack trace: ``` (gdb) b phpdbg_watch.c:1038 Breakpoint 1 at 0x7a434c: file /home/cb/php-src/sapi/phpdbg/phpdbg_watch.c, line 1038. (gdb) handle SIGSEGV nostop noprint Signal Stop Print Pass to program Description SIGSEGV No No Yes Segmentation fault (gdb) run -qIb -n sapi/phpdbg/tests/watch_006.php < ~/phpdbg.cmd Starting program: /home/cb/php-src/sapi/phpdbg/phpdbg -qIb -n sapi/phpdbg/tests/watch_006.php < ~/phpdbg.cmd [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [Successful compilation of /home/cb/php-src/sapi/phpdbg/tests/watch_006.php] prompt> [Breakpoint #0 added at /home/cb/php-src/sapi/phpdbg/tests/watch_006.php:4] prompt> [Breakpoint #0 at /home/cb/php-src/sapi/phpdbg/tests/watch_006.php:4, hits: 1] >00004: $a[0] = 1; 00005: $b = &$a; 00006: $a[0] = 2; prompt> [Added watchpoint #0 for $a[0]] prompt> [Added recursive watchpoint #1 for $b] prompt> [Breaking on watchpoint $a[0]] Old value: 0 New value: 1 >00005: $b = &$a; 00006: $a[0] = 2; 00007: $a[1] = 3; prompt> [Breaking on watchpoint $b] Old value: New value (reference): Array ([0] => 1) Breakpoint 1, phpdbg_check_watchpoint (watch=0x7ffff7860840) at /home/cb/php-src/sapi/phpdbg/phpdbg_watch.c:1038 1038 phpdbg_notice("Element %.*s has been added to watchpoint", (int) ZSTR_LEN(str), ZSTR_VAL(str)); (gdb) bt #0 phpdbg_check_watchpoint (watch=0x7ffff7860840) at /home/cb/php-src/sapi/phpdbg/phpdbg_watch.c:1038 #1 0x00000001007a4c24 in phpdbg_print_changed_zvals () at /home/cb/php-src/sapi/phpdbg/phpdbg_watch.c:1176 #2 0x000000010078515c in phpdbg_execute_ex (execute_data=0x7ffff7817020) at /home/cb/php-src/sapi/phpdbg/phpdbg_prompt.c:1781 #3 0x00000001006aa75c in zend_execute (op_array=0x7ffff786d000, return_value=0x100a307d8 <phpdbg_globals+1360>) at /home/cb/php-src/Zend/zend_vm_execute.h:63001 #4 0x0000000100781524 in phpdbg_do_run (param=0x0) at /home/cb/php-src/sapi/phpdbg/phpdbg_prompt.c:884 #5 0x000000010079c1e0 in phpdbg_internal_stack_execute (stack=0x7fffffffcc28, allow_async_unsafe=true) at /home/cb/php-src/sapi/phpdbg/phpdbg_cmd.c:702 #6 0x000000010079c334 in phpdbg_stack_execute (stack=0x7fffffffcc28, allow_async_unsafe=true) at /home/cb/php-src/sapi/phpdbg/phpdbg_cmd.c:732 #7 0x000000010078434c in phpdbg_interactive (allow_async_unsafe=true, input=0x7ffff78050f0 "r\n") at /home/cb/php-src/sapi/phpdbg/phpdbg_prompt.c:1547 #8 0x000000010077595c in main (argc=4, argv=0x7ffffffff078) at /home/cb/php-src/sapi/phpdbg/phpdbg.c:1610 ``` Very interestingly, it does not reproduce with USE_ZEND_ALLOC=0 set. Valgrind memcheck output: https://gist.github.com/NattyNarwhal/19a11906157ff459e9592041293d6312 ### PHP Version PHP 8.4.0-DEV ### Operating System Gentoo

« previous php.bugs (#247254) next »