2009年2月17日 星期二

FF (Firefox) restart loop的解決方法

因為運氣實在太背,終於研究出FF會不斷restart (FF restart loop)原因...
[21/2 Update: 更新X11(linux/unix)的Memory Corruption Solution、plugin問題]
  1. sqlite lock corrupted
    FF3開始FF會用sqlite資料庫去貯存history、cookie、anti-phishing filter等user data,不過要是FF中途死掉資料庫可能會被鎖死(lock corrupted),導致FF不斷restart...
    solution: 先到profile[不同OS下profile的location]移走sqlite檔再重開FF
    如果需要sqlite的資料可以用sqlite manager這個Addon開先前移走了的sqlite檔再dump出來
    *bookmark和places.sqlite有關,但殺了這個sqlite是不會影響到bookmark的,不過要是不放心可以先backup bookmark
  2. Memory corruption
    這個在Linux比較明顯,因為Linux有為active program做buffering/caching,要是FF中途死掉可能會讓cache corrupted,然後怒爆segmentation fault
    solution:
    Linux
    1. 在terminal下執行
      sync; echo 3 > /proc/sys/vm/drop_caches [解說]
    2. 在terminal下執行
      firefox --sync [Unix Option列表]
    Windows找個ram cleaner就好
    (Mac暫時沒遇到,而且和linux系統不一樣...)
    如果做了還是不斷restart...reboot OS = ="
  3. Plugin 暴走:
    有可能是某個網頁造成的(embed語法錯誤),所以Restart FF時Session只能開新的,不能選Restore Previous Session
    但如果去個Google也會Restart可能是Plugin有相容性問題
    Linux下的FF Flash Plugin、Windows的FF WMV Plugin也是暴走高危族,如果session開新的、ram也清了都是不行試試run一次safe mode看看問題有沒有改善
    solution: 啟動FF Safe mode一次,如果問題持續事再啟動FF Safe mode,選Disable All Plugin and Addon(停用所有附加元件),然後逐個Enable(啟用) [Safe Mode的運行方法-除Windows外全部都要terminal

沒有留言:

張貼留言