-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Fix bug77578.phpt #16663
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix bug77578.phpt #16663
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for having a look. If this only happens with dl()
, it should indeed be harmless, but in the general sense internal things should be persistent. I'll let you decide whether it's worth adjusting. 🙂
* PHP-8.4: Properly initialize _override executor globals
Indeed, this only happens with |
Do you know why dl() results in the string being non-persistant? |
php-src/Zend/zend_language_scanner.l Line 798 in 063de1f
backtrace
Line 965 in 063de1f
So while I still think that it makes sense to rewrite the test to avoid
Or any other extension which registers constants, and is not already loaded. |
Oh, I just understood the problem. It's that |
I have now merged this PR so we have green CI on Windows. We can cater to a more general later. |
We should only attempt to fetch the current filename for user constants. dl() may attempt to register internal constants after execution has already started, thus incorrectly linking the user file invoking dl(). See phpGH-16663
We should only attempt to fetch the current filename for user constants. dl() may attempt to register internal constants after execution has already started, thus incorrectly linking the user file invoking dl(). See phpGH-16663
We should only attempt to fetch the current filename for user constants. dl() may attempt to register internal constants after execution has already started, thus incorrectly linking the user file invoking dl(). See GH-16663
The test fails since PR #15847 has been merged. This patch should fix the test, but is certainly not complete. I haven't had the time to look closer into this issue, but it seems that the assumption that a persistent constant also has a persistent filename is not generally valid (in this case,
dl()
is involved). So this needs closer investigation, but this fix might be pulled to get CI back to green.