-
Notifications
You must be signed in to change notification settings - Fork 11.1k
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
Http fake call returning exception causes SIGSEV with XDebug enabled #51046
Comments
Could you maybe pinpoint the exact PHP, Laravel, PHPUnit or Pest version that introduces this issue? |
Hi @driesvints, thanks for the feedback. PHP: 8.3.6 Please let me know if I answered what you need. Thanks |
What versions did you come from? You specifically mention the issue only popped up in recent weeks. Which versions were you at before that? |
@driesvints I checked out my codebase to old commits, but the issue is still happening, so I don't know who the culprit is... I just tried to use PHP 8.3.6 + XDebug 3.3.2 (just release, I think), but the segmentation fault issue is still happening. Anyway, it should be possible to reproduce the issue as I reported. Thanks |
@driesvints Upon further investigation, I found the exact place where problems start only when XDebug is enabled (but I don't know why): vendor/guzzlehttp/guzzle/src/Client.php - line 333 try {
return P\Create::promiseFor($handler($request, $options)); // <----------- here something causes infinite recursion?
} catch (\Exception $e) {
return P\Create::rejectionFor($e);
} |
@eleftrik I found this which seems similar: guzzle/guzzle#942 Can you change |
I changed from Thank you very much. |
@eleftrik you're very likely running into XDebug feature 2222. XDebug 3.3.0 and newer made it so that all locals alongside the stack of the last eight thrown exceptions are kept alive in memory until the process or request finishes if |
Laravel Version
11.3.1
PHP Version
8.3.6
Database Driver & Version
No response
Description
Laravel 11 brand new application (same behavior with Laravel 10).
The following test
Process finished with exit code 139 (interrupted by signal 11:SIGSEGV)
.php.ini configuration:
Sorry, I don't know if it's related to Laravel or is more about Pest / PHPUnit. Could be related to sebastianbergmann/phpunit#5809?
I have a couple of Laravel 10/11 applications with a bunch of similar tests (the one above is a simplified example) and they passed without problems, until a couple of weeks ago.
I could disable XDebug, but I need it enabled to run code coverage.
Thank you for any hints.
Steps To Reproduce
The text was updated successfully, but these errors were encountered: