Getting "Bad Data Formatter" error after Grav CMS upate

Hello, After the latest Grav CMS update I am getting “bad data formatter” error on page twig templates. The template is trying to fetch flex collection.

The error:

An exception has been thrown during the rendering of a template ("Bad Data Formatter").

The part of the twig template code:

    {% set flex = grav.get('flex_objects') %}
    {% set artists = flex.directory('artists') %}
    {% set collection = artists.getCollection() %}

The error is thrown on set collection line.
Did something change on how to get flex objects data?

How would You debug it??

Thanks!

The full stack trace:

Twig\Error\RuntimeError thrown with message "An exception has been thrown during the rendering of a template ("Bad Data Formatter")."

Stacktrace:
#62 Twig\Error\RuntimeError in /var/www/thesite.com/html/user/themes/lazare-theme/templates/artists.html.twig:6
#61 InvalidArgumentException in /var/www/thesite.com/html/system/src/Grav/Framework/Flex/Storage/AbstractFilesystemStorage.php:131
#60 Grav\Framework\Flex\Storage\AbstractFilesystemStorage:initDataFormatter in /var/www/thesite.com/html/system/src/Grav/Framework/Flex/Storage/FolderStorage.php:65
#59 Grav\Framework\Flex\Storage\FolderStorage:__construct in /var/www/thesite.com/html/system/src/Grav/Framework/Flex/FlexDirectory.php:999
#58 Grav\Framework\Flex\FlexDirectory:createStorage in /var/www/thesite.com/html/system/src/Grav/Framework/Flex/FlexDirectory.php:529
#57 Grav\Framework\Flex\FlexDirectory:getStorage in /var/www/thesite.com/html/system/src/Grav/Framework/Flex/FlexDirectory.php:1024
#56 Grav\Framework\Flex\FlexDirectory:loadIndex in /var/www/thesite.com/html/system/src/Grav/Framework/Flex/FlexDirectory.php:405
#55 Grav\Framework\Flex\FlexDirectory:getIndex in /var/www/thesite.com/html/system/src/Grav/Framework/Flex/FlexDirectory.php:378
#54 Grav\Framework\Flex\FlexDirectory:getCollection in /var/www/thesite.com/html/vendor/twig/twig/src/Template.php:700
#53 Twig\Template:getAttribute in /var/www/thesite.com/html/cache/twig/23/2338e104bb1105c275bad66d6ce2ca5e7edac3652dbfe1a952c09207af5aae1f.php:51
#52 __TwigTemplate_19e31d6749955a6f227fd3f97efffce639d86717d76b2d894aeff16952655d90:block_content in /var/www/thesite.com/html/vendor/twig/twig/src/Template.php:214
#51 Twig\Template:displayBlock in /var/www/thesite.com/html/cache/twig/23/2338e104bb1105c275bad66d6ce2ca5e7edac3652dbfe1a952c09207af5aae1f.php:33
#50 __TwigTemplate_19e31d6749955a6f227fd3f97efffce639d86717d76b2d894aeff16952655d90:doDisplay in /var/www/thesite.com/html/vendor/twig/twig/src/Template.php:453
#49 Twig\Template:displayWithErrorHandling in /var/www/thesite.com/html/vendor/twig/twig/src/Template.php:420
#48 Twig\Template:display in /var/www/thesite.com/html/vendor/twig/twig/src/Template.php:432
#47 Twig\Template:render in /var/www/thesite.com/html/vendor/twig/twig/src/TemplateWrapper.php:47
#46 Twig\TemplateWrapper:render in /var/www/thesite.com/html/vendor/twig/twig/src/Environment.php:384
#45 Twig\Environment:render in /var/www/thesite.com/html/system/src/Grav/Common/Twig/Twig.php:454
#44 Grav\Common\Twig\Twig:processSite in /var/www/thesite.com/html/system/src/Grav/Common/Service/OutputServiceProvider.php:36
#43 Grav\Common\Service\OutputServiceProvider:Grav\Common\Service\{closure} in /var/www/thesite.com/html/vendor/pimple/pimple/src/Pimple/Container.php:122
#42 Pimple\Container:offsetGet in /var/www/thesite.com/html/system/src/Grav/Common/Processors/RenderProcessor.php:40
#41 Grav\Common\Processors\RenderProcessor:process in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:50
#40 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:62
#39 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Common/Processors/DebuggerAssetsProcessor.php:38
#38 Grav\Common\Processors\DebuggerAssetsProcessor:process in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:50
#37 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:62
#36 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Common/Processors/PagesProcessor.php:113
#35 Grav\Common\Processors\PagesProcessor:process in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:50
#34 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:62
#33 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Common/Processors/TwigProcessor.php:38
#32 Grav\Common\Processors\TwigProcessor:process in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:50
#31 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:62
#30 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Common/Processors/AssetsProcessor.php:39
#29 Grav\Common\Processors\AssetsProcessor:process in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:50
#28 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:62
#27 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Common/Processors/SchedulerProcessor.php:40
#26 Grav\Common\Processors\SchedulerProcessor:process in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:50
#25 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:62
#24 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Common/Processors/BackupsProcessor.php:39
#23 Grav\Common\Processors\BackupsProcessor:process in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:50
#22 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:62
#21 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Common/Processors/TasksProcessor.php:69
#20 Grav\Common\Processors\TasksProcessor:process in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:50
#19 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:62
#18 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Common/Processors/RequestProcessor.php:64
#17 Grav\Common\Processors\RequestProcessor:process in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:50
#16 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:62
#15 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Common/Processors/ThemesProcessor.php:38
#14 Grav\Common\Processors\ThemesProcessor:process in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:50
#13 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:62
#12 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Common/Processors/PluginsProcessor.php:39
#11 Grav\Common\Processors\PluginsProcessor:process in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:50
#10 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:62
#9 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Common/Processors/InitializeProcessor.php:130
#8 Grav\Common\Processors\InitializeProcessor:Grav\Common\Processors\{closure} in /var/www/thesite.com/html/system/src/Grav/Common/Debugger.php:546
#7 Grav\Common\Debugger:profile in /var/www/thesite.com/html/system/src/Grav/Common/Processors/InitializeProcessor.php:129
#6 Grav\Common\Processors\InitializeProcessor:process in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:50
#5 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:62
#4 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Middlewares/MultipartRequestSupport.php:40
#3 Grav\Framework\RequestHandler\Middlewares\MultipartRequestSupport:process in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:50
#2 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:62
#1 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/thesite.com/html/system/src/Grav/Common/Grav.php:312
#0 Grav\Common\Grav:process in /var/www/thesite.com/html/index.php:47


Well It was a typo in Yaml file. Instead of ‘Grav\Framework\File\Formatter\YamlFormatter’ it was ‘Grav\Framework\File\Formatter\YAMLFormatter’
Because of this it did work on some local setups but not on production server.

2 Likes

Thanks for the follow up. It’s unfortunate that it seemed like no-one here was able to give you any pointers. Always good to keep environments as close as possible :slight_smile: Well done for figuring it out!