phpro / grumphp

A PHP code-quality tool
MIT License
4.12k stars 430 forks source link

loop driver error #937

Closed talhaamir4130 closed 2 years ago

talhaamir4130 commented 2 years ago
Q A
Version 0.19.1
Bug? yes
New feature? no
Question? yes
Documentation? yes
Related tickets comma-separated list of related tickets

My configuration

# grumphp.yml
grumphp:
    hooks_preset: local
    process_timeout: 600
    fixer:
        enabled: true
        fix_by_default: true
    parallel:
        enabled: true
        max_workers: 32
    tasks:
        # ant: ~
        # atoum: ~
        # behat_functional:
        #     config: './behat.yml.dist'
        #     suite: functional
        #     metadata:
        #         task: behat
        # behat_acceptance:
        #     config: './behat.yml.dist'
        #     suite: acceptance
        #     metadata:
        #         task: behat
        # brunch: ~
        # clover_coverage: ~
        # codeception: ~
        # composer: ~
        # composer_normalize: ~
        # composer_require_checker: ~
        # composer_script: ~
        # deptrac: ~
        # doctrine_orm: ~
        # ecs: ~
        # eslint: ~
        # file_size: ~
        # gherkin: ~
        # git_blacklist: ~
        # git_branch_name: ~
        # git_commit_message: ~
        # grunt: ~
        # gulp: ~
        # infection: ~
        # jsonlint: ~
        # kahlan: ~
        # make: ~
        # npm_script: ~
        # paratest: ~
        # pest: ~
        # phan: ~        
        # phing: ~
        # php7cc: ~
        phpcpd:
            directory: ['./src', './tests']
            min_lines: 30
        # phpcs: ~
        phpcsfixer:
            verbose: false
            rules: ['@PSR1', '@PSR2', '@Symfony', '@PhpCsFixer', -concat_space]
        # phplint: ~
        phpmd:
            whitelist_patterns: ['/^src\/(.*)/', '/^tests\/(.*)/']
            ruleset: ['cleancode', 'codesize', 'controversial', 'design', 'unusedcode', 'naming']
        phpmnd:
            directory: 'src'
        # phpparser: ~
        # phpspec: ~
        phpstan:
            configuration: './phpstan.neon'
        phpunit:
            config_file: './phpunit.xml.dist'
            testsuite: 'Unit'
        # phpunitbridge: ~
        # phpversion: ~
        # progpilot: ~
        # psalm: ~    
        # robo: ~
        # securitychecker_enlightn: ~
        # securitychecker_local: ~
        # securitychecker_roave: ~
        # securitychecker_symfony: ~
        # shell: ~
        # stylelint: ~
        # tester: ~
        twigcs:
          path: './templates'
          ruleset: 'Allocine\Twigcs\Ruleset\Official'
        # xmllint: ~
        yamllint: ~
.

Steps to reproduce:

# Generate empty folder
mkdir tmp
cd tmp
git init
echo "vendor" > .gitignore
pbpaste > grumphp.yml
composer require --dev phpro/grumphp

# Your actions
# Please add the steps on how to reproduce the issue here.

# Run GrumPHP:
git add .
git commit -a -m 'test'
# or
./vendor/bin/grumphp run

Result: Grumphp runs fine the first time then if I run it again it give this error:

Running tasks with priority 0!
==============================

Running task 1/8: phpcpd...
Running task 2/8: phpcsfixer...
Running task 3/8: phpmd...
Running task 4/8: phpmnd...
Running task 5/8: phpstan...
Running task 6/8: phpunit...
Running task 7/8: twigcs...
Running task 8/8: yamllint...
Running task 1/8: phpcpd... 
Running task 2/8: phpcsfixer...
Running task 3/8: phpmd...
Running task 4/8: phpmnd...
Running task 5/8: phpstan...
Running task 6/8: phpunit...
Running task 7/8: twigcs...
Running task 8/8: yamllint...
PHP Fatal error:  Uncaught Error: Promise has already been resolved, define environment variable AMP_DEBUG or const AMP_DEBUG = true and enable assertions for a stacktrace of the previous resolution. in C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\Internal\Placeholder.php:114
Stack trace:
#0 C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\Internal\Placeholder.php(177): Amp\Coroutine->resolve(Object(Amp\Failure))
#1 C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\Coroutine.php(137): Amp\Coroutine->fail(Object(Amp\Process\ProcessException))
#2 C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\Internal\Placeholder.php(149): Amp\Coroutine->Amp\{closure}(NULL, Object(Amp\Parallel\Worker\Internal\TaskSuccess))
#3 C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\Coroutine.php(123): Amp\Coroutine->resolve(Object(Amp\Parallel\Worker\Internal\TaskSuccess))
#4 C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\Internal\Placeholder.php(149): Amp\Coroutine->Amp\{closure}(NULL, Object(Amp\Parallel\Worker\Internal\TaskSuccess) in C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\functions.php on line 231

