Occasionally a page with a flexible layout would be displayed to anonymous users without any styling, but only if Drupal caching was enabled.
This was an extremely frustrating bug to diagnose as it was hard to reproduce consistently. It may or may not be a duplicate of the issue described in http://drupal.org/node/539228, but note that I am not using the poormanscron module.
I finally managed to nail it using FireBug's Net module which reported that the ctool's CSS link was broken. For some reason this file expired while the page was still cached by Drupal. This happened regardless of the cache TTL, but it was hard to catch and reproduce until we increased TTL to 1 hour, which may explain why people are reporting that display problems may "go away" on reload.
Until this is fixed, a simple workaround is to include the CSS in the missing ctools file directly inside the page template in your theme.
Comments
Comment #1
sdboyer commentedCould you elaborate on the variety of specific (drupal-internal) caching mechanisms that you've got at work, here? It sounds like it's the TTL setting you upped to 1hr is the one at admin/settings/performance?
My initial guess here is that you've got two nearly-simultaneous requests coming in; the first one, which hits the filled cache and adds the css filename to the header; the second one comes in and the cache expires, removing the old file then generating a new one, but that the new file doesn't get written before the first request completes.
...maybe. That explanation is pretty implausible, though, and shouldn't manifest enough that you could really reproduce it. More information on your exact caching setup might help. What's really weird, though, is that this only happens WITH drupal's internal caching enabled. So yeah: I can't move on this without enough details to be able to precisely reproduce your situation.
Comment #2
lirazsiri commentedI'm using Drupal's normal internal caching mechanisms, so yes the TTL setting is the one in admin/settings/performance.
Your guess regarding is most likely wrong. This isn't a subtle effect. The cached page links to the deleted ctools file and the display is broken for as long as it lives in the cache. In my case after I had increased the TTL to an hour the broken page was visible for a long while.
This seems to be related to http://drupal.org/node/504552 which is already the most commonly reported bug in Panels 3.
Comment #3
merlinofchaos commentedThis is pretty much the same as #504552: Problems with panels styles CSS and JS on cached pages.