SearchBuilder newer than 1.2.0 exceeds maximum callstack
SearchBuilder newer than 1.2.0 exceeds maximum callstack
Hello, since upgrading SearchBuilder to 1.2.1 every action (adding/removing a condition, choosing a column to filter on etc., even just displaying the saved filter without any interaction at all (!) ) takes a very long time - sometimes 20 seconds or more. It also occasionally freezes the whole website, and the browser reports that a script is slowing down the page.
The same issue happens with SB 1.2.2
It happens even with micro tables: 20-30 rows and 5 columns.
I tried different config options, but nothing seems to work. Versions 1.2.0 and older work like a charm - every click has an effect immediately and there are no problems with the UI falling apart.
The above makes me think that something got changed/broken in SB 1.2.1.
Here's a recording of the frozen website and console error on simply showing SB filter: https://watch.screencastify.com/v/D9RWDEoRDTx9O1TLTg1t
Here's the recording of the issue with UI falling apart: https://watch.screencastify.com/v/5RtO6NMkaU425EDNZxBy
Here's what I see in the console after almost every interaction with SearchBuilder:
Uncaught RangeError: Maximum call stack size exceeded
at HTMLTableElement.<anonymous> (dataTables.select.min.js:22)
at HTMLTableElement.dispatch (jquery-3.5.1.min.js:2)
at HTMLTableElement.v.handle (jquery-3.5.1.min.js:2)
at Object.trigger (jquery-3.5.1.min.js:2)
at HTMLTableElement.<anonymous> (jquery-3.5.1.min.js:2)
at Function.each (jquery-3.5.1.min.js:2)
at S.fn.init.each (jquery-3.5.1.min.js:2)
at S.fn.init.trigger (jquery-3.5.1.min.js:2)
at F (datatables.min.js:118)
at ja (datatables.min.js:71)
Uncaught RangeError: Maximum call stack size exceeded
at ja (datatables.min.js:70)
at ka (datatables.min.js:71)
at B.<anonymous> (datatables.min.js:153)
at B.iterator (datatables.min.js:146)
at B.<anonymous> (datatables.min.js:153)
at B.draw (datatables.min.js:149)
at HTMLDivElement.<anonymous> (datatables.min.js:545)
at HTMLDivElement.dispatch (jquery-3.5.1.min.js:2)
at HTMLDivElement.v.handle (jquery-3.5.1.min.js:2)
at Object.trigger (jquery-3.5.1.min.js:2)
And similar errors, all mentioning Maximum call stack.
So far I am unable to reproduce it with jsfiddle - will keep trying.
Please advise how can I debug it further or what a reason can be.
Thanks!
Mike
Replies
Debugger info: https://debug.datatables.net/olomac
We've not seen it, and since you're unable to reproduce too, it suggests there's an edge case somewhere. Are you able to link to your page so we can debug there?
Colin
Yes, I'll send you a link in a private message.