kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
阅读:10213回复:20

【原创】不厌其烦,终于找到一个长期以来的假死元凶

楼主#
更多 发布于:2008-01-27 05:31
之前曾经说过Firefox最近假死现象少了,结果在最近几天的Build中假死又经常出现(不光是崩溃,而是假死)。

假死一般出现在访问国内网站上,打开多个国内网站特别容易假死,像Verycd这样的网站,我开两次就死一次。我一直都觉得是国内网页不标准的原因,也一直回避着上国内的网站,不过今天假死的太厉害,让我不由得想知道:在怀疑Mozilla团队最近几天build不稳定之外,我是不是也该自己测试一下?

下面分享我测试的过程和结果,虽然最终的结果可能大家很少会用到,但交流一下排除这类疑难杂症的思路也无妨。


    [*]首先当然是锁定几个造成假死的网站啦,倒霉的是Verycd好像怕了似的,今天开得都正常。于是在网上神遛,找到这样两个网页,同时开这两个网页的结果是必死无疑:
    http://sun760209.blog.163.com/blog/stat ... 343221526/
    http://www.tianya.cn/publicforum/Conten ... 9192.shtml
    (呵呵,无聊,看起奢侈品来了)——这两个网站中图片很多,我有DU meter在监视网络流量,看得出来,假死后,图片停止了下载,从100K/S降到0,整个浏览器死掉了(在此我保留传统的称呼:假死,而不用“真死”),而如果像后面说的用干净的profile,不假死的情况下,通过DU meter能看得出,整个网页要保持在200K/S下载40~50秒才能载完。[/*:m]
    [*]然后试着去禁用几个扩展:Adblock,TMP,无效。[/*:m]
    [*]猛然间想起很重要的:看看用干净的Profile(叫exp1吧)是什么状况——新建一个Profile,打开这两个网站,没有假死![/*:m]
    [*]那么,还是要处理原来的Profile(叫old),因为我可不想用一个新的Profile为基础,全部重新装扩展,调整参数。[/*:m]
    [*]还是回到怀疑扩展上来,先一棍子打死,用-safe-mode启动,选择禁用所有扩展,再测试依然假死——看来问题不在(或不完全在)扩展上[/*:m]
    [*]那么就是about:config了(对应Pref.js),可是,我进行了那么多的调整,会是哪一条呢?[/*:m]
    [*]再新建一个Profile(叫exp2),启动Firefox后把exp2的目标清空,把old中的内容全部copy到exp2的目录中,姑且称之为“profile克隆”吧。下面就尽情折腾吧:把/extension/子目录清空,根目录下删除掉extension.rdf,再启动这个exp2的时候,扩展就真的没有了(因为我不太信任-safe-mode会彻底屏蔽掉扩展带来的影响)。[/*:m]
    [*]即便是这样,假死依然存在。需要说明的是,把扩展清空,扩展引入的about:config条目依然存在于pref.js中,这是个有得有弊的功能,好处是下次装扩展不用重新配置,缺点自然是像Windows的添加删除程序一样经常不能在卸载时清干净注册表中的内容。[/*:m]
    [*]下面要对about:config动刀,想了一下,与其去把扩展们残余下来的条目一条条删掉(Reset掉),不如想一下自己会是改动了哪里。从植物学的角度来说,首先应该怀疑的是浏览器在载入的过程中“呛”到了,而不是javascript脚本的问题。那么,是不是载入太快了呢?[/*:m]
    [*]记得原来有一个nglayout.initialpaint.delay,我是不是调太小了?——改回100也没用[/*:m]
    [*]pipelining(管道功能)?试了一下,把所有这方面的东西重置,包括例如network.http.max-connections-per-server等等,全部改回默认值,没有用。[/*:m]
    [*]一筹莫展之际,在搜索network开头的about:config项中发现我正用着代理,这跟代理有关吗?在干净的exp1中试了试使用代理,没有假死,打开速度更快了。然而在有问题的old中关掉代理,也没有假死!事情开始有点眉目了。[/*:m]
    [*]问题不光是出现在代理上,那么再往下看,发现一个问题:我的代理是通过代理自动配置脚本来完成的,上国外网站直连,上国内网站用代理,判断的标准是一个pac文件。把它禁用掉,试了一下,用old profile,不管是单独用代理,还是不用代理,都没有再出现过假死。[/*:m]
    [*]最终,锁定问题在这个代理自动配置上,我想,问题可能来自于对目标ip的判断量太大(把每个网页图片对应的ip和pac文件的ip列表中的项目比较,去判断是用还是不用代理)让Firefox很痛苦。在试图研究pac文件是否能优化之前,现在先老老实实地自己决定用还是不用ip吧。[/*:m][/list:u]

    经过反复测试,假死现象已经大大减少:包括在论坛中用中键零零散散地点帖子,都不会出现卡一下的现象;Verycd等比较顽固的网站,除了慢点也没有假死的现象发生了。虽然花了点时间,最终可喜的是用非常低的代价排除掉了一个一直以来的误解,或许国内的网页没有想象中的那么恐怖吧。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
smoke
千年狐狸
千年狐狸
  • UID3052
  • 注册日期2005-02-16
  • 最后登录2015-02-01
  • 发帖数2367
  • 经验12枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
1楼#
发布于:2008-01-27 05:31
佩服你的折腾精神

顺便发下牢骚,上星期的nightly的确不行,放着不动也假死。

幸好有备份profile,还原,用回旧的nightly,搞掂。

现在用着的不错,fcitx能正常工作,而且没试过假死。
遇到问题请善用论坛搜索功能
taizitju
千年狐狸
千年狐狸
  • UID10093
  • 注册日期2005-11-27
  • 最后登录2012-04-12
  • 发帖数3638
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2008-01-27 05:31
原来如此,只能说ff的pac功能很弱或者有bug
....pfpf
[color=orange][b]为新手服务[/b][/color]  [color=BLUE][b]快速解决问题传送门:[/b][/color][url=https://www.firefox.net.cn/newforum/viewtopic.php?t=22571][color=red][b]①Firefox初级教程(置顶帖)[/b][/color][/url]  [url=https://www.firefox.net.cn/newforum/viewtopic.php?t=27478][color=red][b]②孟婆汤(清空profile工具)[/b][/color][/url]  [url=https://www.firefox.net.cn/newforum/viewtopic.php?t=26765][color=red][b]③减肥茶(半淘汰)[/b][/color][/url]  [url=https://www.firefox.net.cn/newforum/search.php][color=red][b]④搜索论坛[/b][/color][/url]
lov528
小狐狸
小狐狸
  • UID15667
  • 注册日期2006-11-13
  • 最后登录2009-12-03
  • 发帖数36
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2008-01-27 05:31
虽然我在用FIREFOX过程很少碰到假死,就是你上面提到的网站也没有假死现象,不过优化设置的确有时候不是那管用,比如nglayout.initialpaint.delay和以network.http开头这几条优化后,打开网页会出现瞬间停顿,我觉得网络优化没有太大的必要,我国的网络正体不是很让人满意
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2024-04-22
  • 发帖数4681
  • 经验686枚
  • 威望0点
  • 贡献值402点
  • 好评度51点
4楼#
发布于:2008-01-27 05:31
或许用provixy做代理会好点。
yjhdeys
火狐狸
火狐狸
  • UID22704
  • 注册日期2008-01-21
  • 最后登录2010-03-12
  • 发帖数140
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2008-01-27 05:31
2个网站都打开 也没有出现假死啊
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-05-09
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
6楼#
发布于:2008-01-27 05:31
很欣赏你的折腾精神,你的处理思路也很好!给你授精了!
Firefox More than meets your experience
taizitju
千年狐狸
千年狐狸
  • UID10093
  • 注册日期2005-11-27
  • 最后登录2012-04-12
  • 发帖数3638
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
7楼#
发布于:2008-01-27 05:31
fiag:或许用provixy做代理会好点。回到原帖


正解
[color=orange][b]为新手服务[/b][/color]  [color=BLUE][b]快速解决问题传送门:[/b][/color][url=https://www.firefox.net.cn/newforum/viewtopic.php?t=22571][color=red][b]①Firefox初级教程(置顶帖)[/b][/color][/url]  [url=https://www.firefox.net.cn/newforum/viewtopic.php?t=27478][color=red][b]②孟婆汤(清空profile工具)[/b][/color][/url]  [url=https://www.firefox.net.cn/newforum/viewtopic.php?t=26765][color=red][b]③减肥茶(半淘汰)[/b][/color][/url]  [url=https://www.firefox.net.cn/newforum/search.php][color=red][b]④搜索论坛[/b][/color][/url]
bluezeppelin
小狐狸
小狐狸
  • UID14225
  • 注册日期2006-08-15
  • 最后登录2008-09-14
  • 发帖数36
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
8楼#
发布于:2008-01-27 05:31
就用gladder,需要代理再用,平常用OpenDNS,也有动态IP
qdzheng
狐狸大王
狐狸大王
  • UID3128
  • 注册日期2005-02-18
  • 最后登录2010-02-06
  • 发帖数379
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
9楼#
发布于:2008-01-27 05:31
没有几个人在用 浏览器自动代理脚本 吧?
曾经尝试过,感觉较麻烦。
还是用foxyProxy方便。
~$ uname -a
Linux arch-lee 2.6.29-ARCH #1 SMP PREEMPT Wed Apr 8 12:47:56 UTC 2009 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 2.00GHz GenuineIntel GNU/Linux
tida
小狐狸
小狐狸
  • UID21963
  • 注册日期2007-11-22
  • 最后登录2022-11-10
  • 发帖数5
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
10楼#
发布于:2008-01-27 05:31
前几天确实有问题,这几天的nightly又好了。不晓得什么原因。
overown
小狐狸
小狐狸
  • UID22728
  • 注册日期2008-01-23
  • 最后登录2008-02-04
  • 发帖数9
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
11楼#
发布于:2008-01-27 05:31
fang5566:很欣赏你的折腾精神,你的处理思路也很好!给你授精了!回到原帖

很黄很暴力
hao123liu
小狐狸
小狐狸
  • UID8097
  • 注册日期2005-08-20
  • 最后登录2009-01-18
  • 发帖数79
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
12楼#
发布于:2008-01-27 05:31
呵呵 光看看都有点晕
佩服楼主
liuxun
小狐狸
小狐狸
  • UID8488
  • 注册日期2005-09-08
  • 最后登录2008-06-20
  • 发帖数22
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
13楼#
发布于:2008-01-27 05:31
firefox 3 同样受到pac假死困扰:我刚刚经历了与楼主相似的过程。
jackyspy
小狐狸
小狐狸
  • UID11761
  • 注册日期2006-03-03
  • 最后登录2011-09-30
  • 发帖数1
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
14楼#
发布于:2008-01-27 05:31
历史总是惊人的相似,呵呵。时隔两年多,我也碰到了同样的问题,linux下firfox/iceweasel 4/5/6都出现假死现象,这个问题困扰了我两个多月,采取了跟楼主类似的方法企图定位问题一直无所获,直至昨日,才猛然发现pac是罪魁祸首。
同样的pac,在chrome和opera都很正常,不知道为啥firefox反应这么慢。
上一页
游客

返回顶部