lightspark上百度文库悲剧,连加载页面都显示不了。 在 2012年8月23日 下午1:05,Qian Hong <fract...@gmail.com>写道:
> Hi, > > On Thu, Aug 23, 2012 at 9:20 AM, wzc0066 <wzc0...@gmail.com> wrote: > > Ubuntu 12.04, Firefox14.0.1 > > Flash频崩溃怎么办 ? > > 我可以重现你的问题. > $ firefox --version > Mozilla Firefox 14.0.1 > > 我测试的页面是: http://wenku.baidu.com/view/aa51816327d3240c8447ef2e.html?l=2.1.2 > > 如果从终端启动firefox, 可以看到崩溃的时候有这样的日志: > === > ###!!! ABORT: X_ChangeWindowAttributes: BadWindow (invalid Window > parameter); 2 requests ago: file > > /build/buildd/firefox-14.0.1+build1/build-tree/mozilla/toolkit/xre/nsX11ErrorHandler.cpp, > line 190 > ###!!! ABORT: X_ChangeWindowAttributes: BadWindow (invalid Window > parameter); 2 requests ago: file > > /build/buildd/firefox-14.0.1+build1/build-tree/mozilla/toolkit/xre/nsX11ErrorHandler.cpp, > line 190 > === > > 要解决问题, 首先需要收集有用的信息, 从终端启动程序就是一个好的开始. > 有了终端的输出, 就可以根据关键的错误信息去google. > 我搜了一下, 发现8月8日的时候有一份自动提交的错误日志也包含类似的信息: > https://crash-analysis.mozilla.com/crash_stacks/20120808-pub-crashdata.csv > > 说明这个现象并不是特例, 以前也有别人遇到过, 并且那个人当时应该是点击了 "向mozilla反馈崩溃报告"之类的选项. > 但是这种自动提交的日志, 在现实中起的作用并不是很大, 一个重要的原因就是人手不足, 没有专人去研究每一份自动提交的日志, > 而且单从日志查看也难以诊断问题, 要确诊问题还需要用户的帮助. 如果用户能报一个bug, 描述精确的重现步骤, 就能帮开发者修复问题. > > 回到这个问题来, 有两种可能的情况: 一种是由于adobe flash plugin有bug, 导致崩溃; > 一种是由于firefox的plugin container有bug而导致崩溃. > 如果是第一种情况, 由于flash是闭源软件, 社区能做的事情就比较受限, 最理想的情况是, adobe的开发者愿意协助解决问题, > 在新版本的flash plugin中修复崩溃的bug, 那么你只要更新一下插件就行了. 当然这个周期有多长不好说, 对于开源软件来说, > 报一个bug最快有可能一周内就修复并发布新版, 对于闭源软件就非常难说了. 如果adobe的开发者不愿意解决问题, > 这类插件崩溃的bug通常还有机会从firefox plugin container这一端做一些workaround. 当然, > 前提也是我们要给firefox报bug. 假如这个问题是firefox本身的bug, 那么就最好解决了, 报bug之后肯定能得到修复的. > > 小结一下: 这个问题既有可能是flash的bug, 也可能是firefox的bug, 但不管哪一种情况, 如果你希望问题得到根本解决, > 最靠谱的途径就是, > 先给firefox报bug, 由firefox的开发者诊断出究竟是哪里的bug, 然后再进一步处理, 或者转交adobe, > 或者在firefox这边workaround, 或者修复firefox的bug. > > 上面说的是从根本解决问题的方法(之一). > > 第二种方法, 其实也是一种workaround, 就是使用 nspluginwrapper [1] > nspluginwrapper是一个第三方的插件容器, 它的目的是提供一个独立进程的npapi plugin > viewer,i使得插件崩溃的时候浏览器不至于受连累. > nspluginwrapper的开发起始于firefox不支持独立进程插件的时代, 如今firefox早就支持独立进程插件, > nspluginwrapper项目也宣布将来不会再继续开发. 我刚才测试了一下, > 发现firefox在用了nspluginwrapper之后, 打开百度文库就不会崩溃了, 其实这有可能属于误打误撞, > 因为nspluginwrapper跟firefox plugin container的实现不是完全相同的, 所以有的bug可能被碰巧绕过了. > 当然, 这也可能是因为firefox plugin contianer有bug. > 所以, 如果你也想尝试一下这种误打误撞的效果, 可以去[1]的链接中查看文档, 装个nspluginwrapper试试, 配置比较麻烦. > 另外, 这个插件会带来效率的降低, 因为多了一次rpc的延迟. 再说, nspluginwrapper已经宣布不再开发, > 所以以后出问题也难以得到支持, 这种方法也不是长久之际. > > 第三种方法, 目前需要碰运气, 但是长期来说也是一种根本的解决方法, 就是使用flash的开源替代品. > 目前flash有两个开源实现, 一个是lightspark [2], 一个是gnash [3], 我还没来得及测试, 如果你试过了, > 麻烦跟大家分享一下使用效果如何. > 如果遇到这两个插件不支持的flash网页, 可以给他们报bug, 这两个项目都在活跃开发中. > > 如果你愿意以报bug的方式为社区做贡献, 我希望可以帮助你解决报bug遇到的障碍, 不管是firefox + adobe, > 还是firefox + lightspark, 还是firefox + gnash. > > Good luck ;-) > > 最后说个题外话, 利用nspluginwrapper的原理, 可以实现在linux的原生浏览器下支持windows的网银插件, > 实际上nspluginwrapper项目的计划中也曾经有提到这一点, 可惜后来没人开发. 其实这背后有两个原因合起来造成了这个遗憾: > 中文社区的用户对开源项目上游的反馈不够, 导致上游不了解社区的需求, 就没有足够的动力去开发; 国内it的发展和国外存在时间差, > 当国外已经基本脱离activex的时候, 国内的网站还重度依赖activex. 我们今天遇到的很多中文用户特有的不方便的地方, 其实都跟 > "时间差" 和 "沟通不足" 这两个因素有关, 如果我们可以多做一些主动的沟通, 就可以多一点弥补"时间差"带来的不便. > > 与大家共勉, 希望有越来越多的朋友愿意加入到向开源项目上游报bug的行列中来, 担当起中文社区和英文社区沟通的桥梁. > > > > [1] http://nspluginwrapper.org/ > [2] http://lightspark.github.com/ > [3] http://www.gnu.org/software/gnash/ > > -- > Regards, > Qian Hong > > - > Sent from Ubuntu > http://www.ubuntu.com/ > -- > ubuntu-zh mailing list > ubuntu-zh@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh > -- I'm TaoKY.Send From Gmail. -------------- 下一部分 -------------- 一个HTML附件被移除... URL: <https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120823/10ff2fba/attachment.html> -- ubuntu-zh mailing list ubuntu-zh@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh