Closed szaveri closed 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] %}
{% 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] %}
{% 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.
php
Hi ! I think it's the same problem of #154
I think you're completely right, closing ticket! Sorry about that.
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] %}
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.