You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have an issue where Google Chrome reports "Maximum call stack size exceeded". First, some details:
Google Chrome version 28.0.1500.72 m
MooTools version 1.3
We are in the process of updating our product to the latest MooTools, but are preparing a minor release before we update. When this happens, we are making a GET request for a file and the request fails for some reason. If our device is very busy and the request is for a large file, the request fails and the request get stuck in an infinite recursion: a failure event is fired, which eventually calls send, which fails and fires a failure event, and so on.
Because we are so close to a release, we can't update to the latest MooTools. I need to know how this situation can happen and how to work around the problem.
I have been doing more investigation on this problem. When it happens, the XMLHttpRequest onreadystatechange event is fired almost immediately after the send() request. readyState is 4, status is zero, and statusText is "". I'm guessing that for normal operation, onreadystatechange event is called some time after send() has returned. In this error case, it looks like onreadystatechange is called immediately from the send() call, which causes an infinite recursion. The current request has not been dequeued yet, so it is recalled during the onreadystatechange event.
var q = function(){
this.requests[name]._groupSend(options);
this.queue.erase(q);
}.bind(this);
to this:
var q = function(){
this.queue.erase(q);
this.requests[name]._groupSend(options);
}.bind(this);
I do not know enough about the internals of MooTools to assess the impact of this change, but it seems to work in our application. This problem exists in the latest version.
I have an issue where Google Chrome reports "Maximum call stack size exceeded". First, some details:
Google Chrome version 28.0.1500.72 m
MooTools version 1.3
We are in the process of updating our product to the latest MooTools, but are preparing a minor release before we update. When this happens, we are making a GET request for a file and the request fails for some reason. If our device is very busy and the request is for a large file, the request fails and the request get stuck in an infinite recursion: a failure event is fired, which eventually calls send, which fails and fires a failure event, and so on.
Because we are so close to a release, we can't update to the latest MooTools. I need to know how this situation can happen and how to work around the problem.
Uncaught RangeError: Maximum call stack size exceeded. mootools.js:5238
Request.Request.Class.send mootools.js:5238
wrapper.extend.$owner mootools.js:1635
send mootools.js:9427
(anonymous function) mootools.js:13259
(anonymous function) mootools.js:939
Request.Queue.Class.runNext mootools.js:13287
wrapper.extend.$owner mootools.js:1635
Request.Queue.onComplete rundown.js:120
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Queue.Class.onComplete mootools.js:13331
wrapper.extend.$owner mootools.js:1635
(anonymous function) mootools.js:13222
(anonymous function) mootools.js:939
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.onFailure mootools.js:5150
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.failure mootools.js:5146
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.onStateChange mootools.js:5120
wrapper.extend.$owner mootools.js:1635
(anonymous function) mootools.js:939
Request.Request.Class.send mootools.js:5252
wrapper.extend.$owner mootools.js:1635
send mootools.js:9427
(anonymous function) mootools.js:13259
(anonymous function) mootools.js:939
Request.Queue.Class.runNext mootools.js:13287
wrapper.extend.$owner mootools.js:1635
Request.Queue.onComplete rundown.js:120
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Queue.Class.onComplete mootools.js:13331
wrapper.extend.$owner mootools.js:1635
(anonymous function) mootools.js:13222
(anonymous function) mootools.js:939
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.onFailure mootools.js:5150
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.failure mootools.js:5146
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.onStateChange mootools.js:5120
wrapper.extend.$owner mootools.js:1635
(anonymous function) mootools.js:939
Request.Request.Class.send mootools.js:5252
wrapper.extend.$owner mootools.js:1635
send mootools.js:9427
(anonymous function) mootools.js:13259
(anonymous function) mootools.js:939
Request.Queue.Class.runNext mootools.js:13287
wrapper.extend.$owner mootools.js:1635
Request.Queue.onComplete rundown.js:120
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Queue.Class.onComplete mootools.js:13331
wrapper.extend.$owner mootools.js:1635
(anonymous function) mootools.js:13222
(anonymous function) mootools.js:939
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.onFailure mootools.js:5150
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.failure mootools.js:5146
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.onStateChange mootools.js:5120
wrapper.extend.$owner mootools.js:1635
(anonymous function) mootools.js:939
Request.Request.Class.send mootools.js:5252
wrapper.extend.$owner mootools.js:1635
send mootools.js:9427
(anonymous function) mootools.js:13259
(anonymous function) mootools.js:939
Request.Queue.Class.runNext mootools.js:13287
wrapper.extend.$owner mootools.js:1635
Request.Queue.onComplete rundown.js:120
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Queue.Class.onComplete mootools.js:13331
wrapper.extend.$owner mootools.js:1635
(anonymous function) mootools.js:13222
(anonymous function) mootools.js:939
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.onFailure mootools.js:5150
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.failure mootools.js:5146
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.onStateChange mootools.js:5120
wrapper.extend.$owner mootools.js:1635
(anonymous function) mootools.js:939
Request.Request.Class.send mootools.js:5252
wrapper.extend.$owner mootools.js:1635
send mootools.js:9427
(anonymous function) mootools.js:13259
(anonymous function) mootools.js:939
Request.Queue.Class.runNext mootools.js:13287
wrapper.extend.$owner mootools.js:1635
Request.Queue.onComplete rundown.js:120
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Queue.Class.onComplete mootools.js:13331
wrapper.extend.$owner mootools.js:1635
(anonymous function) mootools.js:13222
(anonymous function) mootools.js:939
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.onFailure mootools.js:5150
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.failure mootools.js:5146
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.onStateChange mootools.js:5120
wrapper.extend.$owner mootools.js:1635
(anonymous function) mootools.js:939
Request.Request.Class.send mootools.js:5252
wrapper.extend.$owner mootools.js:1635
send mootools.js:9427
(anonymous function) mootools.js:13259
(anonymous function) mootools.js:939
Request.Queue.Class.runNext mootools.js:13287
wrapper.extend.$owner mootools.js:1635
Request.Queue.onComplete rundown.js:120
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Queue.Class.onComplete mootools.js:13331
wrapper.extend.$owner mootools.js:1635
(anonymous function) mootools.js:13222
(anonymous function) mootools.js:939
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.onFailure mootools.js:5150
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.failure mootools.js:5146
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.onStateChange mootools.js:5120
wrapper.extend.$owner mootools.js:1635
(anonymous function) mootools.js:939
Request.Request.Class.send mootools.js:5252
wrapper.extend.$owner mootools.js:1635
send mootools.js:9427
(anonymous function) mootools.js:13259
(anonymous function) mootools.js:939
Request.Queue.Class.runNext mootools.js:13287
wrapper.extend.$owner mootools.js:1635
Request.Queue.onComplete rundown.js:120
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Queue.Class.onComplete mootools.js:13331
wrapper.extend.$owner mootools.js:1635
(anonymous function) mootools.js:13222
(anonymous function) mootools.js:939
(anonymous function) mootools.js:1757
(anonymous function) mootools.js:215
Array.implement.each mootools.js:330
Events.Class.fireEvent mootools.js:1755
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.onFailure mootools.js:5150
wrapper.extend.$owner mootools.js:1635
Request.Request.Class.failure mootools.js:5146
wrapper.extend.$owner mootools.js:1635
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: