Callback graph throws "Maximum call stack size exceeded" error on circular callback example

One of the most useful debugging tools for me is the callback graph. I also like clicking on specific callbacks to see how long they take to run and validate inputs and outputs.

I recently added a circular callback to my app following the first example documented in circular callbacks. Now when I click on a callback, the callback graph throws a “Maximum call stack size exceeded” error. You can reproduce this error on dash 2.3.1 on python 3.8 using just the app.py in the example linked in the documentation.

Is there an easy way to workaround this?

This is a bug. Thank you for reporting, @nathan_chan

What a way to join the community with a first post. :clap:

1 Like

Hi, I am still noticing this error!

Is there a potential workaround or a fix? Can’t use the callback graph :frowning:

I see it on dash 2.5.0 and both custom test cases as well as the example in the circular callbacks document page.

When I set Error.stackTraceLimit = Infinity; in chrome’s console to see more call stack, then I see a huge amount of calls in the underlying JS:

And the code it calls (cytoscape.cjs.js):

In that last image (CallbackGraphEffects.js) I see a comment that says “WARNING: No cycle detection!”
Is that related?

I also believe it is linked to this issue :slight_smile:
Github Plotly Dash Issue 1656

hi @KingClue1
Thank you for reporting this again. I’ll make sure to share this with my colleagues, and let you know if we have an update.

Adam

1 Like