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

回复