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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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

DamienMcKenna’s picture

Project: Drupal core » Feeds
Version: 7.22 » 7.x-2.0-alpha8
Component: aggregator.module » Code
Status: Active » Closed (works as designed)

Never 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.

vinmassaro’s picture

Priority: Normal » Critical
Status: Closed (works as designed) » Active

I'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.

MegaChriz’s picture

Title: "Missing bundle property on entity of type node" when pulling feed content with aggregator » Add a big notice about "abstract bundle handling" in release notes of 7.x-2.0-alpha8
Component: Code » Documentation
Priority: Critical » Major

Features 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.

vinmassaro’s picture

I 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 in feeds_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?

MegaChriz’s picture

Issue summary: View changes
Status: Active » Fixed

I'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.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.