I am experiencing a very strange bug: In some pages, parts of the content is missing on cached pages. As far as I can observe, the content that is missing comes from CCK fields (imagefield, text fields), but I'm not sure if only from CCK. This only happens on some nodes and just sometimes.

Comments

dcine’s picture

I had a similar error and solved it by clicking on "Flush all caches / Page and else" (also press "theme registry" and "Menu") into the module "Administration menu".

I hope this solution can serve you (if not too late)

Barry Collins

yan’s picture

Priority: Critical » Major

Yes clearing the cache (although in this case: the boost cache) makes the missing content reappear. But it's not really a solution to manually refresh the cache every time something goes wrong.

It's not really critical, though.

jpsalter’s picture

We have the same problem for one of our clients (we didn't build the site but now support it). Did you make any progress?

Anonymous’s picture

Boost 6.x is only for maintenance releases if a serious issue is discovered. Does boost watchdog show any errors, when the page is deleted from the cache then re-generated ? Conceptually boost is very simple, the server's output buffer is enable, then using ob_get_contents()

http://php.net/manual/en/function.ob-get-contents.php

it saves out a copy of that which will be sent to the browser. If the contents are not being put into the buffer by cck then there would be missing sections. This leads to "how is the content being generated for the cache" if the boost crawler in 6.x is being used, then that could be an issue if the cck generated fields are dependent on variables or a user id (and boost does not generate non-anonymous content), If boost is turned off, can multiple refreshes of the page lead to the same result ? if boost is turned on without the crawler, does a visit the to page by a browser generate a correct copy ? if the crawler is turned on, (and the cache flushed) does that result in the missing content. That should narrow down the field. If it is the crawler, then it can be disabled entirely with a very long page expiry set and your visitors will generate the cache, or you can try a cron job and wget to generate the pages and see if it gives differing results.

yan’s picture

Issue summary: View changes

Hi Philip_Clarke,

thanks for your answer and sorry for the long delay. I haven't been able to look at the problem for a while, but it persists. The main problem is that I can't really reproduce it - it happens sometimes, but I don't know what triggers it.

then that could be an issue if the cck generated fields are dependent on variables or a user id (and boost does not generate non-anonymous content)

The missing content is available for anonymous users and doesn't depend on a user's role or anything like that.

If boost is turned off, can multiple refreshes of the page lead to the same result?

No, I have never experienced the same behaviour other than on boost cached pages.

if boost is turned on without the crawler, does a visit the to page by a browser generate a correct copy?

As I said before, I can't really reproduce the problem. I happens sometimes, but I don't know when. The crawler is not activated.

if the crawler is turned on, (and the cache flushed) does that result in the missing content.

The crawler is not in use and a cache refresh usually makes the missing parts reappear.

yan’s picture

Priority: Major » Critical

This is getting critical as it happens a lot. Important content disappears and makes the site unusable. Any ideas how to solve it?

Anonymous’s picture

Have you been able to find a consistent way of reproducing the error? is the CCK data pulled in based on a URI variable like ?x=y or some JSON trigger?

yan’s picture

Unfortunately I can't find a way to reproduce the problem. It seems that it doesn't happen when I flush the cache manually using one of the boost blocks. But on one site it happens quite regularly in the last weeks when the cache is created automatically.

There are no URI variables or JSON in play, it's just very normal CCK printed out in node.tpl.php.

yan’s picture

Another update: What's missing in the cache is:

  • All CCK fields both inside the node (node.tpl.php) and in blocks
  • Taxonomy terms

There is a boost error in the logs, but I don't see a relation - maybe you do? It seems to be connected to URLs linked to by the Service Links module although I already disabled that service:

Unable to write temp file: files/cache/normal/example.com/analysis/4489_favtitle=bolívar and “the mysterious unknown…”.html6275
Group ID: 1043
User ID: 1060
Current script owner: 
Anonymous’s picture

Are you sure that your filesystem can handle odd characters like that ? is that ... after the

Ã…

I do think it's related, even if PHP could write that, I do not think any rewrite rules would be able to pick up that character set without a lot of work.

yan’s picture

Yeah, as I said, I don't think it's related and I don't really know where the error comes from. I just put it there in case it helps.

This might be related to our issue:
#926050: CCK fields (image, date, link, text) don't appear after node creation. Is this a caching issue?

yan’s picture

Philip_Clarke, is there any way I can manually create a static cache page and trace that process?

Anonymous’s picture

A lot may also depend on how many characters can be in a filename, if for example it is the result of a large search.

With regards to the creating a static page, then I suggest using standard FTP and seeing if it will display those characters or using PHP

touch(<em>filename</em>)

yan’s picture

I didn't mean the character problem but the original issue with the missing CCK fields.

yan’s picture

Could this have to to with memcache? It's available on the server, but the module isn't activated for the website I am experiencing most problems with right now. Another site in the same multisite setup had the same problem in the past but lately just very rarely. That second site has the memcache module enabled.

https://drupal.stackexchange.com/questions/5932/sometimes-cck-custom-fie...

Anonymous’s picture

Off the top of my head and from very distant memory, but a) check settings.php to check that you have no cache back ends enabled still (even though turned off). b) In CCK check that all caching is off. My thoughts are along the lines of "something is triggering the boost_disable_because_of_caches variables" other than that it would be going into the code for specific pages and seeing what is happening, but you state that it is not a consistently reproducible.

When debugging generally one finds the simplest possible page that triggers the issue.