0

One installation of Drupal has been fine for a long time, but has started developing a WSOD on most (maybe all) cron invocations.

Looking through Drupal's log messages, I see a few normal cron messages, and then this:

Warning: call_user_func_array() expects parameter 1 to be a valid callback, no array or string given in theme_get_registry() (line 277 of theme.inc).
Warning: array_keys() expects parameter 1 to be array, null given in ThemeRegistry->initializeRegistry() (line 413 of theme.inc).
Warning: array_fill_keys() expects parameter 1 to be array, null given in ThemeRegistry->initializeRegistry() (line 413 of theme.inc)
Warning: PHP Shutdown: Argument #1 is not an array in ThemeRegistry->set() (line 457 of theme.inc).

I then see the following repeated many hundreds of times, once for each theme hook, it seems:

Theme <hook name> not found. Warning: array_key_exists() expects
parameter 2 to be array, null given in ThemeRegistry->offsetExists()
(line 421 of theme.inc).

So that is repeated a few hundred times, where <hook name> is every theme hook in the entire Drupal installation.

It has been running a custom theme, but that theme has behaved fine for ages. In fact, I have not made many recent site changes. I've only updated Drupal to 7.52.

Any ideas how to proceed?

0

Looks like an issue with either a theme hook implementation, or call to a theme function. In particular seems related to theme_block

While it could be something else, I'd suggest making sure you have the file block.tpl.php in your base and sub-theme directories and then clear cache.

Other possibilities are a file permission issue, make sure the files are readable by the webserver

| improve this answer | |
  • When I said that message was repeated for every theme hook, I meant that "hook block" was different in each of the hundreds of messages. It seems to cycle through every single hook in Drupal. There is nothing special about hook block. I will try to clarify that in the post. – Richard of Essex Feb 1 '17 at 22:03
  • @RichardofEssex in that case, perhaps a file permission issue, if the system can't read the updated files. Make sure the install files are readable by the webserver user. – David Thomas Feb 1 '17 at 22:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.