Skip to content
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

1.8.6 out of memory errors #8054

Closed
staabm opened this issue Sep 23, 2022 · 12 comments
Closed

1.8.6 out of memory errors #8054

staabm opened this issue Sep 23, 2022 · 12 comments

Comments

@staabm
Copy link
Contributor

staabm commented Sep 23, 2022

Bug report

since update to 1.8.6 we see out of memory errors.. a codebae which previously worked on 4GB memory limit does not even work with 20GB

Fatal error: Allowed memory size of 4294967296 bytes exhausted (tried to allocate 262144 bytes) in C:\dvl\Workspace\phpstan-src-staabm\src\Reflection\BetterReflection\BetterReflectionProvider.php on line 335

Code snippet that reproduces the problem

I could not yet isolate the code required to trigger it, but bisecting 1.8.5...1.8.6 revealed that this rather innocent commit phpstan/phpstan-src@ec28678 created the problem.

just reverting this single commit from 1.8.6 makes everything working for us.

Expected output

no memory problems

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

all day, every day <3 ;)

@mergeable
Copy link

mergeable bot commented Sep 23, 2022

This bug report is missing a link to reproduction at phpstan.org/try.

It will most likely be closed after manual review.

@ondrejmirtes
Copy link
Member

Please:

  1. Show some statistics on how much time and memory is consumed before and after
  2. If the memory consumed after is a lot higher and not just a few MBs, please create a small reproducing repository that shows the problem.

Currently the issue doesn't give any actionable info.

@staabm
Copy link
Contributor Author

staabm commented Sep 23, 2022

  1. Show some statistics on how much time and memory is consumed before and after

it crashes on the very first file before any before/after

Currently the issue doesn't give any actionable info.

at least we could revert the commit ;). but sure, I need to find a repro.. not that easy though

I will see what I can do

@staabm
Copy link
Contributor Author

staabm commented Sep 23, 2022

just reduced the file to

<?php

class Bootstrap
{
    protected function _initModuleCms()
    {
        APPLICATION_ROOT;
    }
}

as soon as this constant is contained it explodes.

phpstan.neon

parameters:
    level: 5
    paths:
        - .
        - ../../public/fare.de/

as soon as I remove ../../public/fare.de/ from the paths it works.. will go deeper now

@ondrejmirtes
Copy link
Member

Some define() call will be the reason for this problem.

@staabm
Copy link
Contributor Author

staabm commented Sep 23, 2022

within ../../public/fare.de/ there is a boot.php file (besides a few other files).

I can reduce the file to

<?php
defined('APP_ROOT') || define('APP_ROOT', APPLICATION_ROOT);

when removing the define line it no longer reproduces.. no luck yet in reproducing it outside my app yet though
(before reducing the file, APPLICATION_ROOT was defined within this file.. so it is not related to whether the constant is defined before or not)

@staabm
Copy link
Contributor Author

staabm commented Sep 23, 2022

just pushed a repo in which I can locally reproduce:

https://github.com/staabm/phpstan-bug8054

I guess the main culprit is, that files are beeing analyzed which contain procedural code and define constants

@ondrejmirtes
Copy link
Member

Here's the stack trace of the infinite recursion:

click here

