LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: lifc

firefox升级7.0.1后地址栏输入假死、flash页面经常崩溃

[复制链接]
 楼主| 发表于 2011-10-30 22:45:09 | 显示全部楼层
前几天解决了某些页面导致flash插件崩溃问题,最近集中研究地址栏输入假死,目前已找到的规律:只要系统进程中有dbus-daemon和dbus-launch地址栏输入就会卡死,启动firefox前如果执行killall dbus-launch dbus-daemon地址输入自动提示正常(killall会导致fcitx退出)。
几次重装系统分别测了xfce4、fluxbox、jwm、jwm+rox等桌面环境都会出现此问题,看来还要继续研究。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-10-31 07:33:30 | 显示全部楼层
早上继续研究,发现地址栏输入卡死时fcitx占用全部CPU时间。strace跟踪系统调用,一直在select/read/poll/writev几个调用之间循环。昨天发现杀掉dbus-launch和dbus-daemon后firefox正常,其实是因为杀掉他们fcitx也随之退出的缘故。
fcitx版本是4.1.2-1,尝试过删掉~/.config/fcitx还是如此,问题越来越怪异了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-10-31 07:44:14 | 显示全部楼层
把fcitx降级到4.1.1-1地址栏输入卡死现象消失,自动补全功能恢复正常。遇到同样问题的同学可以参照尝试一下。
回复 支持 反对

使用道具 举报

发表于 2011-10-31 09:50:25 | 显示全部楼层
Post by lifc;2154174
把fcitx降级到4.1.1-1地址栏输入卡死现象消失,自动补全功能恢复正常。遇到同样问题的同学可以参照尝试一下。


可能是dbus通信的问题。你用什么方法启动的X,dm还是startx?用的是de还是wm,是哪种?我之前也是遇到了fcitx问题,不过没到引起浏览器崩溃的程度。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-10-31 11:26:30 | 显示全部楼层
Post by zhou3345;2154182
可能是dbus通信的问题。你用什么方法启动的X,dm还是startx?用的是de还是wm,是哪种?我之前也是遇到了fcitx问题,不过没到引起浏览器崩溃的程度。


也怀疑与dbus有关,所以昨天尝试杀掉dbus相关进程。目前用startx启动图形,之前测试xdm、gdm配合fcitx-4.1.2-1也出这个毛病。

$ cat ~/.xinitrc
export XMODIFIERS="@im=fcitx" GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx
/usr/bin/fcitx &

if [ -z "$XDG_CONFIG_HOME" ]; then
        export XDG_CONFIG_HOME="$HOME/.config"
fi

rox -p Default &
exec /usr/bin/jwm
回复 支持 反对

使用道具 举报

发表于 2011-11-1 17:19:57 | 显示全部楼层
Post by lifc;2154188
也怀疑与dbus有关,所以昨天尝试杀掉dbus相关进程。目前用startx启动图形,之前测试xdm、gdm配合fcitx-4.1.2-1也出这个毛病。

$ cat ~/.xinitrc
export XMODIFIERS="@im=fcitx" GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx
/usr/bin/fcitx &

if [ -z "$XDG_CONFIG_HOME" ]; then
        export XDG_CONFIG_HOME="$HOME/.config"
fi

rox -p Default &
exec /usr/bin/jwm


把 exec /usr/bin/jwm 改成
exec ck-launch-session dbus-launch /usr/bin/jwm 吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-1 22:28:24 | 显示全部楼层
Post by zhou3345;2154242
把 exec /usr/bin/jwm 改成
exec ck-launch-session dbus-launch /usr/bin/jwm 吧。


开始用xfce和lxde时一直用这种模式,为的是自动挂接U盘以及关机、挂起。后来换rox+jwm,因为rox通过修改fstab+sudo mount能够自动挂U盘,再配合修改过的exitx+sudo实现重启和挂起,所以就去掉了ck-launch-session和dbus-launch,不过专门测试过只要是fcitx-4.1.2哪种方式都会出毛病。
回复 支持 反对

使用道具 举报

发表于 2011-11-2 07:14:26 | 显示全部楼层
维护者说,fcitx-4.1.2的im module就是通过dbus通信的

维护者建议fcitx的启动方式
http://fcitx.github.com/handbook/chapter-autostart.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-2 10:59:42 | 显示全部楼层
Post by Havanna;2154259
维护者说,fcitx-4.1.2的im module就是通过dbus通信的

维护者建议fcitx的启动方式
http://fcitx.github.com/handbook/chapter-autostart.html

还真没仔细看文档,现在就改来试试。

测试结果:
rox+jwm不支持freedesktop的autostart规范,至少我测试不成功;
lxde可以自动启动输入法,但4.1.2表现还是不正常,4.1.1没问题;
现在的linux桌面环境越搞越复杂,牵涉的组件模块很多,各家实现也不一致,加上版本更新比较快,出问题几率似乎更高了。

.xinitrc测试过程:
#exec /usr/bin/dbus-launch /usr/bin/ck-launch-session /usr/bin/lxsession
#exec /usr/bin/dbus-launch /usr/bin/ck-launch-session /usr/bin/startlxde
#exec dbus-launch ck-launch-session /usr/bin/lxsession
#exec dbus-launch ck-launch-session /usr/bin/startlxde
#exec /usr/bin/ck-launch-session /usr/bin/startlxde
#exec /usr/bin/ck-launch-session /usr/bin/openbox-session
#exec /usr/bin/startlxde
exec /usr/bin/jwm
回复 支持 反对

使用道具 举报

发表于 2011-11-4 08:55:08 | 显示全部楼层
估计是arch的rpwt了:)好像其他系统没有发现此情况,bug跟踪起来也比较麻烦,要解决的话,积极和csslayer联系吧。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表