Download & Extend

Circular dependency in theme .info data causes WSOD

Project:Drupal core
Version:7.x-dev
Component:theme system
Category:bug report
Priority:normal
Assigned:Unassigned
Status:active

Issue Summary

There are already parts of the theme system that try to prevent against circular dependencies amongst themes. See http://api.drupal.org/api/function/system_find_base_theme/7

Unfortunately, we don't carry those checks to other parts of the system. For example, admin/build/themes allows you to enable a theme with a circular dependency. And if you do so, the system will enter an infinite loop and present the admin user with a WSOD.

Now, there are 2 possible ways a circular dependency could occur.

  1. Accident by theme developer. I don't think this case justifies adding code to core to prevent a developer from making a dumb mistake. (just listing this for completeness.)
  2. Themes downloaded from different sources. If someone downloads a theme from d.o. that depends on Zen, but also downloads a Zen theme from a 3rd party site that depends on something else, an unwitting admin could create a problem. This is pretty unlikely, but the fix is pretty straight-forward.

Comments

#1

#2

#3

subscribing. We should also check for a non-existing dependency (base theme).

nobody click here