Skip to content

Something leaks memory #1669

@mvorisek

Description

@mvorisek

At least these tests leak:

1) Atk4\Ui\Tests\CallbackTest::testCallback
Memory leak detected! (8.918 MB + 0.47 MB + 16.328 KB, 1 iterations)

2) Atk4\Ui\Tests\CallbackTest::testViewUrlCallback
Memory leak detected! (9.452 MB + 0.041 MB + 35.227 KB, 1 iterations)

3) Atk4\Ui\Tests\FormTest::testSubmitError
Memory leak detected! (11.507 MB + 0.127 MB + 0.188 KB, 1 iterations)

tested with 1k iterations.

Observations:

  • repeated require does not leak (tested with 100k include calls)
  • but only if it does not include an anonymous class (new class() {}; is enough, even if never used)
  • anonymous functions does no leak (even in complex such $fx = function() use ($bar) { return $bar; };)
  • not leaky if included multiple times, but not evaluated - https://3v4l.org/R6f8k
  • Fix all memory leaks #1672 pass with higher iteration count (about 100+) only on PHP 8.1+ with opcache enabled

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions