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?
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.
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
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.