Fatal error: Uncaught Error: Promise has already been resolved, define environment variable AMP_DEBUG or const AMP_DEBUG = true and enable assertions for a stacktrace of the previous resolution. in C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\functions.php on line 231

Error: Promise has already been resolved, define environment variable AMP_DEBUG or const AMP_DEBUG = true and enable assertions for a stacktrace of the previous resolution. in C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\Internal\Placeholder.php on line 114

Call Stack:
    0.1984     410480   1. {main}() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\bin\grumphp:0
    0.1985     410800   2. {closure:C:\xampp\htdocs\administrator\vendor\phpro\grumphp\bin\grumphp:8-51}() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\bin\grumphp:51
    0.6376    7120808   3. Symfony\Component\Console\Application->run() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\bin\grumphp:50
    0.7194    7131336   4. Symfony\Component\Console\Application->doRun() C:\xampp\htdocs\administrator\vendor\symfony\console\Application.php:149
    0.7555    8444640   5. Symfony\Component\Console\Application->doRunCommand() C:\xampp\htdocs\administrator\vendor\symfony\console\Application.php:273
    0.7567    8455688   6. GrumPHP\Console\Command\Git\PreCommitCommand->run() C:\xampp\htdocs\administrator\vendor\symfony\console\Application.php:1027
    0.7570    8456704   7. GrumPHP\Console\Command\Git\PreCommitCommand->execute() C:\xampp\htdocs\administrator\vendor\symfony\console\Command\Command.php:255
    0.7655    8761104   8. GrumPHP\Runner\TaskRunner->run() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Console\Command\Git\PreCommitCommand.php:86
    0.7655    8761232   9. GrumPHP\Runner\MiddlewareStack->handle() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\TaskRunner.php:31
    0.7655    8761232  10. GrumPHP\Runner\MiddlewareStack::GrumPHP\Runner\{closure:C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:50-55}() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:38
    0.7655    8761232  11. GrumPHP\Runner\Middleware\FixCodeMiddleware->handle() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:54
    0.7655    8761232  12. GrumPHP\Runner\MiddlewareStack::GrumPHP\Runner\{closure:C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:50-55}() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\Middleware\FixCodeMiddleware.php:26
    0.7655    8761232  13. GrumPHP\Runner\Middleware\TasksFilteringRunnerMiddleware->handle() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:54
    0.7656    8761792  14. GrumPHP\Runner\MiddlewareStack::GrumPHP\Runner\{closure:C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:50-55}() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\Middleware\TasksFilteringRunnerMiddleware.php:20
    0.7656    8761792  15. GrumPHP\Runner\Middleware\ReportingRunnerMiddleware->handle() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:54
    0.7657    8761792  16. GrumPHP\Runner\MiddlewareStack::GrumPHP\Runner\{closure:C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:50-55}() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\Middleware\ReportingRunnerMiddleware.php:26
    0.7657    8761792  17. GrumPHP\Runner\Middleware\EventDispatchingRunnerMiddleware->handle() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:54
    0.7683    8784408  18. GrumPHP\Runner\MiddlewareStack::GrumPHP\Runner\{closure:C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:50-55}() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\Middleware\EventDispatchingRunnerMiddleware.php:34
    0.7683    8784408  19. GrumPHP\Runner\Middleware\GroupByPriorityMiddleware->handle() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:54
    0.7725    8926080  20. GrumPHP\Runner\MiddlewareStack::GrumPHP\Runner\{closure:C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:50-55}() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\Middleware\GroupByPriorityMiddleware.php:41
    0.7725    8926080  21. GrumPHP\Runner\Middleware\ReportingTasksSectionRunnerMiddleware->handle() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:54
    0.7725    8926776  22. GrumPHP\Runner\Reporting\TaskResultsReporter->runInSection() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\Middleware\ReportingTasksSectionRunnerMiddleware.php:33     
    0.7731    8946104  23. GrumPHP\Runner\Middleware\ReportingTasksSectionRunnerMiddleware->GrumPHP\Runner\Middleware\{closure:C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\Middleware\ReportingTasksSectionRunnerMiddleware.php:29-33}() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\Reporting\TaskResultsReporter.php:51
    0.7734    8946104  24. GrumPHP\Runner\MiddlewareStack::GrumPHP\Runner\{closure:C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:50-55}() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\Middleware\ReportingTasksSectionRunnerMiddleware.php:32
    0.7734    8946104  25. GrumPHP\Runner\Middleware\HandleRunnerMiddleware->handle() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\MiddlewareStack.php:54
    0.7900    9333968  26. Amp\Promise\wait() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\src\Runner\Middleware\HandleRunnerMiddleware.php:68
    0.7901    9334736  27. Amp\Loop::run() C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\functions.php:229
    0.7901    9335632  28. Amp\Loop\NativeDriver->run() C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\Loop.php:95
    1.9312   14492096  29. Amp\Loop\NativeDriver->tick() C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\Loop\Driver.php:72
    1.9314   14492096  30. Amp\Loop\NativeDriver->error() C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\Loop\Driver.php:133

