friendsoftwig / twigcs

The missing checkstyle for twig!
MIT License
341 stars 34 forks source link

twigcs crashes if array variable has more than 23 elements #165

Closed szaveri closed 3 years ago

szaveri commented 3 years ago

Xdebug seems to be firing a false positive infinite loop check when Twig template defined array contains more than 23 elements.

Works {% set var = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22] %}

Crashes {% set var = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23] %}

Warning: Uncaught Error: Xdebug has detected a possible infinite loop, and aborted your script with a stack depth of '256' frames in vendor/friendsoftwig/twigcs/src/RegEngine/Checker/RuleChecker.php:80
  thrown in vendor/friendsoftwig/twigcs/src/RegEngine/Checker/RuleChecker.php on line 80
    0.0233    2518600   3. FriendsOfTwig\Twigcs\Console\Application->doRun($input = class Symfony\Component\Console\Input\ArgvInput { private $tokens = [0 => '--severity', 1 => 'ignore', 2 => '--twig-version', 3 => '2', 4 => 'private/tpl/base.tpl']; private $parsed = []; protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = TRUE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = ['severity' => 'ignore', 'twig-version' => '2']; protected $arguments = ['paths' => [...]]; protected $interactive = TRUE }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private $stderr = class Symfony\Component\Console\Output\StreamOutput { private $stream = resource(90) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... } }; private $consoleSectionOutputs = []; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(82) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = FALSE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } } }) vendor/symfony/console/Application.php:166
    0.0243    2538480   4. FriendsOfTwig\Twigcs\Console\Application->doRunCommand($command = ..., $input = class Symfony\Component\Console\Input\ArgvInput { private $tokens = [0 => '--severity', 1 => 'ignore', 2 => '--twig-version', 3 => '2', 4 => 'private/tpl/base.tpl']; private $parsed = []; protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = TRUE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = ['severity' => 'ignore', 'twig-version' => '2']; protected $arguments = ['paths' => [...]]; protected $interactive = TRUE }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private $stderr = class Symfony\Component\Console\Output\StreamOutput { private $stream = resource(90) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... } }; private $consoleSectionOutputs = []; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(82) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = FALSE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } } }) vendor/symfony/console/Application.php:290
    0.0243    2538480   5. FriendsOfTwig\Twigcs\Console\LintCommand->run($input = class Symfony\Component\Console\Input\ArgvInput { private $tokens = [0 => '--severity', 1 => 'ignore', 2 => '--twig-version', 3 => '2', 4 => 'private/tpl/base.tpl']; private $parsed = []; protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = TRUE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = ['severity' => 'ignore', 'twig-version' => '2']; protected $arguments = ['paths' => [...]]; protected $interactive = TRUE }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private $stderr = class Symfony\Component\Console\Output\StreamOutput { private $stream = resource(90) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... } }; private $consoleSectionOutputs = []; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(82) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = FALSE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } } }) vendor/symfony/console/Application.php:971
    0.0244    2541680   6. FriendsOfTwig\Twigcs\Console\LintCommand->execute($input = class Symfony\Component\Console\Input\ArgvInput { private $tokens = [0 => '--severity', 1 => 'ignore', 2 => '--twig-version', 3 => '2', 4 => 'private/tpl/base.tpl']; private $parsed = []; protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $hasAnArrayArgument = TRUE; private $hasOptional = TRUE; private $options = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = ['severity' => 'ignore', 'twig-version' => '2']; protected $arguments = ['paths' => [...]]; protected $interactive = TRUE }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private $stderr = class Symfony\Component\Console\Output\StreamOutput { private $stream = resource(90) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... } }; private $consoleSectionOutputs = []; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(82) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = FALSE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } } }) vendor/symfony/console/Command/Command.php:255
    0.0450    3865528   7. FriendsOfTwig\Twigcs\Validator\Validator->validate($ruleset = class FriendsOfTwig\Twigcs\Ruleset\Official { private $twigMajorVersion = 2 }, $tokens = class FriendsOfTwig\Twigcs\TwigPort\TokenStream { private $tokens = [0 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 1 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 2 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 3 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 4 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 5 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 6 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 7 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 8 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 9 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 10 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 11 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 12 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 13 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 14 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 15 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 16 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 17 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 18 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 19 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 20 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 21 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 22 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 23 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 24 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 25 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 26 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 27 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 28 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 29 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 30 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 31 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 32 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 33 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 34 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 35 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 36 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 37 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 38 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 39 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 40 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 41 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 42 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 43 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 44 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 45 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 46 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 47 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 48 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 49 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 50 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 51 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 52 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 53 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 54 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 55 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 56 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 57 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 58 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 59 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 60 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 61 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 62 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 63 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 64 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 65 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 66 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 67 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 68 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 69 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 70 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 71 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 72 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 73 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 74 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 75 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 76 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 77 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 78 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 79 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 80 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 81 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 82 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 83 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 84 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 85 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 86 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 87 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 88 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 89 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 90 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 91 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 92 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 93 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 94 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 95 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 96 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 97 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 98 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 99 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 100 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 101 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 102 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 103 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 104 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 105 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 106 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 107 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 108 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 109 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 110 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 111 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 112 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 113 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 114 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 115 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 116 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 117 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 118 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 119 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 120 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 121 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 122 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 123 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 124 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 125 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 126 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 127 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, ...]; private $current = 0; private $source = class FriendsOfTwig\Twigcs\TwigPort\Source { private $code = '{% set enable_mobile_menu = template in [\'sessions\', \'signup_parental_consent\', \'invite_teen\', \'more\', \'account_client\', \'counselor-index\', \'switch_counselor\', \'groupinars\', \'groupinar\', \'faq\', \'support\', \'advice\', \'reviews\', \'about\', \'jobs\', \'counselors\', \'press\', \'privacy\', \'terms\', \'previousmessages\', \'journal\', \'journal_v2\', \'ask_a_counselor\', \'accessibility\'] and user.client and user.is_mobile and not data[\'is_org_admin\'] %}\n{% set mobile_menu_more_lin'; private $name = 'private/tpl/base.tpl'; private $path = 'private/tpl/base.tpl' } }) vendor/friendsoftwig/twigcs/src/Console/LintCommand.php:67
    0.0564    5116624   8. FriendsOfTwig\Twigcs\Rule\RegEngineRule->check($tokens = class FriendsOfTwig\Twigcs\TwigPort\TokenStream { private $tokens = [0 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 1 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 2 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 3 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 4 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 5 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 6 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 7 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 8 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 9 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 10 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 11 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 12 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 13 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 14 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 15 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 16 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 17 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 18 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 19 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 20 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 21 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 22 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 23 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 24 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 25 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 26 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 27 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 28 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 29 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 30 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 31 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 32 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 33 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 34 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 35 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 36 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 37 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 38 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 39 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 40 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 41 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 42 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 43 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 44 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 45 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 46 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 47 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 48 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 49 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 50 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 51 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 52 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 53 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 54 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 55 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 56 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 57 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 58 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 59 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 60 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 61 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 62 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 63 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 64 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 65 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 66 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 67 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 68 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 69 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 70 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 71 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 72 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 73 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 74 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 75 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 76 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 77 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 78 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 79 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 80 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 81 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 82 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 83 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 84 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 85 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 86 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 87 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 88 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 89 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 90 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 91 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 92 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 93 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 94 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 95 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 96 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 97 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 98 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 99 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 100 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 101 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 102 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 103 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 104 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 105 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 106 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 107 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 108 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 109 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 110 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 111 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 112 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 113 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 114 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 115 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 116 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 117 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 118 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 119 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 120 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 121 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 122 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 123 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 124 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 125 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 126 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, 127 => class FriendsOfTwig\Twigcs\TwigPort\Token { ... }, ...]; private $current = 2661; private $source = class FriendsOfTwig\Twigcs\TwigPort\Source { private $code = '{% set enable_mobile_menu = template in [\'sessions\', \'signup_parental_consent\', \'invite_teen\', \'more\', \'account_client\', \'counselor-index\', \'switch_counselor\', \'groupinars\', \'groupinar\', \'faq\', \'support\', \'advice\', \'reviews\', \'about\', \'jobs\', \'counselors\', \'press\', \'privacy\', \'terms\', \'previousmessages\', \'journal\', \'journal_v2\', \'ask_a_counselor\', \'accessibility\'] and user.client and user.is_mobile and not data[\'is_org_admin\'] %}\n{% set mobile_menu_more_lin'; private $name = 'private/tpl/base.tpl'; private $path = 'private/tpl/base.tpl' } }) vendor/friendsoftwig/twigcs/src/Validator/Validator.php:29
    0.0769    8916408   9. FriendsOfTwig\Twigcs\RegEngine\Linter->lint($expr = '{% set enable_mobile_menu = template in ["AAAAAAAA", "AAAAAAAAAAAAAAAAAAAAAAA", "AAAAAAAAAAA", "AAAA", "AAAAAAAAAAAAAA", "AAAAAAAAAAAAAAA", "AAAAAAAAAAAAAAAA", "AAAAAAAAAA", "AAAAAAAAA", "AAA", "AAAAAAA", "AAAAAA", "AAAAAAA", "AAAAA", "AAAA", "AAAAAAAAAA", "AAAAA", "AAAAAAA", "AAAAA", "AAAAAAAAAAAAAAAA", "AAAAAAA", "AAAAAAAAAA", "AAAAAAAAAAAAAAA", "AAAAAAAAAAAAA"] and user.client and user.is_mobile and not data["AAAAAAAAAAAA"] %}') vendor/friendsoftwig/twigcs/src/Rule/RegEngineRule.php:89
    0.0838    9019096  10. FriendsOfTwig\Twigcs\RegEngine\Checker\RuleChecker->check($report = class FriendsOfTwig\Twigcs\RegEngine\Checker\Report { private $errors = []; private $unrecognizedExpressions = [] }, $ruleset = 'arrayOrSlice', $text = '["AAAAAAAA", "AAAAAAAAAAAAAAAAAAAAAAA", "AAAAAAAAAAA", "AAAA", "AAAAAAAAAAAAAA", "AAAAAAAAAAAAAAA", "AAAAAAAAAAAAAAAA", "AAAAAAAAAA", "AAAAAAAAA", "AAA", "AAAAAAA", "AAAAAA", "AAAAAAA", "AAAAA", "AAAA", "AAAAAAAAAA", "AAAAA", "AAAAAAA", "AAAAA", "AAAAAAAAAAAAAAAA", "AAAAAAA", "AAAAAAAAAA", "AAAAAAAAAAAAAAA", "AAAAAAAAAAAAA"]', $offsetsMap = [0 => 40, 1 => 41, 2 => 42, 3 => 43, 4 => 44, 5 => 45, 6 => 46, 7 => 47, 8 => 48, 9 => 49, 10 => 50, 11 => 51, 12 => 52, 13 => 53, 14 => 54, 15 => 55, 16 => 56, 17 => 57, 18 => 58, 19 => 59, 20 => 60, 21 => 61, 22 => 62, 23 => 63, 24 => 64, 25 => 65, 26 => 66, 27 => 67, 28 => 68, 29 => 69, 30 => 70, 31 => 71, 32 => 72, 33 => 73, 34 => 74, 35 => 75, 36 => 76, 37 => 77, 38 => 78, 39 => 79, 40 => 80, 41 => 81, 42 => 82, 43 => 83, 44 => 84, 45 => 85, 46 => 86, 47 => 87, 48 => 88, 49 => 89, 50 => 90, 51 => 91, 52 => 92, 53 => 93, 54 => 94, 55 => 95, 56 => 96, 57 => 97, 58 => 98, 59 => 99, 60 => 100, 61 => 101, 62 => 102, 63 => 103, 64 => 104, 65 => 105, 66 => 106, 67 => 107, 68 => 108, 69 => 109, 70 => 110, 71 => 111, 72 => 112, 73 => 113, 74 => 114, 75 => 115, 76 => 116, 77 => 117, 78 => 118, 79 => 119, 80 => 120, 81 => 121, 82 => 122, 83 => 123, 84 => 124, 85 => 125, 86 => 126, 87 => 127, 88 => 128, 89 => 129, 90 => 130, 91 => 131, 92 => 132, 93 => 133, 94 => 134, 95 => 135, 96 => 136, 97 => 137, 98 => 138, 99 => 139, 100 => 140, 101 => 141, 102 => 142, 103 => 143, 104 => 144, 105 => 145, 106 => 146, 107 => 147, 108 => 148, 109 => 149, 110 => 150, 111 => 151, 112 => 152, 113 => 153, 114 => 154, 115 => 155, 116 => 156, 117 => 157, 118 => 158, 119 => 159, 120 => 160, 121 => 161, 122 => 162, 123 => 163, 124 => 164, 125 => 165, 126 => 166, 127 => 167, ...], $offset = ???) vendor/friendsoftwig/twigcs/src/RegEngine/Linter.php:41
