laravel / framework

The Laravel Framework.
https://laravel.com
MIT License
32.2k stars 10.89k forks source link

PHPUnit 10.4.0 failing with Fatal error: Uncaught Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Debug\ExceptionHandler] is not instantiable. #48651

Closed simonworkhouse closed 11 months ago

simonworkhouse commented 11 months ago

Laravel Version

10.26.2

PHP Version

8.2.11

Database Driver & Version

N/A

Description

This error triggers when using phpunit/phpunit version 10.4.0 but not for version 10.3.5.

Here is an example error from our failing BitBucket Pipelines:

Fatal error: Uncaught Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Debug\ExceptionHandler] is not instantiable. in /opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php:1126
Stack trace:
#0 /opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php(921): Illuminate\Container\Container->notInstantiable('Illuminate\\Cont...')
#1 /opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php(795): Illuminate\Container\Container->build('Illuminate\\Cont...')
#2 /opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(937): Illuminate\Container\Container->resolve('Illuminate\\Cont...', Array, true)
#3 /opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php(731): Illuminate\Foundation\Application->resolve('Illuminate\\Cont...', Array)
#4 /opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(922): Illuminate\Container\Container->make('Illuminate\\Cont...', Array)
#5 /opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(287): Illuminate\Foundation\Application->make('Illuminate\\Cont...')
#6 /opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(206): Illuminate\Foundation\Bootstrap\HandleExceptions->getExceptionHandler()
#7 /opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(188): Illuminate\Foundation\Bootstrap\HandleExceptions->renderForConsole(Object(ArgumentCountError))
#8 /opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(254): Illuminate\Foundation\Bootstrap\HandleExceptions->handleException(Object(ArgumentCountError))
#9 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->Illuminate\Foundation\Bootstrap\{closure}(Object(ArgumentCountError))
#10 {main}
  thrown in /opt/atlassian/pipelines/agent/build/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 1126

Steps To Reproduce

Will work on steps to reproduce if absolutely required.

crynobone commented 11 months ago

Hey there, thanks for reporting this issue.

We'll need more info and/or code to debug this further. Can you please create a repository with the command below, commit the code that reproduces the issue as one separate commit on the main/master branch and share the repository here?

Please make sure that you have the latest version of the Laravel installer in order to run this command. Please also make sure you have both Git & the GitHub CLI tool properly set up.

laravel new bug-report --github="--public"

Do not amend and create a separate commit with your custom changes. After you've posted the repository, we'll try to reproduce the issue.

Thanks!

simonworkhouse commented 11 months ago

Steps to reproduce:

composer create-project laravel/laravel buggy-bug
cd buggy-bug
composer require --dev brianium/paratest
php artisan test --parallel --no-coverage

See attached for generated composer.lock composer.lock.txt

The error output is the following:

$ php artisan test --parallel --no-coverage
ParaTest v7.2.8 upon PHPUnit 10.4.0 by Sebastian Bergmann and contributors.

Processes:     16
Runtime:       PHP 8.2.6
Configuration: /var/www/buggy-bug/phpunit.xml

..                                                                  2 / 2 (100%)
PHP Fatal error:  Uncaught Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Debug\ExceptionHandler] is not instantiable. in /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Container/Container.php:1126
Stack trace:
#0 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Container/Container.php(921): Illuminate\Container\Container->notInstantiable()
#1 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Container/Container.php(795): Illuminate\Container\Container->build()
#2 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(937): Illuminate\Container\Container->resolve()
#3 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Container/Container.php(731): Illuminate\Foundation\Application->resolve()
#4 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(922): Illuminate\Container\Container->make()
#5 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(287): Illuminate\Foundation\Application->make()
#6 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(206): Illuminate\Foundation\Bootstrap\HandleExceptions->getExceptionHandler()
#7 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(188): Illuminate\Foundation\Bootstrap\HandleExceptions->renderForConsole()
#8 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(254): Illuminate\Foundation\Bootstrap\HandleExceptions->handleException()
#9 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->Illuminate\Foundation\Bootstrap\{closure}()
#10 {main}
  thrown in /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 1126
PHP Fatal error:  Uncaught Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Debug\ExceptionHandler] is not instantiable. in /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Container/Container.php:1126
Stack trace:
#0 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Container/Container.php(921): Illuminate\Container\Container->notInstantiable()
#1 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Container/Container.php(795): Illuminate\Container\Container->build()
#2 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(937): Illuminate\Container\Container->resolve()
#3 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Container/Container.php(731): Illuminate\Foundation\Application->resolve()
#4 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(922): Illuminate\Container\Container->make()
#5 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(287): Illuminate\Foundation\Application->make()
#6 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(206): Illuminate\Foundation\Bootstrap\HandleExceptions->getExceptionHandler()
#7 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(188): Illuminate\Foundation\Bootstrap\HandleExceptions->renderForConsole()
#8 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(230): Illuminate\Foundation\Bootstrap\HandleExceptions->handleException()
#9 /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(254): Illuminate\Foundation\Bootstrap\HandleExceptions->handleShutdown()
#10 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->Illuminate\Foundation\Bootstrap\{closure}()
#11 {main}
  thrown in /var/www/buggy-bug/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 1126
crynobone commented 11 months ago

https://github.com/paratestphp/paratest/releases/tag/v7.2.9

Paratest just release a patch, can you retest again.

simonworkhouse commented 11 months ago

Excellent, all functioning as expected now.