ツリー一括表示
Message localStorageの動作がおかしい?まとめ /LocalStorage (15/02/12(Thu) 03:17) (#58409)
LMessage Re: localStorageの動作がおかしい?まとめ /pal (15/02/12(Thu) 08:10) (#58410)
LMessage Re: localStorageの動作がおかしい?まとめ /LocalStorage (15/02/12(Thu) 09:15) (#58411)
LMessage localStorageの動作がおかしい?経過報告 /LocalStorage (15/02/24(Tue) 15:35) (#58415)
LMessage localStorageの動作がおかしい?解決方法 /LocalStorage (15/02/25(Wed) 21:31) (#58416) 済!


localStorageの動作がおかしい?まとめ
(#58409) 親階層
LocalStorage の投稿 : 2015/02/12(Thu) 03:17:49
http://www.htmq.com/webstorage/
(環境: WinVista/Safari)

動作状況が更に更に悪化しました

動作しているバージョン
Mozilla/5.0 (Windows NT 6.0; rv:24.0) Gecko/20141028 Firefox/24.0 Lunascape/6.9.3.27400 Width/1920px http://www.lunascape.jp/

動作不良のバージョン
Mozilla/5.0 (Windows NT 6.0; rv:36.0) Gecko/20100101 Firefox/36.0 Width/1920px https://www.mozilla.org/ja/firefox/developer/
Mozilla/5.0 (Windows NT 6.0; rv:37.0) Gecko/20100101 Firefox/37.0 Width/1920px https://nightly.mozilla.org/
Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0 Width/1920px http://www.mozilla.jp/
Mozilla/5.0 (Windows NT 6.0; rv:25.2) Gecko/20150112 Firefox/31.9 PaleMoon/25.2.0 Width/1920px http://www.palemoon.org/

localStorageなどについてバグ検索してみる
https://bugzilla.mozilla.org/buglist.cgi?quicksearch=localStorage
https://bugzilla.mozilla.org/buglist.cgi?quicksearch=String+Slow
https://bugzilla.mozilla.org/buglist.cgi?quicksearch=no+cache

長時間使用してるとLocalStorage保存でエラー発生するようだ
http://forums.mozillazine.jp/viewtopic.php?f=2&t=15228
PS:そろそろテストコードによる耐久試験を行ってはどうか?

[メール転送/OFF] / 返信


[メール転送/OFF] / [親58409] 返信

(環境: WinVista/Safari)

同様の現象であると思われるのでコチラへ移行する
http://forums.mozillazine.jp/viewtopic.php?f=2&t=15228

[メール転送/OFF] / [親58409] 返信

(環境: WinVista/Safari)

重要な現象としてFirefoxを再起動してもデッドロックは継続している
ストレージオーバーフローによるステータス不具合など考えられそう?
localStorageの書込できないデッドロックが発生しているらしい・・・

QLITE_ABORT_ROLLBACK については、全く対応していない
http://forums.mozillazine.jp/viewtopic.php?f=2&t=15228#p54361

[メール転送/OFF] / [親58409] 返信

(環境: WinVista/Safari)

FirefoxにおけるlocalStorage予備知識・・・localStorageフォルダーを変更しているらしい
変更日前から使用していると・・・localStorageフォルダLS新とLS古2つ同時に使われているようだ?

localStorageフォルダLS新とLS古に同じkeyがある場合・・・LS新が採用される
localStorageフォルダLS新にkeyが無い場合・・・LS古もkeyを探す・・・データ自動移行か?
LS古のkeyが読出されると消えないし変化しないのでデッドロックのように見えるかもしれない。

localStorage.setItem(key,'')を行うと・・・localStorageフォルダLS新のkeyのみ消される・・・LS古が残った
localStorage.removeItem(key)を行うと・・・localStorageフォルダLS新のkeyのみ消される・・・LS古が残った
localStorage.clear()を行うと・・・localStorageフォルダLS新のみ消される・・・LS古が残った

ここで読出しにおけるgetItem(key)の重大な問題点
LS新にkeyが有れば不具合とならないが
LS新にkeyが無ければLS古のkeyデータを勝手に掴んでくる

ここで読出しにおけるgetItem(key)の重大な問題点の一時的解消方法
LS新では消すのでは無くkeyに消去ステータスとしてダミーデータを入れておく
LS新にkeyがあるのでLS古のkeyデータを勝手に掴んでくる事が無い

クリーンインストールすればこの問題は解消されるが
信頼性優先と考えて根本対処するなら、LS古が存在する場合
localStorage.clear()ではLS新とLS古を同時に消す。
localStorage.removeItem(key)でもLS新とLS古を同時に消す。
localStorage.setItem(key,'')なら自動的にlocalStorage.removeItem(key)を代用する。

なお、動作不良のスクリプトは動作を回復した。
済!
[メール転送/OFF] / [親58409] 返信
- Child Tree -