Skip to content

Empty feeds trigger exception in 5.11.0 when attempting to queue #1609

@jmauzyk

Description

@jmauzyk

Description

Our product feeds are generated from our source data nightly, including only new or modified products since the last feed generation. This minimizes processing and saves time. As a result, some source feeds may be generated without any elements.

In Feed Me version 5.10.0 and earlier, this was not an issue — running craft feed-me/feeds/queue --all=1 would queue the feeds without error, and empty feeds were effectively ignored.

However, since updating to version 5.11.0, attempting to queue an empty feed with no elements now results in the following exception:

2025-03-19 08:05:44 [console.ERROR] [TypeError] Cannot assign bool to property craft\feedme\base\DataType::$feedData of type array 
{
    "trace":[
        "#0 /home/craft/releases/133/vendor/craftcms/feed-me/src/services/DataTypes.php(237): craft\\feedme\\datatypes\\Xml->getFeed()",
        "#1 /home/craft/releases/133/vendor/craftcms/feed-me/src/models/FeedModel.php(196): craft\\feedme\\services\\DataTypes->getFeedData()",
        "#2 /home/craft/releases/133/vendor/craftcms/feed-me/src/queue/jobs/FeedImport.php(94): craft\\feedme\\models\\FeedModel->getFeedData()",
        "#3 /home/craft/releases/133/vendor/craftcms/cms/src/queue/BaseBatchedJob.php(84): craft\\feedme\\queue\\jobs\\FeedImport->loadData()",
        "#4 /home/craft/releases/133/vendor/craftcms/cms/src/queue/BaseBatchedJob.php(97): craft\\queue\\BaseBatchedJob->data()",
        "#5 /home/craft/releases/133/vendor/craftcms/cms/src/queue/BaseBatchedJob.php(109): craft\\queue\\BaseBatchedJob->totalItems()",
        "#6 /home/craft/releases/133/vendor/craftcms/cms/src/queue/BaseBatchedJob.php(171): craft\\queue\\BaseBatchedJob->totalBatches()",
        "#7 /home/craft/releases/133/vendor/craftcms/cms/src/queue/Queue.php(267): craft\\queue\\BaseBatchedJob->getDescription()",
        "#8 /home/craft/releases/133/vendor/craftcms/cms/src/helpers/Queue.php(58): craft\\queue\\Queue->push()",
        "#9 /home/craft/releases/133/vendor/craftcms/feed-me/src/console/controllers/FeedsController.php(112): craft\\helpers\\Queue::push()",
        "#10 /home/craft/releases/133/vendor/craftcms/feed-me/src/console/controllers/FeedsController.php(70): craft\\feedme\\console\\controllers\\FeedsController->queueFeed()",
        "#11 [internal function]: craft\\feedme\\console\\controllers\\FeedsController->actionQueue()",
        "#12 /home/craft/releases/133/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()",
        "#13 /home/craft/releases/133/vendor/yiisoft/yii2/base/Controller.php(178): yii\\base\\InlineAction->runWithParams()",
        "#14 /home/craft/releases/133/vendor/yiisoft/yii2/console/Controller.php(180): yii\\base\\Controller->runAction()",
        "#15 /home/craft/releases/133/vendor/yiisoft/yii2/base/Module.php(552): yii\\console\\Controller->runAction()",
        "#16 /home/craft/releases/133/vendor/yiisoft/yii2/console/Application.php(180): yii\\base\\Module->runAction()",
        "#17 /home/craft/releases/133/vendor/craftcms/cms/src/console/Application.php(91): yii\\console\\Application->runAction()",
        "#18 /home/craft/releases/133/vendor/yiisoft/yii2/console/Application.php(147): craft\\console\\Application->runAction()",
        "#19 /home/craft/releases/133/vendor/craftcms/cms/src/console/Application.php(122): yii\\console\\Application->handleRequest()",
        "#20 /home/craft/releases/133/vendor/yiisoft/yii2/base/Application.php(384): craft\\console\\Application->handleRequest()",
        "#21 /home/craft/releases/133/craft(13): yii\\base\\Application->run()",
        "#22 {main}"
    ],
    "memory":35718752,
    "exception":"[object] (TypeError(code: 0): Cannot assign bool to property craft\\feedme\\base\\DataType::$feedData of type array at /home/craft/releases/133/vendor/craftcms/feed-me/src/datatypes/Xml.php:86)"
} 

Steps to reproduce

  1. Set up a feed and ensure it is correctly configured.
  2. Regenerate the feed under conditions where no primary elements are included.
  3. Attempt to queue the feed, either via the console command or the control panel.

Additional info

  • Craft version: 4.14.11
  • PHP version: 8.2.4
  • Database driver & version: PostgreSQL 14.7
  • Plugins & versions: Feed Me 5.11.0

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions