Bug #91413
closedInvalidArgumentException in PageRepository having too many user group ids
100%
Description
we found a bug in 9.5.17 in core files.
It is thrown wenn the BE user has access to many groups because there are a lot restricted sites. The string that is created in our case is
"PageRepository_groupAccessWhere_pages_fe_group_pages_0_-2_3_4_5_6_20_35_37_46_52_53_82_907_1017_1018_1020_1022_1110_1179_1671_1672_1673_1674_1675_1676_1677_1678_1679_1680_1681_1682_1683_1684_1685_1686_1687_1688_1689_1690_1691_1727_1775_1815_1817_1818_2103"
it is too long
this commit should be overthought
[TYPO3 Github Commit](https://github.com/TYPO3/TYPO3.CMS/commit/34fcc2dc9e4d88ed3a33f9a8b0c8d860e304946d#diff-bdefdf9381ae0d42c73398fe045a53cb)
Problem is const
/**
* Pattern an entry identifer must match.
*/
const PATTERN_ENTRYIDENTIFIER = '/^[a-zA-Z0-9_%\\-&]{1,250}$/';
in file
/typo3/sysext/core/Classes/Cache/Frontend/PhpFrontend.php
if system is configured for restricted access wich is manged by groups and some user got a lot access and the use in function
/**
* Checks the validity of an entry identifier. Returns TRUE if it's valid.
*
* @param string $identifier An identifier to be checked for validity
* @return bool
*/
public function isValidEntryIdentifier($identifier)
{
return preg_match(self::PATTERN_ENTRYIDENTIFIER, $identifier) === 1;
}
in file
/typo3/sysext/core/Classes/Cache/Frontend/AbstractFrontend.php
that is called from
/**
* Finds and returns a variable value from the cache.
*
* @param string $entryIdentifier Identifier of the cache entry to fetch
*
* @return mixed The value
* @throws \InvalidArgumentException if the identifier is not valid
*/
public function get($entryIdentifier)
{
if (!$this->isValidEntryIdentifier($entryIdentifier)) {
throw new \InvalidArgumentException(
'"' . $entryIdentifier . '" is not a valid cache entry identifier.',
1233058294
);
}
and throws the error because our given value is longer than 250 chars
table cf_cache_pages
identifier Index varchar(250) utf8mb4_unicode_ci
[TYPO3 wiki](https://typo3.org/go/exception/CMS/debug/1233058294)
#1233058294 InvalidArgumentException¶
"PageRepository_groupAccessWhere_pages_fe_group_pages_0_-2_3_4_5_6_20_35_37_46_52_53_82_907_1017_1018_1020_1022_1110_1179_1671_1672_1673_1674_1675_1676_1677_1678_1679_1680_1681_1682_1683_1684_1685_1686_1687_1688_1689_1690_1691_1727_1775_1815_1817_1818_2103" is not a valid cache entry identifier. in /var/www/html/web/typo3/sysext/core/Classes/Cache/Frontend/VariableFrontend.php line 77 public function get($entryIdentifier) { if (!$this->isValidEntryIdentifier($entryIdentifier)) { throw new \InvalidArgumentException( '"' . $entryIdentifier . '" is not a valid cache entry identifier.', 1233058294 ); } at TYPO3\CMS\Core\Cache\Frontend\VariableFrontend->get('PageRepository_groupAccessWhere_pages_fe_group_pages_0_-2_3_4_5_6_20_35_37_46_52_53_82_907_1017_1018_1020_1022_1110_1179_1671_1672_1673_1674_1675_1676_1677_1678_1679_1680_1681_1682_1683_1684_1685_1686_1687_1688_1689_1690_1691_1727_1775_1815_1817_1818_2103') in /var/www/html/web/typo3/sysext/frontend/Classes/Page/PageRepository.php line 1711 $memberGroups = $userAspect->getGroupIds(); $cache = $this->getRuntimeCache(); $cacheIdentifier = 'PageRepository_groupAccessWhere_' . str_replace('.', '_', $field) . '_' . $table . '_' . implode('_', $memberGroups); 'getMultipleGroupsWhereClause $cacheIdentifier'); $cacheEntry = $cache->get($cacheIdentifier); 'getMultipleGroupsWhereClause $cacheEntry'); if ($cacheEntry) { return $cacheEntry; } at TYPO3\CMS\Frontend\Page\PageRepository->getMultipleGroupsWhereClause('pages.fe_group', 'pages') in /var/www/html/web/typo3/sysext/frontend/Classes/Page/PageRepository.php line 218 // Only set up the where clauses for pages when TCA is set. This usually happens only in tests. // Once all tests are written very well, this can be removed again if (isset($GLOBALS['TCA']['pages'])) { $this->init($this->context->getPropertyFromAspect('visibility', 'includeHiddenPages')); $this->where_groupAccess = $this->getMultipleGroupsWhereClause('pages.fe_group', 'pages'); $this->sys_language_uid = (int)$this->context->getPropertyFromAspect('language', 'id', 0); } } at TYPO3\CMS\Frontend\Page\PageRepository->__construct(object(TYPO3\CMS\Core\Context\Context)) in /var/www/html/web/typo3/sysext/core/Classes/Utility/GeneralUtility.php line 3689 ) { return array_shift(self::$nonSingletonInstances[$finalClassName]); } // Create new instance and call constructor with parameters $instance = new $finalClassName(...$constructorArguments); // Register new singleton instance if ($instance instanceof SingletonInterface) { self::$singletonInstances[$finalClassName] = $instance; } at TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\Page\\PageRepository', object(TYPO3\CMS\Core\Context\Context)) in /var/www/html/web/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php line 1418 // Set the valid usergroups for FE $this->initUserGroups(); // Initialize the PageRepository has to be done after the frontend usergroups are initialized / resolved, as // frontend group aspect is modified before $this->sys_page = GeneralUtility::makeInstance(PageRepository::class, $this->context); // If $this->id is a string, it's an alias $this->checkAndSetAlias(); // The id and type is set to the integer-value - just to be sure... $this->id = (int)$this->id; at TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->fetch_the_id() in /var/www/html/web/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php line 1206 if ($this->fePreview) { $this->disableCache(); } // Now, get the id, validate access etc: $this->fetch_the_id(); // Check if backend user has read access to this page. If not, recalculate the id. if ($this->isBackendUserLoggedIn() && $this->fePreview && !$this->getBackendUser()->doesUserHaveAccess($this->page, Permission::PAGE_SHOW)) { // Resetting $this->clear_preview(); at TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->determineId() in /var/www/html/web/typo3/sysext/frontend/Classes/Middleware/PageResolver.php line 158 $this->checkAlternativeIdMethods($this->controller); } } $this->controller->determineId(); // No access? Then remove user & Re-evaluate the page-id if ($this->controller->isBackendUserLoggedIn() && !$GLOBALS['BE_USER']->doesUserHaveAccess($this->controller->page, Permission::PAGE_SHOW)) { unset($GLOBALS['BE_USER']); at TYPO3\CMS\Frontend\Middleware\PageResolver->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/workspaces/Classes/Middleware/WorkspacePreview.php line 110 // Caching is disabled, because otherwise generated URLs could include the ADMCMD_noBeUser parameter $GLOBALS['TSFE']->set_no_cache('GET Parameter ADMCMD_noBeUser was given', true); } $response = $handler->handle($request); // Add a info box to the frontend content if ($GLOBALS['TSFE']->doWorkspacePreview() && $GLOBALS['TSFE']->isOutputting()) { $previewInfo = $this->renderPreviewInfo($GLOBALS['TSFE'], $request->getAttribute('normalizedParams')); at TYPO3\CMS\Workspaces\Middleware\WorkspacePreview->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/frontend/Classes/Middleware/PreviewSimulator.php line 62 $simulatingGroup = $this->simulateUserGroup($request); $GLOBALS['TSFE']->fePreview = ((int)($simulatingDate || $simulatingGroup)); } return $handler->handle($request); } /** * Simulate dates for preview functionality at TYPO3\CMS\Frontend\Middleware\PreviewSimulator->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/redirects/Classes/Http/Middleware/RedirectHandler.php line 70 return $response; } } return $handler->handle($request); } /** * Creates a PSR-7 compatible Response object at TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/frontend/Classes/Middleware/StaticRouteResolver.php line 62 return new HtmlResponse($content, 200, ['Content-Type' => $contentType]); } } return $handler->handle($request); } /** * Find the proper configuration for the static route in the static route configuration. Mainly: at TYPO3\CMS\Frontend\Middleware\StaticRouteResolver->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/frontend/Classes/Middleware/SiteBaseRedirectResolver.php line 86 $uri = $requestedUri->withPath(rtrim($requestedUri->getPath(), '/')); return new RedirectResponse($uri, 307); } } return $handler->handle($request); } /** * Checks if the language is allowed in Frontend, if not, check if there is valid BE user * at TYPO3\CMS\Frontend\Middleware\SiteBaseRedirectResolver->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/adminpanel/Classes/Middleware/AdminPanelInitiator.php line 58 $beUser = $GLOBALS['BE_USER']; $beUser->adminPanel = GeneralUtility::makeInstance(AdminPanelView::class); $beUser->extAdmEnabled = true; } return $handler->handle($request); } } at TYPO3\CMS\Adminpanel\Middleware\AdminPanelInitiator->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/frontend/Classes/Middleware/SiteResolver.php line 68 // At this point, we later get further route modifiers // for bw-compat we update $GLOBALS[TYPO3_REQUEST] to be used later in TSFE. $GLOBALS['TYPO3_REQUEST'] = $request; return $handler->handle($request); } } at TYPO3\CMS\Frontend\Middleware\SiteResolver->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/adminpanel/Classes/Middleware/SqlLogging.php line 49 $connectionPool = GeneralUtility::makeInstance(ConnectionPool::class); $connection = $connectionPool->getConnectionByName(ConnectionPool::DEFAULT_CONNECTION_NAME); $connection->getConfiguration()->setSQLLogger(GeneralUtility::makeInstance(DoctrineSqlLogger::class)); } return $handler->handle($request); } } at TYPO3\CMS\Adminpanel\Middleware\SqlLogging->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/frontend/Classes/Middleware/BackendUserAuthenticator.php line 95 Bootstrap::loadExtTables(); $this->setBackendUserAspect(GeneralUtility::makeInstance(Context::class), $GLOBALS['BE_USER']); } return $handler->handle($request); } /** * Creates the backend user object and returns it. at TYPO3\CMS\Frontend\Middleware\BackendUserAuthenticator->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/frontend/Classes/Middleware/FrontendUserAuthenticator.php line 79 // Register the frontend user as aspect $this->setFrontendUserAspect(GeneralUtility::makeInstance(Context::class), $frontendUser); return $handler->handle($request); } /** * It's possible to transfer a frontend user session via a GET/POST parameter 'FE_SESSION_KEY'. at TYPO3\CMS\Frontend\Middleware\FrontendUserAuthenticator->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/frontend/Classes/Middleware/TypoScriptFrontendInitialization.php line 90 GeneralUtility::callUserFunction($_funcRef, $_params, $GLOBALS['TSFE']); } } return $handler->handle($request); } } at TYPO3\CMS\Frontend\Middleware\TypoScriptFrontendInitialization->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/frontend/Classes/Middleware/EidHandler.php line 50 { $eID = $request->getParsedBody()['eID'] ?? $request->getQueryParams()['eID'] ?? null; if ($eID === null) { return $handler->handle($request); } // Remove any output produced until now ob_clean(); at TYPO3\CMS\Frontend\Middleware\EidHandler->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/frontend/Classes/Middleware/PreprocessRequestHook.php line 57 $hookParameters = []; GeneralUtility::callUserFunction($hookFunction, $hookParameters, $hookParameters); } } return $handler->handle($request); } } at TYPO3\CMS\Frontend\Middleware\PreprocessRequestHook->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/core/Classes/Middleware/NormalizedParamsAttribute.php line 58 // refactored to have ServerRequest object available where it is needed. This global will be // deprecated then and removed. $GLOBALS['TYPO3_REQUEST'] = $request; return $handler->handle($request); } } at TYPO3\CMS\Core\Middleware\NormalizedParamsAttribute->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/frontend/Classes/Middleware/TimeTrackerInitialization.php line 49 ); $timeTracker->start(); $timeTracker->push(''); return $handler->handle($request); } } at TYPO3\CMS\Frontend\Middleware\TimeTrackerInitialization->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138 if (!$middleware instanceof MiddlewareInterface) { throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342); } return $middleware->process($request, $this->next); } }; } } at class@anonymous/var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php0x7f2b731de056->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 67 * @return ResponseInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { return $this->tip->handle($request); } /** * Seed the middleware stack with the inner request handler at TYPO3\CMS\Core\Http\MiddlewareDispatcher->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/core/Classes/Http/AbstractApplication.php line 108 { $requestHandler = GeneralUtility::makeInstance($this->requestHandler); $dispatcher = $this->createMiddlewareDispatcher($requestHandler); return $dispatcher->handle($request); } /** * Set up the application and shut it down afterwards at TYPO3\CMS\Core\Http\AbstractApplication->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/frontend/Classes/Http/Application.php line 69 if (!$this->checkIfEssentialConfigurationExists()) { return $this->installToolRedirect(); } $this->initializeContext(); return parent::handle($request); } /** * Check if LocalConfiguration.php and PackageStates.php exist at TYPO3\CMS\Frontend\Http\Application->handle(object(TYPO3\CMS\Core\Http\ServerRequest)) in /var/www/html/web/typo3/sysext/core/Classes/Http/AbstractApplication.php line 120 final public function run(callable $execute = null) { try { $response = $this->handle( \TYPO3\CMS\Core\Http\ServerRequestFactory::fromGlobals() ); if ($execute !== null) { call_user_func($execute); } at TYPO3\CMS\Core\Http\AbstractApplication->run() in /var/www/html/web/index.php line 24 // Set up the application for the frontend call_user_func(function () { $classLoader = require dirname(__DIR__).'/vendor/autoload.php'; \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE); \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run(); }); at {closure}() in /var/www/html/web/index.php line 25 call_user_func(function () { $classLoader = require dirname(__DIR__).'/vendor/autoload.php'; \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE); \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run(); });
Updated by Oliver Hader over 4 years ago
- Related to Bug #91208: Performance issue in PageRepository for Mega Menus added
Updated by Oliver Hader over 4 years ago
- Subject changed from #1233058294 InvalidArgumentException to InvalidArgumentException in PageRepository having too many user group ids
Updated by Gerrit Code Review over 4 years ago
- Status changed from New to Under Review
Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/64512
Updated by Andreas Kienast over 4 years ago
- Target version set to 9.5.18 & 10.4.3
Updated by Gerrit Code Review over 4 years ago
Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/64512
Updated by Gerrit Code Review over 4 years ago
Patch set 1 for branch 9.5 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/64517
Updated by Andreas Fernandez over 4 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 4d15cf210334b7c96a2c391792b237388bc9358e.