Repository navigation
Conversation
…mo's server ended, and how (a signal, 11: PHP crashed, or its exit code), instead of a bare status 0 The PHP 8.0 legs now and then fail on a demo row with "expected 200, got 0" (not seen on this machine in repeated runs), and a PHP 8.0 leg once ended with a segfault; the message tells the two apart the next time.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What fails
On the PHP 8.0 legs, a
DemoTestrow now and then fails with a bare status 0:PHP 8.0 + APCu)PHP 8.0 + APCu)PHP 8.0 (file store), the fork)The same legs also end with a segfault from time to time (exit 139, in
FeedsTest). From a status 0 alone you cannot tell whether the demo's servercrashed in the same way, ended in some other way, or was still running and
simply gave no answer. The rows that fail are different each time, and it has
not happened locally in repeated runs.
The fix
Test only, in
tests/DemoTest.php: when a request inwithDemo()gets noanswer (status 0), the helper asks
proc_get_status()about the demo'sserver. If the server has ended, the test fails with how it ended:
If the server is still running, nothing changes: the caller gets status 0 as
before. Passing runs are not affected.
Tested
php tests/run.php RSF01-02, 15 passed.https://github.com/se7enxweb/request-shield/actions/runs/38123258528
The PHP 8.0.30 crashes themselves are described in #9.