MozTW 討論區

各項 Mozilla 相關軟體與技術討論
現在的時間是 2025-09-17, 06:39

所有顯示的時間為 UTC + 8 小時





發表新文章 回覆主題  [ 7 篇文章 ] 
發表人 內容
文章發表於 : 2012-01-19, 15:48 
從 ff 3.6.16 換到 ff 9.0.1, 用了一陣子開始常常跳出這個錯誤訊息:
---------------------------------------
NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS
[JavaScript Error: "out of memory" {file: "resource:///components/nsSessionStore.js" line: 4024}]

File: undefined
Line: 4024
Stack:
undefined
----------------------------------------
可是 ff 9.0.1 的主程式目錄和 profile 目錄都找不到 nsSessionStore.js 這個檔,
反而是在 ff 3.6.16 的主程式目錄內有找到.

請問這個檔是在哪? 難道是每次開 ff 就從網路上抓進 cache 執行嘛?
另外 這個檔的 第4024 行, 是要處理什麼東西導致記憶體不夠的錯誤?
(記憶體怎麼會不夠呢? 某個記錄檔限制了本身儲存的筆數或大小咩?)


回頂端
Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
  
引用回覆  
文章發表於 : 2012-01-19, 20:18 
離線

註冊時間: 2003-11-18, 10:59
文章: 3473
好像是 firefox 4 (版本不太確定) 以後,有一堆東西被包到 omni.jar 內,nsSessionStore.js 也在裡頭,可以用解壓縮軟體解開來看,看檔案的說明,這個檔案是負責 Session Storage and Restoration 的。

建議的 debug 步驟:
  • 不要回復 session (或把 profile 內的 sessionstore.js 改名 or 刪除)→如果不回復 session 就 ok,可能是 sessionstore.js 有問題,或者其中某網站導致此問題,可以進一步去測試是否特定網站才會發生此問題。
  • 如果還是有問題,可試著清掉 cache/cookies→firefox 一些奇奇怪怪的問題,有時清掉 cache/cookies 就 ok 了
  • 如果還是有問題,可新增一個 profile 來測試→如果新開的 profile ok,但舊的 profile 不 ok,那可能是擴充套件的問題

_________________
:::: 簽名檔分隔線 ::::
免費好用又自由的輸入法 gcin Windows | 勸大家以後不要再買 ATI


回頂端
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
 個人資料  
引用回覆  
文章發表於 : 2012-01-19, 23:19 
coolcd 寫:
好像是 firefox 4 (版本不太確定) 以後,有一堆東西被包到 omni.jar 內,nsSessionStore.js 也在裡頭,可以用解壓縮軟體解開來看,看檔案的說明,這個檔案是負責 Session Storage and Restoration 的。

不知道這個 nsSessionStore.js 是不是把 session 記錄在 profile 目錄下的
sessionstore.js? 這個檔不到 1k, 可能因為出這個錯誤訊息後根本存不進去?
(但是這個檔的屬性沒有設成唯讀啊?)

coolcd 寫:
建議的 debug 步驟:
  • 不要回復 session (或把 profile 內的 sessionstore.js 改名 or 刪除)→如果不回復 session 就 ok,可能是 sessionstore.js 有問題,或者其中某網站導致此問題,可以進一步去測試是否特定網站才會發生此問題。

不能不回復哩...這功能是使用 firefox 最基本的原因之一!
不過向來是以 TGM 做 session 的儲存 (設定中把 ff 自身的 sessionstore 取代)
以前 3.6.x 時代 TGM 老出這個錯誤:

QueryInterface : function
message : Component returned failure code: 0x8007000e (NS_ERROR_OUT_OF_MEMORY) [nsIConverterOutputStream.writeString]
result : 2147942414
name : NS_ERROR_OUT_OF_MEMORY
filename : file:///C:/Users/hp/AppData/Roaming/Mozilla/Firefox/Profiles/oomjudbq.default/extensions/%7Bca526f8b-9e0a-4756-9077-19d6f3e64ea8%7D/resource/modules/TabGroupsManager.jsm
lineNumber : 1073
columnNumber : 0
location : JS frame :: file:///C:/Users/hp/AppData/Roaming/Mozilla/Firefox/Profiles/oomjudbq.default/extensions/%7Bca526f8b-9e0a-4756-9077-19d6f3e64ea8%7D/resource/modules/TabGroupsManager.jsm :: anonymous :: line 1073
inner : null
data : null
initialize : function

只是行號和 result 的那串數字不見得一樣 (老是出現三四種中的某一種)

現在 ff9.0.1 TGM 還沒出現過這個問題, 但是出現了 nsSessionStore 的新問題.. = =

coolcd 寫:
  • 如果還是有問題,可試著清掉 cache/cookies→firefox 一些奇奇怪怪的問題,有時清掉 cache/cookies 就 ok 了

試過, 沒有用...

coolcd 寫:
  • 如果還是有問題,可新增一個 profile 來測試→如果新開的 profile ok,但舊的 profile 不 ok,那可能是擴充套件的問題

這個恐怕不容易做了...因為要花上很多時間..
不是學生了, 也不是靠這個賺錢, 沒這個心力這樣測啊.. ^ ^"
所以想問問有沒能者對 ff 的系統架構運作夠熟或是看得了 source,
也許可以直接找問題, 不用逆向實驗的方式去找了...


回頂端
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; Tablet PC 2.0)
  
引用回覆  
文章發表於 : 2012-01-19, 23:39 
離線

註冊時間: 2003-11-18, 10:59
文章: 3473
訪客 寫:
不能不回復哩...這功能是使用 firefox 最基本的原因之一!
不過向來是以 TGM 做 session 的儲存 (設定中把 ff 自身的 sessionstore 取代)

不是說以後都不要用,只是想看看是否問題出在那個 profile 內的 sessionrestore.js

訪客 寫:
coolcd 寫:
  • 如果還是有問題,可新增一個 profile 來測試→如果新開的 profile ok,但舊的 profile 不 ok,那可能是擴充套件的問題

這個恐怕不容易做了...因為要花上很多時間..
不是學生了, 也不是靠這個賺錢, 沒這個心力這樣測啊.. ^ ^"
所以想問問有沒能者對 ff 的系統架構運作夠熟或是看得了 source,
也許可以直接找問題, 不用逆向實驗的方式去找了...

還是需要找出可重現錯誤的步驟,人家才好 debug 吧

_________________
:::: 簽名檔分隔線 ::::
免費好用又自由的輸入法 gcin Windows | 勸大家以後不要再買 ATI


回頂端
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
 個人資料  
引用回覆  
文章發表於 : 2012-01-21, 10:15 
離線

註冊時間: 2003-11-18, 10:59
文章: 3473
找到一個好像有點相關的 bug
https://bugzilla.mozilla.org/show_bug.cgi?id=581510

_________________
:::: 簽名檔分隔線 ::::
免費好用又自由的輸入法 gcin Windows | 勸大家以後不要再買 ATI


回頂端
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
 個人資料  
引用回覆  
文章發表於 : 2012-01-21, 22:37 
離線

註冊時間: 2003-11-18, 10:59
文章: 3473
覺得這跟另一個討論串是同一個問題,都是特定網頁或特定套件導致 memory leak 的關係
viewtopic.php?p=170060#p170060
這種情形其實一直都存在 :wink:
解決方式嘛……其實一般使用者可以做的不多
有能力、有熱情的歡迎幫忙 debug、回報給網友、開發人員知道
如果沒有這種能力或意願,又想繼續用 firefox
那只好儘量少裝擴充套件、不裝人家回報有問題的擴充套件、少開廣告多的網頁、遇到問題重新啟動 firefox
真的無法忍受,就換個瀏覽器吧,chrome、ie、safari……選擇很多
等你感受到其他瀏覽器的缺點或不順手的地方
再回來用 firefox 吧 :mrgreen:

_________________
:::: 簽名檔分隔線 ::::
免費好用又自由的輸入法 gcin Windows | 勸大家以後不要再買 ATI


回頂端
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
 個人資料  
引用回覆  
文章發表於 : 2012-01-22, 13:56 
coolcd 寫:
建議的 debug 步驟:
  • 不要回復 session (或把 profile 內的 sessionstore.js 改名 or 刪除)→如果不回復 session 就 ok,可能是 sessionstore.js 有問題,或者其中某網站導致此問題,可以進一步去測試是否特定網站才會發生此問題。

要刪 sessionstore.js 時意外發現, 正在用的這個 "版本" 竟然超過 60MB!
一個月前才剛處理過, 當時是 8MB左右吧. 不知道是記錄了些啥? 竟然長這麼快!! (有些什麼參數可供調整?)
猜測可能是這個檔案因為 ff 系統 coding 的方式被限制了大小?
所以某次 session 存完後, 之後的 session 都無法在存入所以出現 error, 因此每次重開都取出那一次的紀錄.
不知相關的 algorithm 和 file-structure 如何, 如果真是這個問題, 那真的太..."原始" 了... = =
之前 TGM 好像也有類似的問題 (大概兩年前有遇過, 沒記得很清楚了). 另外 sqlite 檔太大的問題也出現過..
希望 ff 在 log file 檔案太大會出包的問題上, 可以有更清楚, 更簡單的系統處理方式以及使用者自行管理方式...

目前 session 記錄全空的狀態下重新 "試驗", 有新狀況再 update 上來請教~


回頂端
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; Tablet PC 2.0)
  
引用回覆  
顯示文章 :  排序  
發表新文章 回覆主題  [ 7 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:Yahoo [Bot] 和 39 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
Powered by phpBB® Forum Software © phpBB Group
正體中文語系由 竹貓星球 維護製作
© moztw.org, Mozilla Foundation
MozTW,Mozilla 台灣社群