The best way I can explain this is that I create a "View Context" display, I add the context to a Page in the page manager, then add the Context Rows (Views Row) to the display. Save.
I can view the display fine until...
I go to edit the context.
I save my changes in Views.
I go back to the page manager to ensure the changes were propagated.
I save the display.
Refresh the page I want to see. My rows are all gone.
Flush Drupal's core caches twice. My rows are back!
Refresh the page, my rows are gone!
Flush Drupal's core caches twice, clear views' cache (even though its 'turned off' and my context display isn't currently setup to cache anything). My rows are back!
Refresh the page, my rows are gone!
Contextual information:
I am using an "Unformatted" Views display, with "Panel Fields", and a custom panel layout for output. I have not made any significant changes to it, and the panel layout has worked just fine for quite some time.
The argument the View is requesting is a Taxonomy: Term ID with Depth [=2], and accepts this through "Context" or a default value from the URL.
My page is a taxonomy_term page (using patches submitted: http://drupal.org/node/1101432 and http://drupal.org/node/1131038). It doesn't seem to matter what selection criteria I use, it still happens. Odd thing is, the view preview works just fine.
Output Errors
Warning: Illegal offset type in views_taxonomy_set_breadcrumb() (line 445 of sites\all\modules\views\modules\taxonomy.views.inc).
Warning: array_values() [function.array-values]: The argument should be an array in views_content_views_row_content_type_render() (line 49 of sites\all\modules\ctools\views_content\plugins\content_types\views_row.inc).Turning on ALL error output yielded this:
Notice: Undefined variable: entity_info in field_views_field_default_views_data() (line 177 of sites\all\modules\views\modules\field.views.inc).
Notice: Undefined variable: entity_info in field_views_field_default_views_data() (line 178 of sites\all\modules\views\modules\field.views.inc).Here's whats on lines 177 and 178 of field.views.inc:
'entity id' => $entity_info['entity keys']['id'],
'base table' => $entity_info['base table'],
What really baffles me, is that another context in another display works just fine.
Comments
Comment #1
wjaspers commentedI think I've narrowed it down a little and now I'm less sure caching may be the culprit.
By unchecking "Display specific fields" in the Panel display, the problem resurfaces, no matter what context display is involved.
The display will render all the rows the first time, and never again (until caches are flushed).
If "display specific fields" remains checked, it appears to continue operating normally.
Comment #2
wjaspers commentedEDIT: Identified! Not exposing the "number of items per page" in your View's Pager settings seems to be the absolute trigger. Turning this feature back on brings back all my rows and seems to withstand page refreshes.
Comment #3
merlinofchaos commentedI'm trying to make sense of this, and I'm having a hard time, because I'd need to reproduce this in order to debug it.
It seems like there is some kind of caching involved, since your view basically goes away and then clearing the caches fixes it. It's not clear what exactly is being cached, though.
Do you think you can help reproduce this on a clean install?
Comment #4
wjaspers commentedCaching was turned OFF on the view and in the Advanced Views settings (plus I made sure to flush it). The developer settings for the Drupal install (clean) have CSS/JS aggregation OFF as well as page and block caching OFF. Minimum cache lifetime is set to NONE as well as Expiration of Cached pages.
Odd thing is, I can't reproduce it in a clean install (latest -dev of Ctools and Views) or the one that was having the issue now either. There may have been a related bug in Views and recently corrected. If for some reason it comes back, I'll do my best to better document the situation.
Comment #5
somatics commentedI'm having what I think is this same problem.
However, I have not been able to correct it by clearing the cache; I have enabled the show Items Per Page setting, and that is not correcting it either: My panels just show the full list of rows for each view, no matter what I specify in the Panel settings.
I'm running Drupal 7.8, and the latest Dev versions of the "Chaos3" stack ("Merlin3" stack?):
ChaosTools 7.x-1.x-dev (2011-Sep-02)
Panels 7.x-3.x-dev (2011-Aug-26)
Views 7.x-3.x-dev (2011-Sep-02)
The same problem was presenting when I was running the Recommended Release versions of each as well (I only upgraded each of the modules to dev versions today).
You mentioned there being an issue opened for this elsewhere, but you didn't provide the link and I can't find it.