I have a custom panel layout that works 99.9% of the time. However, sometimes (when editing views, mainly) when the menu router rebuilds itself, panels on the site (usually the homepage, but it depends on what is being viewed at that instant) will fail to render. The page template will render - our menus show up, so I know panel-pane.tpl is being loaded - but the panel-set itself is blank. Worse, this result ends up cached and stays that way for hours.

If I log in and edit the panel, and view "Contents" it appears *empty*. If I click onto another tab, and then back to "Contents", the panels are full again. I don't even have to save at this point and everything starts to render properly again on my homepage (for logged-in users - I do have to save to clear the cache for anon).

Various caching has helped, but not removed, the problem. I've made sure that panels isn't falling into legacy mode, it's specified properly in my theme.info file...

Anybody seen this behaviour before? Any tips, tricks, or ideas?

CommentFileSizeAuthor
#6 diff_registry-1113614-6.txt32.94 KBosopolar
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

jfolwarski’s picture

Version: 6.x-3.8 » 6.x-3.9

I ran into this same issue. All of a sudden the node types that used panels just showed a blank screen and messages where being logged saying the layout wasn't being loaded. Then when I went to the panel page editor and changed tabs it fixed the issue. The time the messages started to get logged coincides with a cron run so the menu rebuild is a decent thought to the reason behind it. I also bumped the issue to latest release version since that's what we're using.

edit: we are using custom layouts

Renee S’s picture

As are we.

Further to: running cron or doing a few other things causes a rebuild of the theme registry, and that is when the behaviour happens. Drupal is unsetting my default theme! Because I have it specified in settings.php also, however, the site still mostly works, but panels needs what's specified in the theme.info file to get the path to the custom layouts. Oddly it doesn't happen every time, but I think it has something to do with how it caches and when the cache gets rebuilt; if the page is hit by a visitor at the wrong time, it rebuilds without that layout information.

Renee S’s picture

Status: Active » Fixed

This is a clash of Drupal's well-documented "theme getting unset" problem #305653: Themes disabled during update, in conjunction with the above. Turning off Update fixes it during crons... for now... I'm marking this as "fixed" because it's not really Panels' fault :)

anoopjohn’s picture

Status: Fixed » Active

I have a similar symptom but I am not doing any menu_rebuilds or view_saves. I don't have update status module enabled as well. The problem occurs and then clears itself without me doing anything. I have memcache on the server. Going through 305653 mentioned above I came across the following threads.

http://drupal.org/node/305653
http://drupal.org/node/147000
http://drupal.org/node/632080
http://drupal.org/node/1113614

Still not quite sure as to what exactly is the direction I should take with this issue though.

anoopjohn’s picture

I run memcache on the server. I see that when I restart memcache the issue is resolved.

osopolar’s picture

FileSize
32.94 KB

I have the same symptoms: the panel content disappears (randomly) from time to time, while the menu content is still present.

There is a big issue #979912: Panels cache getting stuck, getting white screen on my homepage panel., but I guess it's a bit different because people gets white screens (wsod) there, while in this issue only the panel content disapears.

How we deal with the problem currently:

We set up a script on our webserver which checks every 3 minutes if the panel content is on page (just by looking for an panel css id), if not, the script dumps the database, runs two dimes drush cc all and call the frontpage again, to built it for the cache. This is working well and in 2 weeks the error appeared 3 times and got "cured" successfully. Clearing the theme registry solves the problem for authenticated users but I use normal or aggressive caching so I need a cache clear all.

Now I have a dump with the missing panels, which I can use for more research purposes on my stage server. BTW: I experienced the problem on the live an on the stage server.

I followed the instructions from dsnopek in #104 from the mentioned issue and created a diff between the good and the bad registry (see attachment).

Renee S’s picture

ospolar, have you tried turning off the Updates module? (Not terribly good practice but if you have a dev site it can go there.)

osopolar’s picture

Yes, update-status-module is off (good practice for a dev/stage/live environment), but it didn't solve the problem, I still have empty content for panel pages. This solved your problem?

Renee S’s picture

It did. I also specified this in my theme.info file, not sure if it actually helped or was just coincident:

; Panels Layouts
plugins[panels][layouts] = layouts
api[panels][styles][version] = 2

merlinofchaos’s picture

Until we can understand how the theme system is failing us here, the workaround is to move your layout plugins to a module. :/

naero’s picture

@merlinofchaos

Can you describe how to move layout plugins to a module? Is there a comment/post that describes this process?

c4rl’s picture

Comment #9 reached the same conclusion I did on another issue (possibly duplicate?) http://drupal.org/node/865840#comment-3969204

Letharion’s picture

Status: Active » Postponed (maintainer needs more info)

This fixed Core issue #147000: Rewrite module_rebuild_cache() and system_theme_data() seems like it could have fixed this? Can anyone still reproduce?

esmerel’s picture

Status: Postponed (maintainer needs more info) » Fixed

Status: Fixed » Closed (fixed)

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