Bug description

  1. I am trying to see a kind of market report with some several native filters.
  2. It has some charts like "daily qty of products" or "detail list of products" so I want to apply some filters for only "detail list of products" to see exact product list in some points.
  3. And it says [RangeError: Maximum call stack size exceeded] when I click [Scoping] > [Apply to specific panels] immediately.
  4. So I tried without some charts on same dashboard and It worked well. Is there any other way to fix this without dividing dashboard? cause I don't want to make people uncomfortable who is sharing this dashboard.

Screenshots/recordings

No response

Superset version

4.1.3

Python version

3.10

Node version

I don't know

Browser

Chrome

Additional context

No response

Checklist

  • [x] I have searched Superset docs and Slack and didn't find a solution to my problem.
  • [x] I have searched the GitHub issue tracker and didn't find a similar bug report.
  • [x] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Comment From: dosubot[bot]

Hi @seungtaekkwon! I'm Dosu and I’m helping the superset team.

This error is likely caused by a circular reference or corrupted structure in your dashboard layout. The filter scoping logic in Superset builds a tree of dashboard panels and charts using recursion, and if the layout contains a cycle (for example, a panel is its own descendant), it can trigger a stack overflow like this. That's why removing certain charts makes the problem disappear—those charts may be involved in the cycle.

To fix this without splitting the dashboard, try exporting your dashboard's JSON and inspecting the layout section for any circular references or invalid parent/child relationships. You can also try removing and re-adding the problematic charts one by one to isolate which chart or panel is causing the issue. Cleaning up the dashboard layout to remove any cycles should resolve the error. There isn't currently a built-in cycle detection in the filter scoping logic, so malformed layouts can cause this problem source.

If you continue to see the error after cleaning up the layout, sharing the dashboard's metadata with maintainers could help improve error handling in future releases.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X