Error: Loop exceptionally stopped without resolving the promise in C:\xampp\htdocs\administrator\vendor\amphp\amp\lib\functions.php on line 231

Call Stack:
    0.1984     410480   1. {main}() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\bin\grumphp:0
    0.1985     410800   2. {closure:C:\xampp\htdocs\administrator\vendor\phpro\grumphp\bin\grumphp:8-51}() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\bin\grumphp:51
    0.6376    7120808   3. Symfony\Component\Console\Application->run() C:\xampp\htdocs\administrator\vendor\phpro\grumphp\bin\grumphp:50
    0.7194    7131336   4. Symfony\Component\Console\Application->doRun() C:\xampp\htdocs\administrator\vendor\symfony\console\Application.php:149
    0.7555    8444640   5. Symfony\Component\Console\Application->doRunCommand() C:\xampp\htdocs\administrator\vendor\symfony\console\Application.php:273

Running task 1/8: phpcpd... 
Running task 2/8: phpcsfixer...
Running task 3/8: phpmd...
Running task 4/8: phpmnd...
Running task 5/8: phpstan...
Running task 6/8: phpunit...
Running task 7/8: twigcs...
Running task 8/8: yamllint...
Running task 1/8: phpcpd... ✔
Running task 2/8: phpcsfixer...
Running task 3/8: phpmd...
Running task 4/8: phpmnd...
Running task 5/8: phpstan...
Running task 6/8: phpunit...
Running task 7/8: twigcs...
Running task 8/8: yamllint...
PHP Fatal error:  Uncaught Amp\Process\ProcessException: Terminating process failed in C:\xampp\htdocs\administrator\vendor\amphp\process\lib\Internal\Windows\Runner.php:155
Stack trace:
#0 C:\xampp\htdocs\administrator\vendor\amphp\process\lib\Process.php(141): Amp\Process\Internal\Windows\Runner->kill(Object(Amp\Process\Internal\Windows\Handle))
#1 C:\xampp\htdocs\administrator\vendor\amphp\parallel\lib\Context\Process.php(395): Amp\Process\Process->kill()
#2 C:\xampp\htdocs\administrator\vendor\amphp\parallel\lib\Worker\Internal\WorkerProcess.php(57): Amp\Parallel\Context\Process->kill()
#3 C:\xampp\htdocs\administrator\vendor\amphp\parallel\lib\Worker\TaskWorker.php(64): Amp\Parallel\Worker\Internal\WorkerProcess->kill()
#4 [internal function]: Amp\Parallel\Worker\TaskWorker::Amp\Parallel\Worker\{closure}()
#5 {main}
  thrown in C:\xampp\htdocs\administrator\vendor\amphp\process\lib\Internal\Windows\Runner.php on line 155

Fatal error: Uncaught Amp\Process\ProcessException: Terminating process failed in C:\xampp\htdocs\administrator\vendor\amphp\process\lib\Internal\Windows\Runner.php on line 155

Amp\Process\ProcessException: Terminating process failed in C:\xampp\htdocs\administrator\vendor\amphp\process\lib\Internal\Windows\Runner.php on line 155

Call Stack:
    2.2247   14531248   1. Amp\Parallel\Worker\TaskWorker::Amp\Parallel\Worker\{closure:C:\xampp\htdocs\administrator\vendor\amphp\parallel\lib\Worker\TaskWorker.php:48-67}() C:\xampp\htdocs\administrator\vendor\amphp\parallel\lib\Worker\TaskWorker.php:0
    3.2571   14811496   2. Amp\Parallel\Worker\Internal\WorkerProcess->kill() C:\xampp\htdocs\administrator\vendor\amphp\parallel\lib\Worker\TaskWorker.php:64
    3.2571   14811496   3. Amp\Parallel\Context\Process->kill() C:\xampp\htdocs\administrator\vendor\amphp\parallel\lib\Worker\Internal\WorkerProcess.php:57
    3.2571   14811496   4. Amp\Process\Process->kill() C:\xampp\htdocs\administrator\vendor\amphp\parallel\lib\Context\Process.php:395
    3.2571   14811496   5. Amp\Process\Internal\Windows\Runner->kill() C:\xampp\htdocs\administrator\vendor\amphp\process\lib\Process.php:141
veewee commented 2 years ago

Hello,

Version 0.19.1 is quite old and we don't provide active support for it anymore. We've had some loop issues with amp on windows previously which should be resolved in the latest versions; Can you upgrade grumphp and see if this is still an issue?

talhaamir4130 commented 2 years ago

doesn't composer require --dev phpro/grumphp automatically gives me the latest version ?

veewee commented 2 years ago

it depends on the version of your dependencies.