Just hit a fatal error "MAXIMUM FUNCTION NESTING LEVEL OF '100' REACHED", which appears to have been triggered by eva_entity_view_alter() in conjunction with display suite.

Here's a pastedump: http://pastebin.com/F5kT0WM6

Comments

mkadin’s picture

I'm guessing this infinite loop must be springing out of an EVA view attached to an entity that displays that same entity. In other words, let's say I have an EVA attached to a node of type 'Article' that shows other 'Articles' (and potentially the same original article). Then the universe explodes.

Is that what you have going on?

aaronbauman’s picture

That sounds more than plausible -- i'll investigate that route and see if I can put together a patch to short-circuit

aaronbauman’s picture

Status: Active » Needs review
StatusFileSize
new648 bytes

OK, here's a kludge on top of a hack that resolved the issue for me.

Using the example that you provided, I actually am relating Articles to other Articles, and I need EVA to accommodate that.
Since this quick fix seems to address the problem, I haven't investigated into why Display Suite seems to be exposing the issue, or whether this issue is actually limited to Display Suite.

mkadin’s picture

What result does this give you? Do you get 3 rendered nodes and does it go no further?

aaronbauman’s picture

StatusFileSize
new777 bytes

Well, no, I get the expected results.
In the case i just tested, i have a nodereference field on "article" node type.
I use this to relate 5 other articles to a new node, and the EVA view renders all 5 nodes.

The weird thing is that this issue was appearing on the node/add form, not just the rendered page.

But, now that you mention it, if we get to the end of the hook_view_alter(), we are safe to decrement the recursion flag.
updated patch attached.

mkadin’s picture

Do the referenced nodes get displayed with a view mode that shows their own EVA view?

aaronbauman’s picture

no, the attached EVA view is a fields display - it only shows a node title and link.

mkadin’s picture

Oh that's bad. I'm assuming you have the Node Reference display hidden on the 'Manage Display' tab?

aaronbauman’s picture

Exactly - I'm using the EVA to display the nodereference'ed nodes, and the fields are hidden via manage display.

mkadin’s picture

I just tried to reproduce this error for the first time but wasn't able to. Can anyone provide some steps to reproduce this from a fresh drupal install?

mkadin’s picture

Status: Needs review » Active
Maxime Gilbert’s picture

This issue is maybe related to http://drupal.org/node/1264386#comment-5017214

mkadin’s picture

Certainly could be...I've tried twice to reproduce this from a fresh drupal install and have been unsuccessful...if someone who's experiencing this issue can provide steps, we can tackle this beast.

mkadin’s picture

Status: Active » Closed (cannot reproduce)

If someone can reproduce this, please open it up again with some clear steps to make it happen.

charlietoleary’s picture

This may be a duplicate of this issue: #1296610: Prevent disabled fields from being rendered (performance)

The EVA psuedo fields are enabled on all displays by default, so if you have a display suite layout selected, the fields display settings are not respected in the call to field_extra_fields_get_display(): and will generate an infinite loop of EVA views.

radimklaska’s picture

Issue summary: View changes
Status: Closed (cannot reproduce) » Active

Steps to reproduce:

  • Clean D7 w/ Standard install profile
  • Enable Chaos tools, Display Suite, Display Suite UI, Views, Views UI, Eva (Devel, Devel Generate)
  • Generate/Create few Article nodes
  • Create new view
    • Add EVA field display
    • Set: Format: Unformatted list
    • Set: Show: Display Suite (Teaser view mode in settings)
    • In Entity content type settings:
      • Entity type: Node
      • Bundles: Article
      • (In this case I don't care about Arguments: id and other settings)
    • Save the view

Tadaaa! :)

Now you can't access front page because there are articles with eva fields causing the issue. (otherwise check /admin/structure/types/manage/article/display and show * - EVA Field)

If you want to make front page accessable again, set "Show: Fields" under "Format" in view settings. Note that "Show: Content" also invokes DS and triggers the issue.

tim.plunkett’s picture

radimklaska’s picture

Status: Active » Closed (won't fix)

Oh, thanks.

So, based on https://drupal.org/node/1296596#comment-6455632 I think we can close this issue as won't fix and work on the underlying problem here: #1256368: Add 'visible' key to hook_field_extra_fields()