Skip to content

Fatal error: Call to a member function end() on null #9722

@staabm

Description

@staabm

Bug report

somehow phpstan got into a state which makes analysis run into the following fatal error

> vendor/bin/phpstan analyse -c phpstan.neon.dist
  40/265 [====>-----------------------]  15Fatal error:  Uncaught Error: Call to a member function end() on null in phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/src/Parallel/Process.php:127
Stack trace:
#0 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/src/Parallel/ProcessPool.php(45): PHPStan\Parallel\Process->quit()
#1 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/src/Parallel/ProcessPool.php(55): PHPStan\Parallel\ProcessPool->quitProcess()
#2 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/src/Parallel/ParallelAnalyser.php(154): PHPStan\Parallel\ProcessPool->quitAll()
#3 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/src/Parallel/Process.php(137): PHPStan\Parallel\ParallelAnalyser->PHPStan\Parallel\{closure}()
#4 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): PHPStan\Parallel\Process->PHPStan\Parallel\{closure}()
#5 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/vendor/clue/ndjson-react/src/Decoder.php(117): _PHPStan_d55c4f2c2\Evenement\EventEmitter->emit()
#6 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): _PHPStan_d55c4f2c2\Clue\React\NDJson\Decoder->handleData()
#7 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/Util.php(62): _PHPStan_d55c4f2c2\Evenement\EventEmitter->emit()
#8 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): _PHPStan_d55c4f2c2\React\Stream\Util::_PHPStan_d55c4f2c2\React\Stream\{closure}()
#9 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/DuplexResourceStream.php(154): _PHPStan_d55c4f2c2\Evenement\EventEmitter->emit()
#10 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(201): _PHPStan_d55c4f2c2\React\Stream\DuplexResourceStream->handleData()
#11 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(173): _PHPStan_d55c4f2c2\React\EventLoop\StreamSelectLoop->waitForStreamActivity()
#12 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/src/Parallel/ParallelAnalyser.php(179): _PHPStan_d55c4f2c2\React\EventLoop\StreamSelectLoop->run()
#13 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/src/Command/AnalyserRunner.php(60): PHPStan\Parallel\ParallelAnalyser->analyse()
#14 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/src/Command/AnalyseApplication.php(207): PHPStan\Command\AnalyserRunner->runAnalyser()
#15 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/src/Command/AnalyseApplication.php(100): PHPStan\Command\AnalyseApplication->runAnalyser()
#16 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/src/Command/AnalyseCommand.php(195): PHPStan\Command\AnalyseApplication->analyse()
#17 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259): PHPStan\Command\AnalyseCommand->execute()
#18 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(870): _PHPStan_d55c4f2c2\Symfony\Component\Console\Command\Command->run()
#19 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(261): _PHPStan_d55c4f2c2\Symfony\Component\Console\Application->doRunCommand()
#20 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157): _PHPStan_d55c4f2c2\Symfony\Component\Console\Application->doRun()
#21 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(124): _PHPStan_d55c4f2c2\Symfony\Component\Console\Application->run()
#22 phar://C:/dvl/Workspace/php-rocket/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(125): _PHPStan_d55c4f2c2\{closure}()
#23 C:\dvl\Workspace\php-rocket\vendor\phpstan\phpstan\phpstan(8): require('...')
#24 C:\dvl\Workspace\php-rocket\vendor\bin\phpstan(119): include('...')
#25 {main}

I don't have a reproducer but maybe its still a useful stacktrace and something which can be fixed by just adding a null-check

using PHPStan 1.10.26

$ php -v
PHP 8.2.7 (cli) (built: Jun  7 2023 10:25:24) (NTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies

running on windows11 x64 - with latest updates

Code snippet that reproduces the problem

No response

Expected output

no fatal error

Did PHPStan help you today? Did it make you happy in any way?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions