I get the following error on status report page even though i have cleared all the cache tables,

"Adv CSS/JS Agg - Closure Closure theme function issue.theme_closure

On the performance page clear the cache or just the theme registry if you know how to do that. If this is still an issue open up a bug on the advagg issue queue."

I have the Use AdvAgg in closure checked on the configuration page, if i disable it the message goes away, however i'd like to have the aggregation on the closure region as well.

CommentFileSizeAuthor
#5 advagg-1229838-5.patch2.28 KBmikeytown2

Comments

nevron’s picture

Upon further checking the closure region gets properly aggregated if i have checked the Use AdvAgg in closure checked on the configuration page, however thit false positive status page error gets shown all the time. Can supply more specific debuging information on the issue if asked.

mikeytown2’s picture

if you have admin menu, try flushing the theme cache on the status page via the "admin_menu/flush-cache/theme" link

nevron’s picture

I have tried that, also been tampering with resaving my theme settings and have been clearing cache tables using the drupal_flush_cache() function as well as manually from mysql admin interface. It seems i cant replicate the error status as sometimes it is shown as some others it doesnt. In combination with advagg module i also have cache_router enabled that saves the parsed php code into html on files. Is there a case in your opinion that the if statement that checks if a certain function exists in order to present the specific status error is giving false positive cases when the php code is pre-parsed and saved into an html file? I cant think of anything else as the source of it is the if statement and the phpfunction might have not already been triggered in order to be included. Is there a different implementation that can be done for this like a mysql table entry that updates the status of existance for these functions in the if statement? I am just giving out some thoughts on that as i am not sure if cache_router is beeing involved on this one. Will be checking more thorougly when i get into office again. Thanks though.

mikeytown2’s picture

function gets defined in hook_init(); I could move this up a level so it gets defined when the file gets included (put logic not in a function).

This is how I check the closure function.

  init_theme();
  $hooks = theme_get_registry();
  $function = $hooks['closure']['function'];
  if ($function != 'phptemplate_closure' && variable_get('advagg_closure', ADVAGG_CLOSURE)) {
    // throw error
  }
mikeytown2’s picture

Version: 6.x-1.4 » 6.x-1.x-dev
Status: Active » Needs review
StatusFileSize
new2.28 KB

Here's a patch that does this

mikeytown2’s picture

function to look at if I need to hammer this in: _theme_load_registry() which gets called from _init_theme() which is called from init_theme. Also noted: drupal_rebuild_theme_registry().

From admin_menu.inc's admin_menu_flush_cache() function under the case 'theme':

  module_invoke('system', 'theme_data');
  drupal_rebuild_theme_registry();
mikeytown2’s picture

Status: Needs review » Fixed

Committed #5. Re-open if this is still an issue; will figure out a way to hammer this in from the ideas of post #6.

nevron’s picture

Confirming that it has been resolved with patch from #5 and/or with 6.1.5 release. Thanks Mikey for being so quick, good job.

Status: Fixed » Closed (fixed)

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

bshensky’s picture

Gotta reopen this one...

Adv CSS/JS Agg - Closure Closure theme function issue.theme_closure
On the performance page clear the cache or just the theme registry if you know how to do that. If this is still an issue open up a bug on the advagg issue queue.

This is happening in 6.x-1.9, well after the 6.x-1.5 patch was committed.

We are subtheming the Marvin theme, which in and of itself is subthemed Chameleon.

I see the advagg_* tables NEVER take on any rows.

I have flushed every cache I can get my hands on - full cache flushes, drush cc all, performance clear cache, disable+enable advagg, you name it.

Only advagg is enabled.
Status Report: "Adv CSS/JS Agg - Socket Timeout Already set to 1 seconds. Raw timer: 219.41"
[X] Enable Advanced Aggregation
[X] Use AdvAgg in closure
[X] Generate CSS/JS files on request (async mode)
(o) Wait for locks

I'm fighting a ghost!