Update: It appears that the issue could be linked to Chrome version 43. I reverted back to version 42 and everything seems to be functioning properly.
Update: I have filed an issue on the Angular Github repository.
The error seems to be originating from
return logFn.apply(console, args);
in line 12221
of the angular.js source code.
Here is a link to the Chromium bug report.
Any advice on how to proceed next?
I am attempting to update my application from AngularJS v1.2 to either v1.3 or v1.4, but I keep encountering a TypeError: Illegal invocation
on Chrome (tested on Windows, OSX, and Ubuntu).
The stack trace does not provide much insight:
TypeError: Illegal invocation
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at Scope.$get.Scope.$digest (angular.js:15550)
at Scope.$get.Scope.$apply (angular.js:15824)
at done (angular.js:10263)
at completeRequest (angular.js:10435)
at XMLHttpRequest.requestLoaded (angular.js:10376)
This seems to be related to AJAX requests, but I am also seeing:
TypeError: Illegal invocation
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at Scope.$get.Scope.$digest (angular.js:15550)
at Scope.$get.Scope.$apply (angular.js:15824)
at tick (angular.js:10983)
I am utilizing $interval
to update a model class (which is a factory and displayed in the views through setting the $scope.client
to this class):
var runTimer = function () {
self.timeOnline = time(self.timeSoFar);
self.timeSoFar = Date.now() / 1000 - self.alarmTriggeredTime;
};
$interval(runTimer, 1000);
It seems there may be an issue with $digest/$apply
. Despite spending hours troubleshooting, I am still unsure about what is causing this problem.
Any guidance on further debugging would be greatly appreciated.