Combination of phpdbg and Generator method causes memory leak
オープン
Bug
Category: Generators
SAPI: phpdbg
Status: Verified
- 主要言語
- C
- スター
- 40.4k
- フォーク
- 8.2k
- 平均マージ
- 2日 13時間
- マージ済み PR(30日)
- 96
説明
Description
Run phpdbg on object has generator method causes memory leaks.
It does not occur when run with php command.
The following code:
<?php
class A
{
private $s;
public function __construct()
{
$this->s = str_repeat('a', 1000000);
}
public function iterate()
{
yield 1;
}
}
for ($i=0; $i<1000000; $i++) {
$arr = iterator_to_array((new A())->iterate());
}
var_dump('ok', memory_get_peak_usage(true));
Resulted in this output:
$ phpdbg -qrr zz.php
[PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1003520 bytes) in /w/zz.php on line 8]
But I expected this output instead:
$ php zz.php
string(2) "ok"
int(2097152)
PHP Version
PHP 8.3.0
Operating System
Debian 12
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
評価
この issue はまだ評価されていません。