/Users/ondrej/Downloads/phpstan-bug8054/application/fare.de/Bootstrap.php
Uncaught Error: Xdebug has detected a possible infinite loop, and aborted your script with a stack depth of '200' frames in /Users/ondrej/Development/phpstan/src/DependencyInjection/MemoizingContainer.php:27
#0 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/LazyReflectionProviderProvider.php(17): PHPStan\DependencyInjection\MemoizingContainer->getByType('PHPStan\\Reflect...')
#1 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(291): PHPStan\Reflection\ReflectionProvider\LazyReflectionProviderProvider->getReflectionProvider()
#2 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(38): PHPStan\Analyser\ConstantResolver->getReflectionProvider()
#3 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#4 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#5 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#6 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#7 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#8 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#9 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#10 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#11 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#12 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#13 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#14 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#15 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#16 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#17 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#18 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#19 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#20 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#21 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#22 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#23 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#24 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#25 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#26 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#27 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#28 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#29 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#30 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#31 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#32 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#33 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#34 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#35 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#36 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#37 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#38 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#39 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#40 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#41 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#42 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#43 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#44 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#45 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#46 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#47 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#48 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#49 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#50 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#51 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#52 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#53 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#54 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#55 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#56 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#57 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#58 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#59 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#60 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#61 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#62 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#63 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#64 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#65 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#66 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#67 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#68 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#69 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#70 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#71 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#72 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#73 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#74 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#75 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#76 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#77 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#78 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#79 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#80 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#81 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#82 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#83 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#84 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#85 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#86 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#87 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#88 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#89 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#90 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#91 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#92 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#93 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#94 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#95 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#96 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#97 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#98 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#99 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#100 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#101 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#102 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#103 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#104 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#105 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#106 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#107 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#108 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#109 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#110 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#111 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#112 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#113 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#114 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#115 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#116 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#117 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#118 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#119 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#120 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#121 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#122 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#123 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#124 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#125 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#126 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#127 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#128 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#129 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#130 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#131 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#132 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#133 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#134 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#135 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#136 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#137 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#138 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#139 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#140 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#141 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#142 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#143 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#144 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#145 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#146 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#147 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#148 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#149 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#150 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#151 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#152 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#153 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#154 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#155 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#156 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#157 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#158 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#159 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#160 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#161 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#162 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#163 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#164 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#165 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#166 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#167 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#168 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#169 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#170 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#171 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#172 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#173 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#174 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#175 /Users/ondrej/Development/phpstan/src/Reflection/InitializerExprTypeResolver.php(113): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Reflection\InitializerExprContext))
#176 /Users/ondrej/Development/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php(335): PHPStan\Reflection\InitializerExprTypeResolver->getType(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Reflection\InitializerExprContext))
#177 /Users/ondrej/Development/phpstan/src/Reflection/ReflectionProvider/MemoizingReflectionProvider.php(91): PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Analyser\MutatingScope))
#178 /Users/ondrej/Development/phpstan/src/Analyser/ConstantResolver.php(50): PHPStan\Reflection\ReflectionProvider\MemoizingReflectionProvider->getConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Analyser\MutatingScope))
#179 /Users/ondrej/Development/phpstan/src/Analyser/MutatingScope.php(1668): PHPStan\Analyser\ConstantResolver->resolveConstant(Object(PhpParser\Node\Name\FullyQualified), Object(PHPStan\Analyser\MutatingScope))
#180 /Users/ondrej/Development/phpstan/src/Analyser/MutatingScope.php(662): PHPStan\Analyser\MutatingScope->resolveType(Object(PhpParser\Node\Expr\ConstFetch))
#181 /Users/ondrej/Development/phpstan/src/Analyser/NodeScopeResolver.php(1666): PHPStan\Analyser\MutatingScope->getType(Object(PhpParser\Node\Expr\ConstFetch))
#182 /Users/ondrej/Development/phpstan/src/Analyser/NodeScopeResolver.php(596): PHPStan\Analyser\NodeScopeResolver->findEarlyTerminatingExpr(Object(PhpParser\Node\Expr\ConstFetch), Object(PHPStan\Analyser\MutatingScope))
#183 /Users/ondrej/Development/phpstan/src/Analyser/NodeScopeResolver.php(287): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Expression), Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#184 /Users/ondrej/Development/phpstan/src/Analyser/NodeScopeResolver.php(548): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\ClassMethod), Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#185 /Users/ondrej/Development/phpstan/src/Analyser/NodeScopeResolver.php(287): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\ClassMethod), Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Node\ClassStatementsGatherer))
#186 /Users/ondrej/Development/phpstan/src/Analyser/NodeScopeResolver.php(647): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Class_), Array, Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Node\ClassStatementsGatherer))
#187 /Users/ondrej/Development/phpstan/src/Analyser/NodeScopeResolver.php(246): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Class_), Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#188 /Users/ondrej/Development/phpstan/src/Analyser/FileAnalyser.php(178): PHPStan\Analyser\NodeScopeResolver->processNodes(Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#189 /Users/ondrej/Development/phpstan/src/Analyser/Analyser.php(70): PHPStan\Analyser\FileAnalyser->analyseFile('/Users/ondrej/D...', Array, Object(PHPStan\Rules\Registry), Object(PHPStan\Collectors\Registry), NULL)
#190 /Users/ondrej/Development/phpstan/src/Command/AnalyserRunner.php(75): PHPStan\Analyser\Analyser->analyse(Array, Object(Closure), Object(Closure), true, Array)
#191 /Users/ondrej/Development/phpstan/src/Command/AnalyseApplication.php(229): PHPStan\Command\AnalyserRunner->runAnalyser(Array, Array, Object(Closure), Object(Closure), true, true, '/Users/ondrej/D...', NULL, NULL, Object(Symfony\Component\Console\Input\ArgvInput))
#192 /Users/ondrej/Development/phpstan/src/Command/AnalyseApplication.php(79): PHPStan\Command\AnalyseApplication->runAnalyser(Array, Array, true, '/Users/ondrej/D...', Object(PHPStan\Command\Symfony\SymfonyOutput), Object(PHPStan\Command\Symfony\SymfonyOutput), Object(Symfony\Component\Console\Input\ArgvInput))
#193 /Users/ondrej/Development/phpstan/src/Command/AnalyseCommand.php(230): PHPStan\Command\AnalyseApplication->analyse(Array, false, Object(PHPStan\Command\Symfony\SymfonyOutput), Object(PHPStan\Command\Symfony\SymfonyOutput), false, true, '/Users/ondrej/D...', Array, Object(Symfony\Component\Console\Input\ArgvInput))
#194 /Users/ondrej/Development/phpstan/vendor/symfony/console/Command/Command.php(298): PHPStan\Command\AnalyseCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#195 /Users/ondrej/Development/phpstan/vendor/symfony/console/Application.php(1024): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#196 /Users/ondrej/Development/phpstan/vendor/symfony/console/Application.php(299): Symfony\Component\Console\Application->doRunCommand(Object(PHPStan\Command\AnalyseCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#197 /Users/ondrej/Development/phpstan/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#198 /Users/ondrej/Development/phpstan/bin/phpstan(169): Symfony\Component\Console\Application->run()
#199 /Users/ondrej/Development/phpstan/bin/phpstan(170): {closure}()
#200 {main}

@jannes-io
Copy link

Same here, we've been able to temporarily fix the issue by running in debug mode, so that may be a solution until it's fixed.

phpstan -vvv --debug analyze src

So somehow the issue doesn't exist in verbose debug mode, but without debug it runs into memory issues.

ondrejmirtes added a commit that referenced this issue Sep 29, 2022
@ondrejmirtes
Copy link
Member

Fixed: phpstan/phpstan-src@33771e5

Please test it: composer require --dev phpstan/phpstan:1.8.x-dev

@staabm
Copy link
Contributor Author

staabm commented Sep 29, 2022

my reproducer is fixed for me now. thank you

@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 31, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants