我是大型企业网站的开发人员,升级到chrome 32后,该网站完全无法正常工作。我得到了关于我们必须渲染页面上大多数元素的时间的“见解”。
它的代码量很大,因此我无法找到导致它的原因。我一直在调试模式下启动chrome,并在那里查看日志。
怪异行为:
1)如果我禁用Flash,它可以工作,我们将swfobject与Flash库一起使用。
2)我有时会在日志中看到崩溃的消息:“未捕获的RangeError:超出最大调用堆栈大小”,因此我必须有一个无限循环,但这并不是一件经常的事情。
3)如果我刷新得足够,它将一直启动,并一直工作到我杀死Tab并重新开始。但是,多数民众赞成在某些时候再次引起崩溃,可能是在几次刷新后再次开始崩溃周期。
4)我有时会看到错误“ file_descriptor_set_posix.cc(22)] FileDescriptorSet被未使用的描述符破坏了”,我认为这与网页呈现中的无限循环有关,该循环与最大调用堆栈超出错误有关。
有谁知道Chrome版本32中发生了哪些更改,这是查找该错误的好起点?
使用的库:SWFobject,Backbone,下划线,soundmanager.js
我不知道为什么要修复此问题,或者不知道是什么Chrome更改导致代码中断,但是如果有人对我们为解决该错误所做的事情感兴趣,我将向您解释。
1)我使所有事件都从swfobject中消失了,我们的swf代码直接进入了我们必须与Flash交互的Flash.js类。在通过Backbone.dispatcher传播到Flash类之前。这导致aw snap错误消失。
2)我们正在使用一个名为Moment.js版本2.2.0的日期时间库。它是引发最大调用堆栈错误的那个,将其更新为2.3.0后停止了。很想知道什么铬改变了导致无限循环。
如果有人知道导致这两个错误的两个版本之间发生了什么变化,那么我会很乐意回答这个问题,因为它在解决症状时有点吓人,但不知道原因。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句