olifolkerd / tabulator

Interactive Tables and Data Grids for JavaScript
http://tabulator.info
MIT License
6.71k stars 818 forks source link

Uncaught RangeError: Maximum call stack size exceeded #2978

Closed pH4Lk0n closed 4 years ago

pH4Lk0n commented 4 years ago

Describe the bug On some of our users data is not displayed in Tabulator. Main problem is that I cannot reproduce on testing machines, but after analyzing code I found a place that produces problem. So please don't close right away.

Error in console is: Uncaught RangeError: Maximum call stack size exceeded

Code is looping between: RowManager.prototype.redraw() which calls on the start: this.adjustTableSize();

which in the end on certain condition loops again to: this.redraw();

On latest versions of Chrome on some users this loops to critical error and Tabulator is not displayed at all. Don't know why it only affect some users but when it does it happens all the time.

Tabulator Info Tested on 4.7.2 and 4.8

Desktop (please complete the following information):

olifolkerd commented 4 years ago

Hey @pH4Lk0n

Please provide a link to a JS Fiddle or CodePen that replicates the issue. It is likely an unusual interaction between your table setup and the site it is embedded in.

Without a JS Fiddle that shows the issue happening and how your table is configured it is impossible for us to find out what is causing it

Cheers

Oli :)

h-tendy commented 4 years ago

Hey @pH4Lk0n

Funnily enough, I think I reported the same issue here just a couple of days ago. Please see if your stack looks like the same as in here: https://github.com/olifolkerd/tabulator/issues/2974

olifolkerd commented 4 years ago

Hey @pH4Lk0n

That is possible, but without a JS Fiddle or Code Pen i have no where to start looking for a solution.

If someone could put togeather a Minimum test case then i can likely fix it in this weekends patch release, but without one i cant make any progress as i have no idea how your tables are configured and i don't see the issue in any of my test setups.

Cheers

Oli :)

pH4Lk0n commented 4 years ago

Hey @h-tendy

That's the same stack trace. I'm investing this for same quite time now. Problem was and still is that some clients reports this and when I use same browser and OS and log into theirs account it all works fine. But on their machine it does not. So the problem is more complicated

@h-tendy did you managed to reproduce this problem on your machine?

h-tendy commented 4 years ago

Hey @pH4Lk0n - Yes, I reproduced and suggested a fix also as documented in 2974. But I'm unable to get a minimal testcase for Oli to see it on jfiddle...

olifolkerd commented 4 years ago

If you can't see it on a fiddle it is likely due to the rest of the site that Tabulator is embedded in.

Have you setup your table on a div that is either part of a grid or flex layout? That can often cause render loops.

Oli

h-tendy commented 4 years ago

I am using react-bootstrap and the table is on a <Row> by itself. Could that cause it? (it is still a rare occurrence). Not using react-bootstrap or <Row> will be a problem...

olifolkerd commented 4 years ago

Hey All,

As this is a duplicate im gonna close this one and focus all convo onto the original issue. #2974

The issue will definitely be the result of no height being set, as there is a loop used in that instance but has anyone isolated any other setup that triggers this issue. Is everyone with the issue using react?

I would love to get it fixed for you, but i really need a repeatable example before i can release a patch so that i have something to test against to know that it works.

Cheers

Oli :)

pmendis commented 3 years ago

Got this error when I tried to use two tables with different ids in a single page with 'bottomCalc' in both. Version 4.8. When u remove bottomCalc from one table, the error disapears. topCalc works fine.

muhyilmaz commented 2 weeks ago

Hey All,

As this is a duplicate im gonna close this one and focus all convo onto the original issue. #2974

The issue will definitely be the result of no height being set, as there is a loop used in that instance but has anyone isolated any other setup that triggers this issue. Is everyone with the issue using react?

I would love to get it fixed for you, but i really need a repeatable example before i can release a patch so that i have something to test against to know that it works.

Cheers

Oli :)

Yes it is, when I set height, it resolved. Thanks.