Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
When the aggregator cron task runs and pulls in content it leaves the following error:
EntityMalformedException: Missing bundle property on entity of type node. in entity_extract_ids() (line 7663 of includes/common.inc).
Looking at the Feed node it shows the following example message in the log:
array(
'title' => 'The Replacements to Reunite for Three Shows',
'description' => "<br/>The pioneering alt rockers are to play at Riot Fest dates in Toronto, Chicago and Denver.<p><a href=\"http://www.hollywoodreporter.com/news/replacements-reunite-three-shows-567768\" target=\"_blank\">read more</a></p><img width='1' height='1' src='http://rss.feedsportal.com/c/34793/f/641585/s/2d386fbc/mf.gif' border='0'/><div class='mf-viral'><table border='0'><tr><td valign='middle'><a href=\"http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.hollywoodreporter.com%2Fnews%2Freplacements-reunite-three-shows-567768&t=The+Replacements+to+Reunite+for+Three+Shows\" target=\"_blank\"><img src=\"http://res3.feedsportal.com/social/twitter.png\" border=\"0\" /></a> <a href=\"http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fwww.hollywoodreporter.com%2Fnews%2Freplacements-reunite-three-shows-567768&t=The+Replacements+to+Reunite+for+Three+Shows\" target=\"_blank\"><img src=\"http://res3.feedsportal.com/social/facebook.png\" border=\"0\" /></a> <a href=\"http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fwww.hollywoodreporter.com%2Fnews%2Freplacements-reunite-three-shows-567768&t=The+Replacements+to+Reunite+for+Three+Shows\" target=\"_blank\"><img src=\"http://res3.feedsportal.com/social/linkedin.png\" border=\"0\" /></a> <a href=\"http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fwww.hollywoodreporter.com%2Fnews%2Freplacements-reunite-three-shows-567768&t=The+Replacements+to+Reunite+for+Three+Shows\" target=\"_blank\"><img src=\"http://res3.feedsportal.com/social/googleplus.png\" border=\"0\" /></a> <a href=\"http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fwww.hollywoodreporter.com%2Fnews%2Freplacements-reunite-three-shows-567768&t=The+Replacements+to+Reunite+for+Three+Shows\" target=\"_blank\"><img src=\"http://res3.feedsportal.com/social/email.png\" border=\"0\" /></a></td><td valign='middle'></td></tr></table></div><img src=\"http://feeds.feedburner.com/~r/thr/music/~4/cF9K7CEoFXw\" height=\"1\" width=\"1\"/>",
'author_name' => 'Aaron Couch',
'timestamp' => 1371104203,
'url' => 'http://feedproxy.google.com/~r/thr/music/~3/cF9K7CEoFXw/story01.htm',
'guid' => '567768 at http://www.hollywoodreporter.com',
'geolocations' => array(),
'domains' => array(
'http://www.hollywoodreporter.com/category/topics-trends/international' => array(
0,
),
'http://www.hollywoodreporter.com/tag/music-0' => array(
1,
),
'http://www.hollywoodreporter.com/category/source/thr-online' => array(
2,
),
'http://www.hollywoodreporter.com/category/regions/usa' => array(
3,
),
),
'tags' => array(
'International',
'Music',
'THR Online',
'USA',
),
)
This is the entity object:
(object) array(
'type' => NULL,
'changed' => 1371428730,
'language' => 'und',
'is_new' => TRUE,
'status' => 1,
'promote' => 1,
'sticky' => 0,
'uid' => 0,
'revision' => FALSE,
'comment' => 2,
'menu' => array(
'link_title' => '',
'mlid' => 0,
'plid' => 0,
'menu_name' => 'main-menu',
'weight' => 0,
'options' => array(),
'module' => 'menu',
'expanded' => 0,
'hidden' => 0,
'has_children' => 0,
'customized' => 0,
'parent_depth_limit' => 8,
),
'log' => 'Created by FeedsNodeProcessor',
'feeds_item' => (object) array(
'is_new' => TRUE,
'entity_id' => 0,
'entity_type' => 'node',
'id' => 'feed',
'feed_nid' => '55281',
'imported' => 1371428730,
'hash' => '7981358b118d6d46c86b9c1c1e2f33dc',
'url' => 'http://feedproxy.google.com/~r/thr/music/~3/cF9K7CEoFXw/story01.htm',
'guid' => '567768 at http://www.hollywoodreporter.com',
),
'title' => 'The Replacements to Reunite for Three Shows',
'created' => 1371104203,
'field_feed_article_description' => "<br/>The pioneering alt rockers are to play at Riot Fest dates in Toronto, Chicago and Denver.<p><a href=\"http://www.hollywoodreporter.com/news/replacements-reunite-three-shows-567768\" target=\"_blank\">read more</a></p><img width='1' height='1' src='http://rss.feedsportal.com/c/34793/f/641585/s/2d386fbc/mf.gif' border='0'/><div class='mf-viral'><table border='0'><tr><td valign='middle'><a href=\"http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.hollywoodreporter.com%2Fnews%2Freplacements-reunite-three-shows-567768&t=The+Replacements+to+Reunite+for+Three+Shows\" target=\"_blank\"><img src=\"http://res3.feedsportal.com/social/twitter.png\" border=\"0\" /></a> <a href=\"http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fwww.hollywoodreporter.com%2Fnews%2Freplacements-reunite-three-shows-567768&t=The+Replacements+to+Reunite+for+Three+Shows\" target=\"_blank\"><img src=\"http://res3.feedsportal.com/social/facebook.png\" border=\"0\" /></a> <a href=\"http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fwww.hollywoodreporter.com%2Fnews%2Freplacements-reunite-three-shows-567768&t=The+Replacements+to+Reunite+for+Three+Shows\" target=\"_blank\"><img src=\"http://res3.feedsportal.com/social/linkedin.png\" border=\"0\" /></a> <a href=\"http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fwww.hollywoodreporter.com%2Fnews%2Freplacements-reunite-three-shows-567768&t=The+Replacements+to+Reunite+for+Three+Shows\" target=\"_blank\"><img src=\"http://res3.feedsportal.com/social/googleplus.png\" border=\"0\" /></a> <a href=\"http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fwww.hollywoodreporter.com%2Fnews%2Freplacements-reunite-three-shows-567768&t=The+Replacements+to+Reunite+for+Three+Shows\" target=\"_blank\"><img src=\"http://res3.feedsportal.com/social/email.png\" border=\"0\" /></a></td><td valign='middle'></td></tr></table></div><img src=\"http://feeds.feedburner.com/~r/thr/music/~4/cF9K7CEoFXw\" height=\"1\" width=\"1\"/>",
)
As can be seen, there is no 'type' attribute on the node (entity) object, thus it fails.
Comments
Comment #1
DamienMcKennaNever mind, it turned out that Feeds was being used, not aggregator, and when running the feed updater from the website it first displayed a message "Please select a bundle." with a link to admin/structure/feeds/feed/settings/FeedsNodeProcessor to fix the problem. End of story.
Comment #2
vinmassaro CreditAttribution: vinmassaro commentedI'm reopening this issue because updating to 7.x-2.0-alpha8 is problematic with feed importers that are part of a feature. It appears that importers that are manually created from the UI get an entry in the feeds_importer table, but importers stood up by Features do not, so feeds_update_7208() does not set their bundle correctly from the content type they were previously set to import into. This causes existing feed importers to stop working until a user manually chooses a bundle. Is there a way to fix feeds_update_7208() to programmatically set the bundle for importers that are part of a feature?
Hoping someone else can confirm. I think there needs to be a warning about this in the release notes since it can break imports in production and will make updating to this version on a large installation very difficult until it is fixed. Thanks.
Comment #3
MegaChriz CreditAttribution: MegaChriz commentedFeatures are in code, not in the database. I don't think Feeds should try to change/update code from other modules.
To fix your Feature modules, it will probably be enough to just regenerate them (not tested).
I agree there should be a warning about this change. In #1711648: Abstract bundle handling. (the issue where the change was done) it was noted that there should be a "big notice", but appearantly this never happened.
Comment #4
vinmassaro CreditAttribution: vinmassaro commentedI dug further into this and realized that
feeds_update_7208()
detects the Feeds processor type, and the importer I was having trouble with uses the Feeds Self Node Processor module. This processor is not defined in the switch condition infeeds_update_7208()
, so no update happens on this importer. I can write a patch for this module to fix this, but updating to the latest version of Feeds at this point breaks any importers that are not using FeedsNodeProcessor or FeedsTermProcessor. Thoughts?Comment #5
MegaChriz CreditAttribution: MegaChriz commentedI've created a change record for this change. People can also find this change on the release notes of Feeds 7.x-2.0-alpha8 when they click on "View change notices for this release" on the bottom of the page.
Processors from modules that extend Feeds (like Feeds Self Node Processor) should update their code to adapt to this change.