Closed as duplicate of#10782
Closed as duplicate of#10782
Description
Description
The following test:
--TEST--
XXX
--EXTENSIONS--
zend_test
--INI--
zend_test.observer.enabled=1
zend_test.observer.show_output=1
zend_test.observer.observe_all=1
--FILE--
<?php
class Foo {
function foo() {
(function () {
echo "x", PHP_EOL;
})();
}
}
$f = new Foo();
$f->foo();
$f->foo();
?>
--EXPECTF--
<!-- init '%s' -->
<file '%s'>
<!-- init Foo::foo() -->
<Foo::foo>
<!-- init Foo::{closure:Foo::foo():5}() -->
<Foo::{closure:Foo::foo():5}>
x
</Foo::{closure:Foo::foo():5}>
</Foo::foo>
<Foo::foo>
<Foo::{closure:Foo::foo():5}>
x
</Foo::{closure:Foo::foo():5}>
</Foo::foo>
</file '%s'>
passes for:
sapi/cli/php run-tests.php --asan -d zend_extension=$(pwd)/modules/opcache.so -d opcache.enable_cli=0 -d opcache.protect_memory=1 --show-diff ext/zend_test/tests/observer_closure_04.phpt
but fails when opcache.enable_cli=1
:
sapi/cli/php run-tests.php --asan -d zend_extension=$(pwd)/modules/opcache.so -d opcache.enable_cli=1 -d opcache.protect_memory=1 --show-diff ext/zend_test/tests/observer_closure_04.phpt
with the following output:
TEST 1/1 [ext/zend_test/tests/observer_closure_04.phpt]
========DIFF========
--
</Foo::{closure:Foo::foo():5}>
</Foo::foo>
<Foo::foo>
011+ <!-- init Foo::{closure:Foo::foo():5}() -->
<Foo::{closure:Foo::foo():5}>
x
</Foo::{closure:Foo::foo():5}>
--
========DONE========
PHP Version
git master
Operating System
No response