My site, which has migration as an import component, was starting to throw server errors when trying to view a taxonomy term page. I was able to trace this back to metatag module and the fact the term ID actually no longer existed (the migration creating it had been rolled back and reran, thus causing the tid to no longer be valid.

When metatag module loads the taxonomy term for the current taxonomy overview page it does not check if the lookup actually had a result and passes a potential NULL value into the Drupal API. This will eventually result in an EntityMalformedException: Missing bundle property on entity of type taxonomy_term. I will attach a patch in a minute.

Files: 
CommentFileSizeAuthor
#6 metatag-entity-malformed-2071649-6.patch797 bytesipo4ka704
FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch metatag-entity-malformed-2071649-6.patch. Unable to apply patch. See the log in the details link for more information.
[ View ]
#3 metatag-n2071649-3.patch1.43 KBDamienMcKenna
PASSED: [[SimpleTest]]: [MySQL] 73 pass(es).
[ View ]

Comments

eelkeblok’s picture

Title:May try to load entities that no longer exists» May try to load entities that no longer exist
StatusFileSize
new771 bytes
PASSED: [[SimpleTest]]: [MySQL] 73 pass(es).
[ View ]

Here's the patch I quickly rolled. You may test this issue by visiting taxonomy/term/ (before the patch this will cause an internal server error, after the patch you should see however the view is configured to handle incorrect arguments). You will need to enable the Views overridden version of the taxonomy overview, that's what this code is dealing with.

Simon Georges’s picture

Status:Active» Needs review
DamienMcKenna’s picture

Issue summary:View changes
StatusFileSize
new1.43 KB
PASSED: [[SimpleTest]]: [MySQL] 73 pass(es).
[ View ]

Rerolled, and duplicated for metatag_ctools_render_alter() too.

DamienMcKenna’s picture

Status:Needs review» Fixed

Committed.

Status:Fixed» Closed (fixed)

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

ipo4ka704’s picture

Status:Closed (fixed)» Needs review
StatusFileSize
new797 bytes
FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch metatag-entity-malformed-2071649-6.patch. Unable to apply patch. See the log in the details link for more information.
[ View ]

When metatag module loads the taxonomy term for the current taxonomy overview page it does not check if the lookup a result is object and passes a potential string value into the "metatag_entity_view" function, when you go to /taxonomy/term/%/%. This will eventually result in an EntityMalformedException: Missing bundle property on entity of type taxonomy_term. I attach a patch.

Status:Needs review» Needs work

The last submitted patch, 6: metatag-entity-malformed-2071649-6.patch, failed testing.

eelkeblok’s picture

Status:Needs work» Closed (fixed)

Hi. Thanks for the patch! However, you shouldn't reopen issues that have reached the "Closed (fixed)" status, see https://www.drupal.org/node/156119. This makes a certain amount of sense; the issue has been worked all the way to completion (patch provided, rtbc, reviewed, committed, fixed, marked by bot as "Closed (fixed)"), so any problems found afterwards are essentially new problems. It would be great if you could create a new issue issue and attach your patch to it. You can of course refer to this issue stating it is a follow-up.