php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #79247 Garbage collecting variant objects segfaults
Submitted: 2020-02-08 09:50 UTC Modified: 2020-02-08 09:50 UTC
From: cmb@php.net Assigned: cmb (profile)
Status: Closed Package: COM related
PHP Version: 7.4Git-2020-02-08 (Git) OS: Windows only
Private report: No CVE-ID: None
 [2020-02-08 09:50 UTC] cmb@php.net
Description:
------------
As of PHP 7.4.0, running the cyclic garbage collector on variant
objects segfaults.

Test script:
---------------
<?php
$keep = new variant(null);
var_dump(gc_collect_cycles());
?>

Expected result:
----------------
int(0)

Actual result:
--------------
php7_debug.dll!gc_mark_grey(_zend_refcounted * ref, _gc_stack * stack) Line 837 (c:\php-sdk\phpdev\vc15\x86\php-src-7.4\Zend\zend_gc.c:837)
php7_debug.dll!gc_mark_roots(_gc_stack * stack) Line 977 (c:\php-sdk\phpdev\vc15\x86\php-src-7.4\Zend\zend_gc.c:977)
php7_debug.dll!zend_gc_collect_cycles() Line 1452 (c:\php-sdk\phpdev\vc15\x86\php-src-7.4\Zend\zend_gc.c:1452)
php7_debug.dll!zif_gc_collect_cycles(_zend_execute_data * execute_data, _zval_struct * return_value) Line 375 (c:\php-sdk\phpdev\vc15\x86\php-src-7.4\Zend\zend_builtin_functions.c:375)
php7_debug.dll!ZEND_DO_ICALL_SPEC_RETVAL_USED_HANDLER(_zend_execute_data * execute_data) Line 1314 (c:\php-sdk\phpdev\vc15\x86\php-src-7.4\Zend\zend_vm_execute.h:1314)
php7_debug.dll!execute_ex(_zend_execute_data * ex) Line 53611 (c:\php-sdk\phpdev\vc15\x86\php-src-7.4\Zend\zend_vm_execute.h:53611)
php7_debug.dll!zend_execute(_zend_op_array * op_array, _zval_struct * return_value) Line 57913 (c:\php-sdk\phpdev\vc15\x86\php-src-7.4\Zend\zend_vm_execute.h:57913)
php7_debug.dll!zend_execute_scripts(int type, _zval_struct * retval, int file_count, ...) Line 1665 (c:\php-sdk\phpdev\vc15\x86\php-src-7.4\Zend\zend.c:1665)
php7_debug.dll!php_execute_script(_zend_file_handle * primary_file) Line 2617 (c:\php-sdk\phpdev\vc15\x86\php-src-7.4\main\main.c:2617)
php.exe!do_cli(int argc, char * * argv) Line 961 (c:\php-sdk\phpdev\vc15\x86\php-src-7.4\sapi\cli\php_cli.c:961)
php.exe!main(int argc, char * * argv) Line 1356 (c:\php-sdk\phpdev\vc15\x86\php-src-7.4\sapi\cli\php_cli.c:1356)


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2020-02-08 09:50 UTC] cmb@php.net
-Assigned To: +Assigned To: cmb
 [2020-02-08 10:07 UTC] cmb@php.net
Automatic comment on behalf of cmbecker69@gmx.de
Revision: http://git.php.net/?p=php-src.git;a=commit;h=b4f61d99cf90fab429a639a51790591ce296606f
Log: Fix #79247: Garbage collecting variant objects segfaults
 [2020-02-08 10:07 UTC] cmb@php.net
-Status: Assigned +Status: Closed
 [2020-02-13 14:10 UTC] derick@php.net
Automatic comment on behalf of cmbecker69@gmx.de
Revision: http://git.php.net/?p=php-src.git;a=commit;h=7acaa4020d0eeb2911e70148ac57787f085e03e0
Log: Fix #79247: Garbage collecting variant objects segfaults
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 14:01:32 2024 UTC