2014-01-24 36 views
3

我們最近部署了一個相當大的angularjs應用程序,其中包含記錄客戶端瀏覽器中發生的錯誤的功能。自從我們兩週前部署以來,我們似乎無法追蹤正在發生的無限摘要錯誤。追蹤無限摘要錯誤

的錯誤消息

[$rootScope:infdig] http://errors.angularjs.org/1.2.7/$rootScope/infdig?p0=10&p1=[["fn: function(){e=h(c);var a,b;if(X(e))if(qb(e))for(d!==\nm&&(d=m,l=d.length=0,f++),a=e.length,l!==a&&(f++,d.length=l=a),b=0;b<a;b++)d[b]!==e[b]&&(f++,d[b]=e[b]);else{d!==k&&(d=k={},l=0,f++);a=0;for(b in e)e.hasOwnProperty(b)&&(a++,d.hasOwnProperty(b)?d[b]!==e[b]&&(f++,d[b]=e[b]):(l++,d[b]=e[b],f++));if(l>a)for(b in f++,d)d.hasOwnProperty(b)&&!e.hasOwnProperty(b)&&(l--,delete d[b])}else d!==e&&(d=e,f++);return f}; newVal: 418; oldVal: 410","$index; newVal: 28; oldVal: 29","$index; newVal: 29; oldVal: 28","$index; newVal: 70; oldVal: 69","$index; newVal: 69; oldVal: 70","$index; newVal: 78; oldVal: 79","$index; newVal: 79; oldVal: 78","$index; newVal: 94; oldVal: 95","$index; newVal: 95; oldVal: 94"],["fn: function(){e=h(c);var a,b;if(X(e))if(qb(e))for(d!==\nm&&(d=m,l=d.length=0,f++),a=e.length,l!==a&&(f++,d.length=l=a),b=0;b<a;b++)d[b]!==e[b]&&(f++,d[b]=e[b]);else{d!==k&&(d=k={},l=0,f++);a=0;for(b in e)e.hasOwnProperty(b)&&(a++,d.hasOwnProperty(b)?d[b]!==e[b]&&(f++,d[b]=e[b]):(l++,d[b]=e[b],f++));if(l>a)for(b in f++,d)d.hasOwnProperty(b)&&!e.hasOwnProperty(b)&&(l--,delete d[b])}else d!==e&&(d=e,f++);return f}; newVal: 426; oldVal: 418","$index; newVal: 24; oldVal: 23","$index; newVal: 23; oldVal: 24","$index; newVal: 29; oldVal: 28","$index; newVal: 28; oldVal: 29","$index; newVal: 53; oldVal: 52","$index; newVal: 52; oldVal: 53","$index; newVal: 69; oldVal: 70","$index; newVal: 70; oldVal: 69"],["fn: function(){e=h(c);var a,b;if(X(e))if(qb(e))for(d!==\nm&&(d=m,l=d.length=0,f++),a=e.length,l!==a&&(f++,d.length=l=a),b=0;b<a;b++)d[b]!==e[b]&&(f++,d[b]=e[b]);else{d!==k&&(d=k={},l=0,f++);a=0;for(b in e)e.hasOwnProperty(b)&&(a++,d.hasOwnProperty(b)?d[b]!==e[b]&&(f++,d[b]=e[b]):(l++,d[b]=e[b],f++));if(l>a)for(b in f++,d)d.hasOwnProperty(b)&&!e.hasOwnProperty(b)&&(l--,delete d[b])}else d!==e&&(d=e,f++);return f}; newVal: 436; oldVal: 426","$index; newVal: 23; oldVal: 24","$index; newVal: 24; oldVal: 23","$index; newVal: 28; oldVal: 29","$index; newVal: 29; oldVal: 28","$index; newVal: 33; oldVal: 32","$index; newVal: 32; oldVal: 33","$index; newVal: 70; oldVal: 69","$index; newVal: 69; oldVal: 70","$index; newVal: 89; oldVal: 88","$index; newVal: 88; oldVal: 89"],["fn: function(){e=h(c);var a,b;if(X(e))if(qb(e))for(d!==\nm&&(d=m,l=d.length=0,f++),a=e.length,l!==a&&(f++,d.length=l=a),b=0;b<a;b++)d[b]!==e[b]&&(f++,d[b]=e[b]);else{d!==k&&(d=k={},l=0,f++);a=0;for(b in e)e.hasOwnProperty(b)&&(a++,d.hasOwnProperty(b)?d[b]!==e[b]&&(f++,d[b]=e[b]):(l++,d[b]=e[b],f++));if(l>a)for(b in f++,d)d.hasOwnProperty(b)&&!e.hasOwnProperty(b)&&(l--,delete d[b])}else d!==e&&(d=e,f++);return f}; newVal: 442; oldVal: 436","$index; newVal: 32; oldVal: 33","$index; newVal: 33; oldVal: 32","$index; newVal: 69; oldVal: 70","$index; newVal: 70; oldVal: 69","$index; newVal: 86; oldVal: 87","$index; newVal: 87; oldVal: 86"],["fn: function(){e=h(c);var a,b;if(X(e))if(qb(e))for(d!==\nm&&(d=m,l=d.length=0,f++),a=e.length,l!==a&&(f++,d.length=l=a),b=0;b<a;b++)d[b]!==e[b]&&(f++,d[b]=e[b]);else{d!==k&&(d=k={},l=0,f++);a=0;for(b in e)e.hasOwnProperty(b)&&(a++,d.hasOwnProperty(b)?d[b]!==e[b]&&(f++,d[b]=e[b]):(l++,d[b]=e[b],f++));if(l>a)for(b in f++,d)d.hasOwnProperty(b)&&!e.hasOwnProperty(b)&&(l--,delete d[b])}else d!==e&&(d=e,f++);return f}; newVal: 450; oldVal: 442","$index; newVal: 24; oldVal: 23","$index; newVal: 23; oldVal: 24","$index; newVal: 29; oldVal: 28","$index; newVal: 28; oldVal: 29","$index; newVal: 33; oldVal: 32","$index; newVal: 32; oldVal: 33","$index; newVal: 87; oldVal: 86","$index; newVal: 86; oldVal: 87"]] 
    at ? line 6, column 449 (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js:6) 
    at h.$digest line 101, column 152 (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js:101) 
    at h.$apply line 103, column 100 (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js:103) 
    at f line 67, column 98 (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js:67) 
    at E line 71, column 117 (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js:71) 
    at XMLHttpRequest.onreadystatechange line 72, column 167 (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js:72) 

事情我們知道

  • 我們正在使用angularjs 1.2.7與ngRoutebootstrap-ui,和許多其他自定義指令。
  • 它似乎只發生在Android 2.3.x(薑餅)和Kindle Fire(絲綢瀏覽器)
  • 我們似乎無法在browserstack,模擬器或物理設備中重現此錯誤。
  • 似乎沒有被隔離到一個特定的路線。

問題

是否有任何指導,跟蹤這個錯誤的原因是什麼? 使用源地圖? 暫時使用未放大版本? 在角度內捕獲其他東西?

+0

使用未分級的Angular將爲您提供一些更易於閱讀的結果。但我會關注錯誤中報告的各種newval,oldval值 - 例如最後幾個:「$ index; newVal:87; oldVal:86」,「$ index; newVal:86; oldVal:87」,並參見如果你可以對它們有所瞭解 - 看起來像'$ index'上的手錶可能有關係嗎?還有一個顯示的手錶功能 - 我試圖找出它正在使用的地方。對不起,我是模糊不清的,但是我會從那個錯誤中的所有信息開始,看看你是否能夠弄清楚導致不穩定的變化。 – KayakDave

回答

0

我有類似的問題 - 在更新到最新的AngularJS(現在的1.3.15)後不見了。