grav-plugin-flex-objects icon indicating copy to clipboard operation
grav-plugin-flex-objects copied to clipboard

Grav 1.8.0 Beta 17: Cache key contains reserved characters "{}()/\@:"

Open Xoriander opened this issue 1 month ago • 0 comments

Fresh installation with no config changes (only Debugger was enabled), with PHP 8.4.12 , throws a exception if a sub-page was created and saved on grav-admin (shown in the Debug Bar) :

Cache key "03.toppage/subpage" contains reserved characters "{}()/\@:".../grav/vendor/symfony/cache/CacheItem.php#140Symfony\Component\Cache\Exception\InvalidArgumentException

    137
    138
    139
    140
    141
    142
    143
    144

            throw new InvalidArgumentException('Cache key length must be greater than zero.');
        }
        if (false !== strpbrk($key, self::RESERVED_CHARACTERS)) {
            throw new InvalidArgumentException(\sprintf('Cache key "%s" contains reserved characters "%s".', $key, self::RESERVED_CHARACTERS));
        }

        return $key;

#0 .../grav/vendor/symfony/cache/Traits/AbstractAdapterTrait.php(365): Symfony\Component\Cache\CacheItem::validateKey('03.toppage/subpage')
#1 .../grav/vendor/symfony/cache/Traits/AbstractAdapterTrait.php(213): Symfony\Component\Cache\Adapter\AbstractAdapter->getId('03.toppage/subpage')
#2 .../grav/vendor/symfony/cache/Psr16Cache.php(142): Symfony\Component\Cache\Adapter\AbstractAdapter->getItems(Array)
#3 .../grav/system/src/Grav/Framework/Flex/FlexDirectory.php(755): Symfony\Component\Cache\Psr16Cache->getMultiple(Array)
#4 .../grav/system/src/Grav/Framework/Flex/FlexDirectory.php(666): Grav\Framework\Flex\FlexDirectory->loadCachedObjects(Array)
#5 .../grav/system/src/Grav/Framework/Flex/FlexDirectory.php(633): Grav\Framework\Flex\FlexDirectory->loadObjects(Array)
#6 .../grav/system/src/Grav/Framework/Flex/FlexIndex.php(656): Grav\Framework\Flex\FlexDirectory->loadCollection(Array, 'key')
#7 .../grav/system/src/Grav/Framework/Flex/FlexIndex.php(484): Grav\Framework\Flex\FlexIndex->loadCollection()
#8 .../grav/system/src/Grav/Framework/Flex/FlexIndex.php(397): Grav\Framework\Flex\FlexIndex->__call('orderBy', Array)
#9 .../grav/system/src/Grav/Framework/Flex/FlexIndex.php(174): Grav\Framework\Flex\FlexIndex->orderBy(Array)
#10 .../grav/user/plugins/admin/classes/plugin/Admin.php(1384): Grav\Framework\Flex\FlexIndex->sort(Array)
#11 .../grav/vendor/twig/twig/src/Extension/CoreExtension.php(1909): Grav\Plugin\Admin\Admin->latestPages()
#12 .../grav/cache/twig/72/72c12f837e4bff8821927568f71d1292.php(61): Twig\Extension\CoreExtension::getAttribute(Object(Grav\Common\Twig\TwigEnvironment), Object(Twig\Source), Object(Grav\Plugin\Admin\Admin), 'latestPages', Array, 'any', false, false, false, 8)
#13 .../grav/vendor/twig/twig/src/Template.php(402): __TwigTemplate_96bde31ac4dd17ba32e1f0ecc40d558a->doDisplay(Array, Array)
#14 .../grav/cache/twig/ec/ecb277b0f3dca3e2bb429a70757f4f70.php(250): Twig\Template->yield(Array)
#15 .../grav/vendor/twig/twig/src/Template.php(446): __TwigTemplate_f8a6780f261a6f01f2acb8b8d047ae85->block_content(Array, Array)
#16 .../grav/cache/twig/b2/b25b1dc342560e6aa4b8e60224357b22.php(381): Twig\Template->yieldBlock('content', Array, Array)
#17 .../grav/vendor/twig/twig/src/Template.php(446): __TwigTemplate_9d7c26c7d5ce232726b1f48ff8b6f8fb->block_content_wrapper(Array, Array)
#18 .../grav/cache/twig/b2/b25b1dc342560e6aa4b8e60224357b22.php(310): Twig\Template->yieldBlock('content_wrapper', Array, Array)
#19 .../grav/vendor/twig/twig/src/Template.php(446): __TwigTemplate_9d7c26c7d5ce232726b1f48ff8b6f8fb->block_page(Array, Array)
#20 .../grav/cache/twig/b2/b25b1dc342560e6aa4b8e60224357b22.php(265): Twig\Template->yieldBlock('page', Array, Array)
#21 .../grav/vendor/twig/twig/src/Template.php(446): __TwigTemplate_9d7c26c7d5ce232726b1f48ff8b6f8fb->block_body(Array, Array)
#22 .../grav/cache/twig/b2/b25b1dc342560e6aa4b8e60224357b22.php(89): Twig\Template->yieldBlock('body', Array, Array)
#23 .../grav/vendor/twig/twig/src/Template.php(402): __TwigTemplate_9d7c26c7d5ce232726b1f48ff8b6f8fb->doDisplay(Array, Array)
#24 .../grav/cache/twig/b6/b66a5163d9e8c02f03053fe342e03d79.php(46): Twig\Template->yield(Array, Array)
#25 .../grav/vendor/twig/twig/src/Template.php(402): __TwigTemplate_a4a701ee4e30fc9d5876c0f18b9d3e4c->doDisplay(Array, Array)
#26 .../grav/cache/twig/ec/ecb277b0f3dca3e2bb429a70757f4f70.php(55): Twig\Template->yield(Array, Array)
#27 .../grav/vendor/twig/twig/src/Template.php(402): __TwigTemplate_f8a6780f261a6f01f2acb8b8d047ae85->doDisplay(Array, Array)
#28 .../grav/vendor/twig/twig/src/Template.php(358): Twig\Template->yield(Array, Array)
#29 .../grav/vendor/twig/twig/src/Template.php(373): Twig\Template->display(Array)
#30 .../grav/vendor/twig/twig/src/TemplateWrapper.php(51): Twig\Template->render(Array)
#31 .../grav/vendor/twig/twig/src/Environment.php(333): Twig\TemplateWrapper->render(Array)
#32 .../grav/system/src/Grav/Common/Twig/Twig.php(473): Twig\Environment->render('dashboard.html....', Array)
#33 .../grav/system/src/Grav/Common/Service/OutputServiceProvider.php(36): Grav\Common\Twig\Twig->processSite('html')
#34 .../grav/vendor/pimple/pimple/src/Pimple/Container.php(122): Grav\Common\Service\OutputServiceProvider->{closure:Grav\Common\Service\OutputServiceProvider::register():29}(Object(Grav\Common\Grav))
#35 .../grav/system/src/Grav/Common/Processors/RenderProcessor.php(40): Pimple\Container->offsetGet('output')
#36 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\RenderProcessor->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#37 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#38 .../grav/system/src/Grav/Common/Processors/DebuggerAssetsProcessor.php(38): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#39 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\DebuggerAssetsProcessor->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#40 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#41 .../grav/system/src/Grav/Common/Processors/PagesProcessor.php(113): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#42 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\PagesProcessor->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#43 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#44 .../grav/system/src/Grav/Common/Processors/TwigProcessor.php(38): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#45 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\TwigProcessor->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#46 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#47 .../grav/system/src/Grav/Common/Processors/AssetsProcessor.php(39): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#48 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\AssetsProcessor->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#49 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#50 .../grav/system/src/Grav/Common/Processors/SchedulerProcessor.php(40): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#51 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\SchedulerProcessor->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#52 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#53 .../grav/system/src/Grav/Common/Processors/BackupsProcessor.php(39): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#54 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\BackupsProcessor->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#55 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#56 .../grav/system/src/Grav/Common/Processors/TasksProcessor.php(69): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#57 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\TasksProcessor->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#58 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#59 .../grav/user/plugins/admin/classes/plugin/Router.php(72): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#60 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Plugin\Admin\Router->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#61 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#62 .../grav/system/src/Grav/Common/Processors/RequestProcessor.php(64): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#63 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\RequestProcessor->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#64 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#65 .../grav/system/src/Grav/Common/Processors/ThemesProcessor.php(38): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#66 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\ThemesProcessor->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#67 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#68 .../grav/system/src/Grav/Common/Processors/PluginsProcessor.php(39): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#69 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\PluginsProcessor->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#70 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#71 .../grav/system/src/Grav/Common/Processors/InitializeProcessor.php(132): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#72 .../grav/system/src/Grav/Common/Debugger.php(548): Grav\Common\Processors\InitializeProcessor::{closure:Grav\Common\Processors\InitializeProcessor::process():132}()
#73 .../grav/system/src/Grav/Common/Processors/InitializeProcessor.php(132): Grav\Common\Debugger->profile(Object(Closure))
#74 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Common\Processors\InitializeProcessor->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#75 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#76 .../grav/system/src/Grav/Framework/RequestHandler/Middlewares/MultipartRequestSupport.php(40): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#77 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(50): Grav\Framework\RequestHandler\Middlewares\MultipartRequestSupport->process(Object(Nyholm\Psr7\ServerRequest), Object(Grav\Framework\RequestHandler\RequestHandler))
#78 .../grav/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php(62): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#79 .../grav/system/src/Grav/Common/Grav.php(286): Grav\Framework\RequestHandler\RequestHandler->handle(Object(Nyholm\Psr7\ServerRequest))
#80 .../grav/index.php(88): Grav\Common\Grav->process()
#81 {main}

If the Flex Objects Plugin was disabled the exception disapears.

Xoriander avatar Oct 31 '25 08:10 Xoriander