Maximum call stack size exceeded, issue when we do any store update or adding new record operations with 130 thousand records and datatable not showing all records showing only added new record.
Hey, could you please elaborate a little bit please, I don’t quite get what you mean by 1.3Lack records
.
I have a datatable with 150 thousand records.
I added a new record into the store. It showing only latest added record.
In console I got “Maximum call stack size exceeded”.
Till 100 thousand it worked fine
Alright, so I’ve looked into it in a bit more detail and it appears that there is no visible limit to how much data you can load in your datatable, i.e. you can take a look at this article, it even includes an example of a datatable with 1 million entries - https://blog.webix.com/webix-grid-1-000-000-rows-and-more/.
So it’s most likely that your issue lies somewhere else, probably related to the manipulations you’ve done with your data. If it’s possible, could you please provide an example(via the snippet tool or in any other way?
Alright!
I don’t have snippet with 150 thousand records. can you create one snippet and I will add my changes after.
Ok, could you please check out this snippet https://snippet.webix.com/bi07nkk2 and add the necessary changes to it?
https://snippet.webix.com/hka3ypsp
Here it’s working fine
Not sure why it’s happening for me
In IE i am getting this error after 250 thousand records.
In Firefox it’s working fine.
In Chrome getting error after 130 thousand records
we are using this webix library inside ExtJs frame work
Hey again, could you please check and confirm that the ids of your data don’t contain null, false, 0
(that only applies if your id was set manually?
If that checks out and there are no issues with id values, we’ll need some additional info to help yo out:
- Please specify your Webix version
- Please provide a stack-trace (error log). I’d like to note that you should be using
webix.js
at any point in your development cycle for easy debugging. To actually debug, please ensure that you havewebix.js
linked. You can find more info on how to debug here
First thing id is unique not null, false, 0.
Webix version: “5.1.1”
Error log:
webix_debug.js:656 Uncaught RangeError: Maximum call stack size exceeded
at Array.insertAt (webix_debug.js:656)
at webix.DataStore.add (webix_debug.js:12013)
at o.add (webix_debug.js:12267)
at constructor.onReplicate (ToolbarWebix.js:1525)
insertAt @ webix_debug.js:656
add @ webix_debug.js:12013
(anonymous) @ webix_debug.js:12267
onReplicate @ ToolbarWebix.js:1525
NOTE: This issue is happening only when adding new record into grid store, not while editing.
I need to mention one case here. Let’s say I added a new record at index 321. All records after inserted one will get clear, when this issue comes.
Thank you for all the information, we’ve been able to pin down the source of your problem, this is actually a bug that was fixed in the 6.2 version of Webix (if you are using a free version), or 6.1.6 (if you are using the commercial license).
We always recommend that you keep up with the updates to the Webix library to prevent issues like this and to get all the relevant fixes/new features as well.
However, if you absolutely can’t update for whatever reason, there is actually a workaround specifically for older versions, please take a loot at this example: https://snippet.webix.com/0lea2x69
Thanks for info!
This “insertAt” override won’t break any others, I hope?
You are right, this fix should be safe to use.
Thanks Dzmitry