Uncaught RangeError: Maximum call stack size exceeded

Hello,

this has been happening more and more and now to a point i cannot access big part of all account records

The weird thing is that I’m the only user experiencing this issue…

Any other user on same records , all behave fine. I cannot see any reason except i’m the Admin maybe?

We are all using the same browser (Chrome Version 55.0.2883.87 m)

Our Skuid version is: 8.15.14

Here’s error in details

Any ideas? I’m really stuck right now and cannot work on skuid…

Thank you

Hi Dave, at a glance this could be resulting from a Javascript function calling itself recursively, or a stack of “too many” functions. In the context of your page, are you aware of any Javascript snippets or other processes that could be calling themselves without a way of halting?

Hi ,

I don’t see anything of the sort, and nothing new added…

As well if that was the case, why would i be the only user having this issue?

I would be willing to do a screen share, if someone wants to see it.

Thx

Can you provide more details about what leads to this error? And, are there similar work flows that don’t lead to the error?

You’ve said you’re the only user that’s seeing this behavior. Could there be any object, field, workflow, etc. that only your admin account can access, which is being brought into this process? The goal in asking this is to try and narrow down the places to check for the culprit. 

Hi Mark,

Sure I’ll do my best to provide what i can see:

 I logged under another admin and no issue at all…

So seems only me

As well it seems to be happening for 2 specific page includes only … If i remove  both page includes from  page , the error stops…

Both of those page include are based on same models (and kind of very similar, down to a couple exceptions)

Removing one of them at a time, I still get issues, so I do no think it’s a conflict of having both of them

and the weird this is that , if I preview any account from those pages directly, all works fine

I’m completely at a loss now…

Thx

After Driving myself nuts for over 1 week with this issue, after a lot of different tries, I finally pinpointed the issue. But still think it’s a bug

If I had 2 similar formulas that would cause this issue, but only on my user/computer (which by itself is mind boggling to me, i tried my user on different pc, worked fine, and others did not have same issue)

Formula is: ((NOW() - {{Date_established__c}})/(10002460*60)/365)

And error i could find was: InternalError: too much recursion

It seems to me (could be wrong) that the issue is because of the use of “NOW()” , as probably skuid is trying to always run formula every second?

I would love to get an explanation for that behavior/issue

Thx

Do you possibly have any extensions in your own computer’s browser that would refresh pages to prevent time-outs, or anything along those lines? And, were you able to pinpoint a specific line of code, component, or anything like that?

Although I don’t know specifically how your page is using that formula, I don’t believe that Skuid out of the box would be evaluating this formula every second; just on page /model load. Is there a function or process on the page include that’s being triggered more often than just on page/model load? 

This error is almost always means you have a problem with recursion in JavaScript code, as there isn’t any other way in JavaScript to consume lots of stack.  Sometimes calling a recursive function over and over again, causes the browser to send you Maximum call stack size exceeded error message as the memory that can be allocated for your use is not unlimited. It’s possible to cause infinite recursion in a fully promisified code, too. That can happen if the promises in a chain don’t actually perform any asynchronous execution , in which case control never really returns to the event loop, even though the code otherwise appears to be asynchronous. That’s when it’s useful to wrap your recursive function call into a -

  • setTimeout
  • setImmediate or
  • process.nextTick
Also, you can localize the issue by setting a breakpoint on RangeError type of exception , and then adjust the code appropriately. Moreover, you can managed to find the point that was causing the error by check the error details in the Chrome dev toolbar console , this will give you the functions in the call stack, and guide you towards the recursion that's causing the error.