0.0846    9100960 256. FriendsOfTwig\Twigcs\RegEngine\Checker\Handler->FriendsOfTwig\Twigcs\RegEngine\Checker\{closure:vendor/friendsoftwig/twigcs/src/RegEngine/Checker/Handler.php:65-69}($ruleChecker = class FriendsOfTwig\Twigcs\RegEngine\Checker\RuleChecker { private $rules = ['expr' => [...], 'list' => [...], 'argsList' => [...], 'hash' => [...], 'imports' => [...], 'arrayOrSlice' => [...]]; private $explain = FALSE; private $unrecognizedExpressions = []; private $log = [] }, $report = class FriendsOfTwig\Twigcs\RegEngine\Checker\Report { private $errors = []; private $unrecognizedExpressions = [] }, $captures = [' ' => [0 => class FriendsOfTwig\Twigcs\RegEngine\Checker\Capture { ... }, 1 => class FriendsOfTwig\Twigcs\RegEngine\Checker\Capture { ... }], '$' => [0 => class FriendsOfTwig\Twigcs\RegEngine\Checker\Capture { ... }]]) vendor/friendsoftwig/twigcs/src/RegEngine/Checker/Handler.php:74
Fatal error: __debuginfo() must return an array in vendor/friendsoftwig/twigcs/src/RegEngine/Checker/RuleChecker.php on line 80

Workaround Setting the data in php then passing it to the template file seems to work if that's any indication as to what this fatal error might be.

Ciloe commented 3 years ago

Hi ! I think it's the same problem of #154

szaveri commented 3 years ago

Hi ! I think it's the same problem of #154

I think you're completely right, closing ticket! Sorry about that.