Bug #73989 [Asn]: PHP 7.1 Segfaults within Symfony test suite
| From: | maxime dot steinhausser at gmail dot com | Date: | Sun, 12 Feb 2017 14:15:11 +0000 |
| Subject: | Bug #73989 [Asn]: PHP 7.1 Segfaults within Symfony test suite | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-207284@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=73989&edit=1
ID: 73989
User updated by: maxime dot steinhausser at gmail dot com
Reported by: maxime dot steinhausser at gmail dot com
Summary: PHP 7.1 Segfaults within Symfony test suite
Status: Assigned
Type: Bug
Package: *General Issues
Operating System: OS X 10.12.2
PHP Version: 7.1Git-2017-01-24 (Git)
Assigned To: laruence
Block user comment: N
Private report: N
New Comment:
I confirm your fix is working :)
Previous Comments:
------------------------------------------------------------------------
[2017-02-11 05:36:15] laruence@php.net
a fix could be: https://gist.github.com/laruence/5c529dd63ed41b7f0621a5858fba662e
if you have time, you could test with it. I am not very satisfied with it(change to global struct).
will keep think again later.
------------------------------------------------------------------------
[2017-02-11 04:40:55] laruence@php.net
yes, they are series problems, but all caused by the same root reason.
------------------------------------------------------------------------
[2017-02-10 17:24:45] maxime dot steinhausser at gmail dot com
Thanks for the update.
Note that the reproduce script you wrote does reproduce the issue using PHP 7.1.1, but doesn't
using PHP 7.1.0. So it might not be the only issue as the Symfony test suite actually fails for this
version too.
------------------------------------------------------------------------
[2017-02-10 09:18:34] laruence@php.net
a simple produce script is:
class Cycle
{
private $thing;
public function __construct()
{
$obj = $this;
$this->thing = function() use($obj) {};
}
public function __destruct()
{
($this->thing)();
}
}
for ($i = 0; $i < 10000; ++$i) {
$obj = new Cycle();
}
echo "OK\n";
------------------------------------------------------------------------
[2017-02-10 09:14:11] laruence@php.net
this is a complicated bug, relates to gc addtional_buffers implementation limit....
I need more time to think... :<
------------------------------------------------------------------------
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=73989
--
Edit this bug report at https://bugs.php.net/bug.php?id=73989&edit=1