致命的 #604
完了リストの名前が変わるとその変化に対応できずクラッシュすることがある
100%
説明
・mikutterでリストタブ表示をしているリストの名前を(Webで)変更すると、旧名称のタブと新名称のタブが同時に存在するようになる
・何かしらの問題により、 Issue #540 と同様のエラーを吐いてクラッシュするようになる
・これ以降は、mikutter が起動しても数秒でクラッシュしてしまうため実質利用不可能になる
・リスト名を一旦戻したり、設定ファイルから新旧リストの情報を消すことができれば回復する
詳細: http://akkiesoft.hatenablog.jp/entry/20130727/1374861130
toshi_a 初音 さんが11年以上前に更新
- ステータス を 新規 から 実装待ち に変更
- 対象バージョン を 0.2.2 にセット
- mikutterにアカウントを設定
- 設定より、リストAを表示
- mikutterを終了
- twitter.com にアクセスし、リストAの名前をA'に変更
- mikutterを起動(ここでリストの名前がAになっていることを確認しましたがこれは仕様です)
- 次の定期リスト更新のタイミングで、リストA'のタブが作成されることを確認(クラッシュはしません)
- mikutterを再起動
- 起動後、10秒くらいしてクラッシュしました(3回中3回)
いずれも以下のようなスタックトレースが表示されます。詳しくはこれから調べますが、リスト関連だったんですね。再現できるようになったので調査を開始します。
/home/toshi/mikutter/core/user.rb:126:in `marshal_dump': User cannot marshalize (RuntimeError)
from /usr/lib/ruby/1.9.1/pstore.rb:495:in `dump'
from /usr/lib/ruby/1.9.1/pstore.rb:495:in `dump'
from /usr/lib/ruby/1.9.1/pstore.rb:453:in `save_data'
from /usr/lib/ruby/1.9.1/pstore.rb:329:in `block in transaction'
from <internal:prelude>:10:in `synchronize'
from /usr/lib/ruby/1.9.1/pstore.rb:316:in `transaction'
from /home/toshi/mikutter/core/utils.rb:469:in `block in transaction'
from /usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
from /home/toshi/mikutter/core/utils.rb:468:in `transaction'
from /home/toshi/mikutter/core/configloader.rb:109:in `transaction'
from /home/toshi/mikutter/core/configloader.rb:29:in `block in <module:ConfigLoader>'
from /home/toshi/mikutter/core/lib/timelimitedqueue/timelimitedqueue.rb:73:in `call'
from /home/toshi/mikutter/core/lib/timelimitedqueue/timelimitedqueue.rb:73:in `callback'
from /home/toshi/mikutter/core/lib/timelimitedqueue/timelimitedqueue.rb:66:in `block in waiting_proc'
from /home/toshi/mikutter/core/lib/timelimitedqueue/timelimitedqueue.rb:57:in `loop'
from /home/toshi/mikutter/core/lib/timelimitedqueue/timelimitedqueue.rb:57:in `waiting_proc'
toshi_a 初音 さんが11年以上前に更新
- トラッカー を バグ から 致命的 に変更
- ステータス を 実装待ち から レビュー待ち に変更
- 担当者 を Akira Ouchi にセット
修正できたと思います。本件のせいで起動出来くなっていたプロファイルでも起動できるようになったと思います。 hotfix-0.2.2 をチェックアウトして確認してみてください。