I recently (and painfully) discovered that if (1) a rule exists for clearing a particular Views cache when a node is updated/added within a particular content type, (2) the View referenced in the rule's action is subsequently deleted (and there are no other caches that are being cleared with the action), and (3) the action is not removed or updated in the rule, then (voila) updating or adding a node within the content type is likely to result in a white screen of death and the following PHP error:

Fatal error: Call to a member function set_display() on a non-object in /[path]/modules/cache_actions/cache_actions.rules.inc on line 413

It would be nice if this didn't happen, because tracking the problem down the first time it happens can be a pretty brutal exercise (especially if you have a lot of cache-clearing rules). However, more than anything I wanted to post this as a PSA for anyone else who runs across this problem.

C.

Comments

deadbeef’s picture

Category: feature » bug
Status: Active » Needs review
StatusFileSize
new2.81 KB

Attached patch should stop the wsod (and cron exception) and give you a watchdog that you have a orphan reference to a display.

deadbeef’s picture

Issue summary: View changes

Missed the word "type" in "content type"... added it for clarification.