kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
阅读:11346回复: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扩展依赖
gearfox
火狐狸
火狐狸
  • UID37220
  • 注册日期2011-09-12
  • 最后登录2016-03-24
  • 发帖数132
  • 经验49枚
  • 威望0点
  • 贡献值46点
  • 好评度2点
  • 社区居民
1楼#
发布于:2008-01-27 05:31
前段时间的假死 我删除掉几个扩展后 问题解决了
天下无雪
火狐狸
火狐狸
  • UID35311
  • 注册日期2011-02-22
  • 最后登录2019-12-25
  • 发帖数180
  • 经验26枚
  • 威望0点
  • 贡献值10点
  • 好评度0点
2楼#
发布于:2008-01-27 05:31
现在的假死网站貌似是zol了,这个倒是经常假死
流年
火狐狸
火狐狸
  • UID404
  • 注册日期2004-11-30
  • 最后登录2015-12-28
  • 发帖数148
  • 经验12枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
3楼#
发布于:2008-01-27 05:31
very CD 确实有时会假死 选用一个新的配置文件确实会没事  我并没有使用代理的扩展 禁用ABP不会假死 但删除原来的 安装一个新 也没用 清空里面的规则也没用 后为装了删 删了装 装了几次 不知怎么就好了
dindog
千年狐狸
千年狐狸
  • UID30818
  • 注册日期2009-10-24
  • 最后登录2025-02-19
  • 发帖数1201
  • 经验67枚
  • 威望0点
  • 贡献值34点
  • 好评度10点
4楼#
发布于:2008-01-27 05:31
我是用pac的,从不假死
以前firefox跳个票的时间现在可以发布几个正式版了-_-
slimx
火狐狸
火狐狸
  • UID21790
  • 注册日期2007-11-09
  • 最后登录2013-08-05
  • 发帖数119
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2008-01-27 05:31
一直在用pac,也没有发现什么问题.是不是还有别的扩展的影响
lixinskay
火狐狸
火狐狸
  • UID35368
  • 注册日期2011-03-02
  • 最后登录2022-09-29
  • 发帖数229
  • 经验32枚
  • 威望0点
  • 贡献值28点
  • 好评度0点
  • 社区居民
6楼#
发布于:2008-01-27 05:31
用autoproxy和foxyproxy之前,要把firefox的网络,如何连接到互联网的设置为无代理,然后安装autoproxy和foxyproxy,在用pac那些乱七八糟的东西就没事了,没事要禁用flash插件,流畅的一逼
jackyspy
小狐狸
小狐狸
  • UID11761
  • 注册日期2006-03-03
  • 最后登录2011-09-30
  • 发帖数1
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
7楼#
发布于:2008-01-27 05:31
历史总是惊人的相似,呵呵。时隔两年多,我也碰到了同样的问题,linux下firfox/iceweasel 4/5/6都出现假死现象,这个问题困扰了我两个多月,采取了跟楼主类似的方法企图定位问题一直无所获,直至昨日,才猛然发现pac是罪魁祸首。
同样的pac,在chrome和opera都很正常,不知道为啥firefox反应这么慢。
liuxun
小狐狸
小狐狸
  • UID8488
  • 注册日期2005-09-08
  • 最后登录2008-06-20
  • 发帖数22
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
8楼#
发布于:2008-01-27 05:31
firefox 3 同样受到pac假死困扰:我刚刚经历了与楼主相似的过程。
hao123liu
小狐狸
小狐狸
  • UID8097
  • 注册日期2005-08-20
  • 最后登录2009-01-18
  • 发帖数79
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
9楼#
发布于:2008-01-27 05:31
呵呵 光看看都有点晕
佩服楼主
overown
小狐狸
小狐狸
  • UID22728
  • 注册日期2008-01-23
  • 最后登录2008-02-04
  • 发帖数9
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
10楼#
发布于:2008-01-27 05:31
fang5566:很欣赏你的折腾精神,你的处理思路也很好!给你授精了!回到原帖

很黄很暴力
tida
小狐狸
小狐狸
  • UID21963
  • 注册日期2007-11-22
  • 最后登录2022-11-10
  • 发帖数5
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
11楼#
发布于:2008-01-27 05:31
前几天确实有问题,这几天的nightly又好了。不晓得什么原因。
qdzheng
狐狸大王
狐狸大王
  • UID3128
  • 注册日期2005-02-18
  • 最后登录2010-02-06
  • 发帖数379
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
12楼#
发布于: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
bluezeppelin
小狐狸
小狐狸
  • UID14225
  • 注册日期2006-08-15
  • 最后登录2008-09-14
  • 发帖数36
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
13楼#
发布于:2008-01-27 05:31
就用gladder,需要代理再用,平常用OpenDNS,也有动态IP
taizitju
千年狐狸
千年狐狸
  • UID10093
  • 注册日期2005-11-27
  • 最后登录2012-04-12
  • 发帖数3638
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
14楼#
发布于: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]
上一页
游客

返回顶部