-
Notifications
You must be signed in to change notification settings - Fork 7.8k
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
[CLI] Stop closing standard streams (v8.0) #8569
[CLI] Stop closing standard streams (v8.0) #8569
Conversation
82cf8fe
to
c166e12
Compare
Extensions may (and do) write to stderr in mshutdown and similar. In the best case, with the stderr stream closed, it's just swallowed. However, some libraries will do things like try to detect color, and these will outright fail and cause an error path to be taken.
c166e12
to
6d12aec
Compare
So our test runner doesn't check for non-zero exit codes. These four tests are failing on the PHP-8.0 branch with non-zero exit codes:
They all print zend_mm_heap corrupted, but since stderr is closed at that time, it's not getting printed. All my patch does is allow us to see the message that it was already trying to print. This shouldn't block this patch being merged, as it's merely uncovering a problem that already exists. |
Extensions may (and do) write to stderr in mshutdown and similar. In the best case, with the stderr stream closed, it's just swallowed. However, some libraries will do things like try to detect color, and these will outright fail and cause an error path to be taken.
* PHP-8.0: XFAIL tests (phpGH-8588) Stop closing stderr and stdout streams (php#8569)
* PHP-8.1: Stop closing stderr and stdout streams (php#8570) Revert "XFAIL tests (phpGH-8588)" XFAIL tests (phpGH-8588) Stop closing stderr and stdout streams (php#8569)
Merged in fa78e17 |
Extensions may (and do) write to stderr in mshutdown and similar. In
the best case, with the stderr stream closed, it's just swallowed.
However, some libraries will do things like try to detect color, and
these will outright fail and cause an error path to be taken.