Trying to access array offset on value of type null in /var/www/html/Neos/Packages/Libraries/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php line 1002
site stop working right after php7.4 update, any page from freont end or backend…
see also https://www.drupal.org/project/block_styles/issues/3168455
(ouch)
Neos\Flow\Error\ErrorHandler::handleError(8, "Trying to access array offset on value of type null", "/var/www/html/Neos/Packages/Libraries/doctrine/ann…ions/lib/Doctrine/Common/Annotations/DocParser.php", 1002, array|1|)
Packages/Libraries/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php
01000: $className = $this->lexer->token['value'];
01001:
01002: while ($this->lexer->lookahead['position'] === ($this->lexer->token['position'] + strlen($this->lexer->token['value']))
01003: && $this->lexer->isNextToken(DocLexer::T_NAMESPACE_SEPARATOR)) {
01004:
Doctrine\Common\Annotations\DocParser::Identifier()
Packages/Libraries/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php
00685:
00686: // check if we have an annotation
00687: $name = $this->Identifier();
00688:
00689: if ($this->lexer->isNextToken(DocLexer::T_MINUS)
Doctrine\Common\Annotations\DocParser::Annotation()
Packages/Libraries/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php
00661:
00662: $this->isNestedAnnotation = false;
00663: if (false !== $annot = $this->Annotation()) {
00664: $annotations[] = $annot;
00665: }
Doctrine\Common\Annotations\DocParser::Annotations()
Packages/Libraries/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php
00352: $this->lexer->moveNext();
00353:
00354: return $this->Annotations();
00355: }
00356:
Doctrine\Common\Annotations\DocParser::parse("/**⏎ * An HTTP based multi-action controller.⏎ *⏎ …mplate path mapping can be defined.⏎ *⏎ * @api⏎ */", "class Neos\Flow\Mvc\Controller\ActionController_Original")
Packages/Libraries/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php
00403: {
00404: $ignoredAnnotationNames = self::$globalIgnoredNames;
00405: $annotations = $this->preParser->parse($class->getDocComment(), 'class ' . $class->name);
00406:
00407: foreach ($annotations as $annotation) {
Doctrine\Common\Annotations\AnnotationReader::collectParsingMetadata(Neos\Flow\Reflection\ClassReflection)
Packages/Libraries/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php
00336: }
00337:
00338: $this->collectParsingMetadata($class);
00339:
00340: return $this->imports[$name];
Doctrine\Common\Annotations\AnnotationReader::getClassImports(Neos\Flow\Reflection\ClassReflection)
Packages/Libraries/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php
00351: {
00352: $class = $method->getDeclaringClass();
00353: $classImports = $this->getClassImports($class);
00354: if (!method_exists($class, 'getTraits')) {
00355: return $classImports;
Doctrine\Common\Annotations\AnnotationReader::getMethodImports(Neos\Flow\Reflection\MethodReflection)
Packages/Libraries/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php
00280:
00281: $this->parser->setTarget(Target::TARGET_METHOD);
00282: $this->parser->setImports($this->getMethodImports($method));
00283: $this->parser->setIgnoredAnnotationNames($this->getIgnoredAnnotationNames($class));
00284: $this->parser->setIgnoredAnnotationNamespaces(self::$globalIgnoredNamespaces);
Doctrine\Common\Annotations\AnnotationReader::getMethodAnnotations(Neos\Flow\Reflection\MethodReflection)
Packages/Framework/Neos.Flow/Classes/Reflection/ReflectionService.php
00797:
00798: $annotations = [];
00799: $methodAnnotations = $this->annotationReader->getMethodAnnotations(new MethodReflection($className, $methodName));
00800: if ($annotationClassName === null) {
00801: return $methodAnnotations;
Neos\Flow\Reflection\ReflectionService::getMethodAnnotations("Neos\Neos\Controller\Backend\BackendController", "initializeAction", "Neos\Flow\Annotations\ValidationGroups")
Packages/Framework/Neos.Flow/Classes/Reflection/ReflectionService.php
00827: $this->initialize();
00828: }
00829: $annotations = $this->getMethodAnnotations($className, $methodName, $annotationClassName);
00830:
00831: return $annotations === [] ? null : current($annotations);
Neos\Flow\Reflection\ReflectionService::getMethodAnnotation("Neos\Neos\Controller\Backend\BackendController", "initializeAction", "Neos\Flow\Annotations\ValidationGroups")
Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Neos_Flow_Mvc_Controller_ActionController.php
Original File: Packages/Framework/Neos.Flow/Classes/Mvc/Controller/ActionController.php
00387: foreach ($methodNames as $methodName) {
00388: if (strlen($methodName) > 6 && strpos($methodName, 'Action', strlen($methodName) - 6) !== false) {
00389: $validationGroupsAnnotation = $reflectionService->getMethodAnnotation($className, $methodName, Flow\ValidationGroups::class);
00390: if ($validationGroupsAnnotation !== null) {
00391: $result[$methodName] = $validationGroupsAnnotation->validationGroups;
Neos\Flow\Mvc\Controller\ActionController_Original::getActionValidationGroups(Neos\Flow\ObjectManagement\ObjectManager)
Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Neos_Flow_Mvc_Controller_ActionController.php
Original File: Packages/Framework/Neos.Flow/Classes/Mvc/Controller/ActionController.php
00308: {
00309: return [
00310: static::getActionValidationGroups($this->objectManager),
00311: static::getActionMethodParameters($this->objectManager),
00312: static::getActionValidateAnnotationData($this->objectManager),
Neos\Flow\Mvc\Controller\ActionController_Original::getInformationNeededForInitializeActionMethodValidators()
Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Neos_Flow_Mvc_Controller_ActionController.php
Original File: Packages/Framework/Neos.Flow/Classes/Mvc/Controller/ActionController.php
00327: protected function initializeActionMethodValidators()
00328: {
00329: list($validateGroupAnnotations, $actionMethodParameters, $actionValidateAnnotations, $actionIgnoredArguments) = $this->getInformationNeededForInitializeActionMethodValidators();
00330:
00331: if (isset($validateGroupAnnotations[$this->actionMethodName])) {
Neos\Flow\Mvc\Controller\ActionController_Original::initializeActionMethodValidators()
Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Neos_Flow_Mvc_Controller_ActionController.php
Original File: Packages/Framework/Neos.Flow/Classes/Mvc/Controller/ActionController.php
00194:
00195: $this->initializeActionMethodArguments();
00196: $this->initializeActionMethodValidators();
00197:
00198: $this->initializeAction();
Neos\Flow\Mvc\Controller\ActionController_Original::processRequest(Neos\Flow\Mvc\ActionRequest, Neos\Flow\Mvc\ActionResponse)
Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Neos_Flow_Mvc_Dispatcher.php
Original File: Packages/Framework/Neos.Flow/Classes/Mvc/Dispatcher.php
00145: try {
00146: $this->emitBeforeControllerInvocation($request, $response, $controller);
00147: $controller->processRequest($request, $response);
00148: $this->emitAfterControllerInvocation($request, $response, $controller);
00149: } catch (StopActionException $exception) {
Neos\Flow\Mvc\Dispatcher_Original::initiateDispatchLoop(Neos\Flow\Mvc\ActionRequest, Neos\Flow\Mvc\ActionResponse)
Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Neos_Flow_Mvc_Dispatcher.php
Original File: Packages/Framework/Neos.Flow/Classes/Mvc/Dispatcher.php
00096: /** @var ActionRequest $request */
00097: $firewall->blockIllegalRequests($request);
00098: $this->initiateDispatchLoop($request, $response);
00099: } catch (AuthenticationRequiredException $exception) {
00100: $entryPointFound = false;
Neos\Flow\Mvc\Dispatcher_Original::dispatch(Neos\Flow\Mvc\ActionRequest, Neos\Flow\Mvc\ActionResponse)
Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Neos_Flow_Mvc_DispatchComponent.php
Original File: Packages/Framework/Neos.Flow/Classes/Mvc/DispatchComponent.php
00080: $this->setDefaultControllerAndActionNameIfNoneSpecified($actionRequest);
00081: $actionResponse = $this->prepareActionResponse($componentContext->getHttpResponse());
00082: $this->dispatcher->dispatch($actionRequest, $actionResponse);
00083: // TODO: This should change in next major when the action response is no longer a HTTP response for backward compatibility.
00084: $componentContext->replaceHttpResponse($actionResponse);
Neos\Flow\Mvc\DispatchComponent_Original::handle(Neos\Flow\Http\Component\ComponentContext)
Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Neos_Flow_Http_Component_ComponentChain.php
Original File: Packages/Framework/Neos.Flow/Classes/Http/Component/ComponentChain.php
00059: continue;
00060: }
00061: $component->handle($componentContext);
00062: $this->response = $componentContext->getHttpResponse();
00063: if ($componentContext->getParameter(ComponentChain::class, 'cancel') === true) {
Neos\Flow\Http\Component\ComponentChain_Original::handle(Neos\Flow\Http\Component\ComponentContext)
Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Neos_Flow_Http_Component_ComponentChain.php
Original File: Packages/Framework/Neos.Flow/Classes/Http/Component/ComponentChain.php
00059: continue;
00060: }
00061: $component->handle($componentContext);
00062: $this->response = $componentContext->getHttpResponse();
00063: if ($componentContext->getParameter(ComponentChain::class, 'cancel') === true) {
Neos\Flow\Http\Component\ComponentChain_Original::handle(Neos\Flow\Http\Component\ComponentContext)
Packages/Framework/Neos.Flow/Classes/Http/RequestHandler.php
00107: }
00108:
00109: $this->baseComponentChain->handle($this->componentContext);
00110: $response = $this->baseComponentChain->getResponse();
00111:
Neos\Flow\Http\RequestHandler::handleRequest()
Packages/Framework/Neos.Flow/Classes/Core/Bootstrap.php
00109:
00110: $this->activeRequestHandler = $this->resolveRequestHandler();
00111: $this->activeRequestHandler->handleRequest();
00112: }
00113:
Neos\Flow\Core\Bootstrap::run()
Web/index.php
00025: $context = \Neos\Flow\Core\Bootstrap::getEnvironmentConfigurationSetting('FLOW_CONTEXT') ?: 'Development';
00026: $bootstrap = new \Neos\Flow\Core\Bootstrap($context, $composerAutoloader);
00027: $bootstrap->run();
Instance root /var/www/html/Neos/
Application Context Development
Request Handler Neos\Flow\Http\RequestHandler