I've overridden a view exported by a feature module, and while I'm able to create an override component for it, when trying to export a feature that contains that component or attempting to edit that component, I see in my PHP error log "[02-Feb-2011 05:01:31] PHP Fatal error: Nesting level too deep - recursive dependency? in /Users/ezra/Developer/...sites/all/modules/contrib/features/features.export.inc on line 444" and see formatted output, presumably of the exported component object, but no rendered Drupal page output.

The same error appears in the PHP error log when viewing the admin/build/features page, and the ajax "State" indicators never update, presumably because Features is unable to rebuild.

I suspect this has to do with features_override's ability to set or recognize FEATURES_OVERRIDE_RECURSION_MARKER in the override component.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

ezra-g’s picture

Given that views exports have a predictable structure, perhaps it makes sense for these components to simply alter $views[$view_name], rather than add and subtract from the export object.

ezra-g’s picture

Another option would be to use a text diff of the overridden feature. Seems like this could be more reliable and less likely to have recursion errors.

nedjo’s picture

Thanks for the report. The first steps of the work were done in #932806: Test/fix overriding of Panels and Views. There is an unused function in features_override.module that converts an override to a text export. It might be feasible on that basis to generate alters. But I'd prefer to try the approach of recognizing FEATURES_OVERRIDE_RECURSION_MARKER.

I'll get to this when I get a chance, but patches meantime very welcome.

nedjo’s picture

Draft patch, untested.

nedjo’s picture

Status: Active » Patch (to be ported)

Fixed in http://drupal.org/cvs?commit=500786, significant refactoring. Need to port to D6.

nedjo’s picture

Status: Patch (to be ported) » Fixed

Applied D6 backport.

Status: Fixed » Closed (fixed)

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

dbassendine’s picture

I'm still seeing this issue in 6.x-1.0-beta2. I've created a View override using the "Overrides" tab, but the WSOD occurs when exporting a the override to a new Feature. The error message is "Fatal error: Nesting level too deep - recursive dependency? in .../profiles/openatrium/modules/contrib/ctools/includes/export.inc on line 664".

Also noted in d6 in http://drupal.org/node/1661782 (marked as duplicate).

I'm not sure if this is related, but I also get error messages when I view a Feature's components (ie. admin/build/features/[featurename]). Here the error is "warning: Attempt to assign property of non-object in .../sites/all/modules/contrib/features_override/features_override.alter.inc on line 37."

dbassendine’s picture

Status: Closed (fixed) » Active

Reopening.

ZeiP’s picture

Issue summary: View changes
Status: Active » Closed (outdated)

Drupal 6 is no longer supported.