-
Notifications
You must be signed in to change notification settings - Fork 59
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
SEGFAULTs consistently happening on CI #740
Comments
Likely an issue with how PSL executes commands here? It has support for async dispatch, so it may be hidden in its internals. Anyway, |
It's interesting to see that disabling the ANSI output seems to prevent the SEGFAULTs. Perhaps that's a good first step until the root cause is addressed. I also didn't test if upgrading to PHPUnit 10 has any impact. |
I just noticed that this project relies on Sooo, all my comments are kind of moot points, yay 🎉 Running the following command does give me a SEGFAULT: docker run -it --rm \
-w /github/workspace -e GITHUB_ACTIONS=true -e CI=true \
-v $(pwd):/github/workspace ghcr.io/laminas/laminas-continuous-integration:1 "{\"command\":\"./vendor/bin/phpunit\",\"php\":\"8.1\",\"extensions\":[\"dom\",\"json\",\"libxml\",\"simplexml\",\"bcmath\"],\"ini\":[\"memory_limit=-1\"],\"dependencies\":\"latest\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[],\"before_script\":[\"xmllint --schema vendor/phpunit/phpunit/phpunit.xsd phpunit.xml.dist\"]}" Let me check a bit more 👍 |
Okay, I investigated a bit more and found out that:
I´m sending a patch to upgrade it that should solve this 😁 |
Sorry for being late to the party :D
is the issue just with PSL, or |
I think is |
it seems to be an issue in revolt event loop when using PHP 8.1.15-16 and 8.2.2-3, can you make sure that you are using at least |
Yes, although I'd need to release the Laminas CI container first again |
On #737 (review), @asgrim mentions that SEGFAULTs are constantly haunting this project.
I've done some digging around and managed to reproduce the issue!
Although I couldn't pinpoint exactly the problem (on the timebox I've allocated for this), it seems related to
Psl\Shell\execute()
and PHPUnit ANSI's formatter (when under a very specific environment).The main trigger, though, is @Ocramius' good old friend: lack of Git's
safe.directory
configuration 😬We can use Docker to reproduce the SEGFAULTs.
I've done with the following
Dockerfile
:Then, we can see the problem after executing the following commands on the root dir of this project (against the latest commit of
8.4.x
):The "fun" begins when we start playing with the commands...
For example, no SEGFAULT happens when running any of these (after the previous commands):
GBD
We can also use that image to play with GDB:
Changing the logic in
Roave\BackwardCompatibility\Git\GitParseRevision
to useexec()
instead ofPsl\Shell\execute()
does remove the issue too, though I don't think that's the direction you want to go.With all that said, I hope this helps @asgrim @Ocramius or @azjezz to investigate further and decide what you want to do to solve the SEGFAULTs.
The text was updated successfully, but these errors were encountered: