mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
fc9266a5fc
Cirrus will no longer offer unlimited free builds starting next month. We don't have an alternative for FreeBSD and ARM, so move what we can for now. Closes GH-11898
38 lines
774 B
PHP
38 lines
774 B
PHP
--TEST--
|
|
Bug #78010: Segmentation fault during GC
|
|
--SKIPIF--
|
|
<?php
|
|
if (getenv("SKIP_SLOW_TESTS")) die('skip slow test');
|
|
?>
|
|
--INI--
|
|
memory_limit=2G
|
|
--FILE--
|
|
<?php
|
|
|
|
#[AllowDynamicProperties]
|
|
class foo
|
|
{
|
|
public function __construct()
|
|
{
|
|
$this->x = $this;
|
|
|
|
for ($i = 0; $i < 898; $i++) { //Will not trigger with <898
|
|
$obj = [new stdClass, new stdClass]; //This must have at least 2 elements
|
|
$this->y[] = $obj;
|
|
}
|
|
}
|
|
}
|
|
|
|
for ($i = 0; $i < 2; ++$i) { //This must run >=2 (increasing the number of elements in the array *2 will not do)
|
|
$x = []; //This must be reset
|
|
foreach (array_fill(0, 389, 'x') as &$params) { //Will not trigger <389
|
|
$x[] = new foo;
|
|
}
|
|
}
|
|
|
|
echo "Completed\n";
|
|
|
|
?>
|
|
--EXPECT--
|
|
Completed
|