Re: com php-src: Enable HT RC assertions with escape-hatch: Zend/zend_gc.c Zend/zend_hash.c Zend/zend_hash.h ext/standard/var_unserializer.c
ext/standard/var_unserializer.re main/php_variables.c
| From: | Matteo Beccati | Date: | Tue, 24 Jan 2017 08:26:17 +0000 |
| Subject: | Re: com php-src: Enable HT RC assertions with escape-hatch: Zend/zend_gc.c Zend/zend_hash.c Zend/zend_hash.h ext/standard/var_unserializer.c ext/standard/var_unserializer.re main/php_variables.c |
||
| References: | 1 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-96857@lists.php.net to get a copy of this message | ||
Hi Joe, Nikic,
I haven't double checked, but I have the feeling the commit is now
causing an assert failure when running composer e.g for doctrine and
phpunit:
php: /.../Zend/zend_hash.c:1339: zend_hash_clean: Assertion
`((ht)->gc.refcount == 1) || ((ht)->u.flags & (1<<6))' failed.
/.../ScriptBuildTask.sh: line 3: 1351 Aborted (core
dumped) /.../php ./composer.phar update --prefer-dist
https://revive.beccati.com/bamboo/browse/PHP-PHPUN-991
https://revive.beccati.com/bamboo/browse/PHP-DOCTR-977
Cheers
On 23/01/2017 18:19, Joe Watkins wrote:
> Commit: fd4025069d561b4196851c2e9a85b5bfdfe1465a
> Author: Nikita Popov <nikic@php.net> Thu, 5 May 2016 14:49:08 +0200
> Committer: Joe Watkins <krakjoe@php.net> Mon, 23 Jan 2017 17:19:06 +0000
> Parents: 5c6bf3598a41d7acefe6a8adf592aedc50b4bf2d
> Branches: master
>
> Link: §¯ÜÆY¡ßZféÛó
> http://git.php.net/?p=php-src.git;a=commitdiff;h=fd4025069d561b4196851c2e9a85b5bfdfe1465a
>
> Log:
> Enable HT RC assertions with escape-hatch
>
> HT functions that modify the array now assert that rc=1. As we don't
> respect this COW constraint everywhere, either for a good reason or
> because fixing it would take more work, we provide an escape hatch
> in the form of HT_ALLOW_COW_VIOLATION(ht). If this macro is called
> assertions on this ht are disabled. The macro is a no-op in release
> mode.
>
> Changed paths:
> M Zend/zend_gc.c
> M Zend/zend_hash.c
> M Zend/zend_hash.h
> M ext/standard/var_unserializer.c
> M ext/standard/var_unserializer.re
> M main/php_variables.c
>
>
>
--
Matteo Beccati
Development & Consulting - http://www.beccati.com/