-
-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Description
Bug Report
| Subject | Details |
|---|---|
| slam/phpstan-laminas-framework | v1.4.0 |
| nikic/php-parser version | v5.4.0 |
| phpstan/phpstan | v1.12.24 |
| laminas/laminas-modulemanager | 2.17.0 |
| brick/varexporter | 0.5.0 |
| php version | 8.1.31 |
I get an exception with PHP8.1 pipeline that can be fixed only by setting 'config_cache_enabled' => false, in the laminas application.
I could not fix it by requiring "nikic/php-parser": "^4" because in that case PHP8.4 pipeline would not work.
The issue is hard to reproduce but I like to share my stack trace and solution (turn off lamians cache) anyway, because it took me many hours to find that...
Fatal error: Uncaught Error: Call to undefined method PhpParser\ParserFactory::createForVersion() in /builds/xxxxxxxxx/vendor/brick/varexporter/src/Internal/ObjectExporter/ClosureExporter.php:71
Stack trace:
#0 /builds/xxxxxxxxx/vendor/brick/varexporter/src/Internal/ObjectExporter/ClosureExporter.php(102): Brick\VarExporter\Internal\ObjectExporter\ClosureExporter->getParser()
#1 /builds/xxxxxxxxx/vendor/brick/varexporter/src/Internal/ObjectExporter/ClosureExporter.php(49): Brick\VarExporter\Internal\ObjectExporter\ClosureExporter->parseFile('/builds/xxxxxx...', Array)
#2 /builds/xxxxxxxxx/vendor/brick/varexporter/src/Internal/GenericExporter.php(276): Brick\VarExporter\Internal\ObjectExporter\ClosureExporter->export(Object(Closure), Object(ReflectionObject), Array, Array)
#3 /builds/xxxxxxxxx/vendor/brick/varexporter/src/Internal/GenericExporter.php(148): Brick\VarExporter\Internal\GenericExporter->exportObject(Object(Closure), Array, Array)
#4 /builds/xxxxxxxxx/vendor/brick/varexporter/src/Internal/GenericExporter.php(188): Brick\VarExporter\Internal\GenericExporter->export(Object(Closure), Array, Array)
#5 /builds/xxxxxxxxx/vendor/brick/varexporter/src/Internal/GenericExporter.php(144): Brick\VarExporter\Internal\GenericExporter->exportArray(Array, Array, Array)
#6 /builds/xxxxxxxxx/vendor/brick/varexporter/src/Internal/GenericExporter.php(188): Brick\VarExporter\Internal\GenericExporter->export(Array, Array, Array)
#7 /builds/xxxxxxxxx/vendor/brick/varexporter/src/Internal/GenericExporter.php(144): Brick\VarExporter\Internal\GenericExporter->exportArray(Array, Array, Array)
#8 /builds/xxxxxxxxx/vendor/brick/varexporter/src/Internal/GenericExporter.php(188): Brick\VarExporter\Internal\GenericExporter->export(Array, Array, Array)
#9 /builds/xxxxxxxxx/vendor/brick/varexporter/src/Internal/GenericExporter.php(144): Brick\VarExporter\Internal\GenericExporter->exportArray(Array, Array, Array)
#10 /builds/xxxxxxxxx/vendor/brick/varexporter/src/VarExporter.php(90): Brick\VarExporter\Internal\GenericExporter->export(Array, Array, Array)
#11 /builds/xxxxxxxxx/vendor/laminas/laminas-modulemanager/src/Listener/AbstractListener.php(51): Brick\VarExporter\VarExporter::export(Array, 257)
#12 /builds/xxxxxxxxx/vendor/laminas/laminas-modulemanager/src/Listener/ConfigListener.php(157): Laminas\ModuleManager\Listener\AbstractListener->writeArrayToFile('data/cache/modu...', Array)
#13 /builds/xxxxxxxxx/vendor/laminas/laminas-eventmanager/src/EventManager.php(318): Laminas\ModuleManager\Listener\ConfigListener->onLoadModules(Object(Laminas\ModuleManager\ModuleEvent))
#14 /builds/xxxxxxxxx/vendor/laminas/laminas-eventmanager/src/EventManager.php(168): Laminas\EventManager\EventManager->triggerListeners(Object(Laminas\ModuleManager\ModuleEvent))
#15 /builds/xxxxxxxxx/vendor/laminas/laminas-modulemanager/src/ModuleManager.php(99): Laminas\EventManager\EventManager->triggerEvent(Object(Laminas\ModuleManager\ModuleEvent))
#16 /builds/xxxxxxxxx/vendor/laminas/laminas-mvc/src/Application.php(251): Laminas\ModuleManager\ModuleManager->loadModules()
#17 /builds/xxxxxxxxx/tests/service-manager.php(7): Laminas\Mvc\Application::init(Array)
#18 /builds/xxxxxxxxx/vendor/slam/phpstan-laminas-framework/src/ServiceManagerLoader.php(56): require('/builds/xxxxxx...')
#19 /tmp/phpstan/cache/nette.configurator/Container_c7c7fabf4b.php(5551): LaminasPhpStan\ServiceManagerLoader->__construct('tests/service-m...')
#20 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/nette/di/src/DI/Container.php(174): Container_c7c7fabf4b->createService0496()
#21 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/nette/di/src/DI/Container.php(245): _PHPStan_7c0c857f7\Nette\DI\Container->_PHPStan_7c0c857f7\Nette\DI\{closure}()
#22 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/nette/di/src/DI/Container.php(175): _PHPStan_7c0c857f7\Nette\DI\Container->preventDeadLock('0496', Object(Closure))
#23 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/nette/di/src/DI/Container.php(112): _PHPStan_7c0c857f7\Nette\DI\Container->createService('0496')
#24 /tmp/phpstan/cache/nette.configurator/Container_c7c7fabf4b.php(5586): _PHPStan_7c0c857f7\Nette\DI\Container->getService('0496')
#25 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/nette/di/src/DI/Container.php(174): Container_c7c7fabf4b->createService0500()
#26 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/nette/di/src/DI/Container.php(245): _PHPStan_7c0c857f7\Nette\DI\Container->_PHPStan_7c0c857f7\Nette\DI\{closure}()
#27 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/nette/di/src/DI/Container.php(175): _PHPStan_7c0c857f7\Nette\DI\Container->preventDeadLock('0500', Object(Closure))
#28 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/nette/di/src/DI/Container.php(112): _PHPStan_7c0c857f7\Nette\DI\Container->createService('0500')
#29 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/src/DependencyInjection/Nette/NetteContainer.php(33): _PHPStan_7c0c857f7\Nette\DI\Container->getService('0500')
#30 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/src/DependencyInjection/Nette/NetteContainer.php(87): PHPStan\DependencyInjection\Nette\NetteContainer->getService('0500')
#31 [internal function]: PHPStan\DependencyInjection\Nette\NetteContainer->PHPStan\DependencyInjection\Nette\{closure}('0500')
#32 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/src/DependencyInjection/Nette/NetteContainer.php(88): array_map(Object(Closure), Array)
#33 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/src/DependencyInjection/Nette/NetteContainer.php(57): PHPStan\DependencyInjection\Nette\NetteContainer->tagsToServices(Array)
#34 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/src/DependencyInjection/MemoizingContainer.php(42): PHPStan\DependencyInjection\Nette\NetteContainer->getServicesByTag('phpstan.broker....')
#35 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/TypeSpecifierFactory.php(27): PHPStan\DependencyInjection\MemoizingContainer->getServicesByTag('phpstan.broker....')
#36 /tmp/phpstan/cache/nette.configurator/Container_c7c7fabf4b.php(7056): PHPStan\Analyser\TypeSpecifierFactory->create()
#37 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/nette/di/src/DI/Container.php(174): Container_c7c7fabf4b->createServiceTypeSpecifier()
#38 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/nette/di/src/DI/Container.php(245): _PHPStan_7c0c857f7\Nette\DI\Container->_PHPStan_7c0c857f7\Nette\DI\{closure}()
#39 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/nette/di/src/DI/Container.php(175): _PHPStan_7c0c857f7\Nette\DI\Container->preventDeadLock('typeSpecifier', Object(Closure))
#40 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/nette/di/src/DI/Container.php(112): _PHPStan_7c0c857f7\Nette\DI\Container->createService('typeSpecifier')
#41 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/src/DependencyInjection/Nette/NetteContainer.php(33): _PHPStan_7c0c857f7\Nette\DI\Container->getService('typeSpecifier')
#42 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/src/DependencyInjection/MemoizingContainer.php(25): PHPStan\DependencyInjection\Nette\NetteContainer->getService('typeSpecifier')
#43 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/src/DependencyInjection/ContainerFactory.php(150): PHPStan\DependencyInjection\MemoizingContainer->getService('typeSpecifier')
#44 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/src/DependencyInjection/ContainerFactory.php(127): PHPStan\DependencyInjection\ContainerFactory::postInitializeContainer(Object(PHPStan\DependencyInjection\MemoizingContainer))
#45 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/src/Command/CommandHelper.php(284): PHPStan\DependencyInjection\ContainerFactory->create('/tmp/phpstan', Array, Array, Array, Array, '9', NULL, NULL)
#46 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/src/Command/AnalyseCommand.php(132): PHPStan\Command\CommandHelper::begin(Object(_PHPStan_7c0c857f7\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_7c0c857f7\Symfony\Component\Console\Output\ConsoleOutput), Array, '2G', NULL, Array, '/builds/xxxxxx...', NULL, '9', false, false)
#47 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259): PHPStan\Command\AnalyseCommand->execute(Object(_PHPStan_7c0c857f7\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_7c0c857f7\Symfony\Component\Console\Output\ConsoleOutput))
#48 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(870): _PHPStan_7c0c857f7\Symfony\Component\Console\Command\Command->run(Object(_PHPStan_7c0c857f7\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_7c0c857f7\Symfony\Component\Console\Output\ConsoleOutput))
#49 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(261): _PHPStan_7c0c857f7\Symfony\Component\Console\Application->doRunCommand(Object(PHPStan\Command\AnalyseCommand), Object(_PHPStan_7c0c857f7\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_7c0c857f7\Symfony\Component\Console\Output\ConsoleOutput))
#50 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157): _PHPStan_7c0c857f7\Symfony\Component\Console\Application->doRun(Object(_PHPStan_7c0c857f7\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_7c0c857f7\Symfony\Component\Console\Output\ConsoleOutput))
#51 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(127): _PHPStan_7c0c857f7\Symfony\Component\Console\Application->run()
#52 phar:///builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(128): _PHPStan_7c0c857f7\{closure}()
#53 /builds/xxxxxxxxx/vendor/phpstan/phpstan/phpstan(8): require('phar:///builds/...')
#54 /builds/xxxxxxxxx/vendor/bin/phpstan(119): include('/builds/xxxxxx...')
#55 {main}
Metadata
Metadata
Assignees
Labels
No labels