致命的 #964
完了フォロー・フォロワータブで何も表示されていない行をクリックすると落ちる
100%
説明
#916 (定期的にfollowアクティビティが大量に生成される) と関係するかもしれませんが
フォロー・フォロワータブに何も表示されていない行が発生することがあり、(特に起動直後)
その状態で何も表示されていない行をダブルクリックすると
mikutter が以下のログを吐いて落ちます。
Retriever::InvalidURIError `FalseClass' is not uri. {MIKUTTER_DIR}/core/plugin/intent/intent.rb:77:in `block (2 levels) in <top (required)>' /usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/listener.rb:25:in `call' /usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/listener.rb:25:in `call' /usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:97:in `block (2 levels) in call_all_listeners' /usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:96:in `each' /usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:96:in `block in call_all_listeners' /usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:95:in `catch' /usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:95:in `call_all_listeners' /usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:39:in `block in call' /usr/pkg/lib/ruby/gems/2.2.0/gems/delayer-0.0.2/lib/delayer/procedure.rb:24:in `call' /usr/pkg/lib/ruby/gems/2.2.0/gems/delayer-0.0.2/lib/delayer/procedure.rb:24:in `run' /usr/pkg/lib/ruby/gems/2.2.0/gems/delayer-0.0.2/lib/delayer/extend.rb:58:in `run_once' /usr/pkg/lib/ruby/gems/2.2.0/gems/delayer-0.0.2/lib/delayer/extend.rb:30:in `run' /usr/pkg/lib/ruby/gems/2.2.0/gems/delayer-0.0.2/lib/delayer.rb:43:in `method_missing' {MIKUTTER_DIR}/core/plugin/gtk/delayer.rb:10:in `block in boot' {MIKUTTER_DIR}/core/plugin/gtk/mainloop.rb:10:in `call' {MIKUTTER_DIR}/core/plugin/gtk/mainloop.rb:10:in `main' {MIKUTTER_DIR}/core/plugin/gtk/mainloop.rb:10:in `mainloop' {MIKUTTER_DIR}/mikutter.rb:64:in `boot!' {MIKUTTER_DIR}/mikutter.rb:93:in `<main>'
とりあえず何かしらチェック入れたほうがいいのでしょうか。
NetBSD + pkgsrc の mikutter 3.5.1 です。
ファイル
バックトレース
Retriever::InvalidURIError `FalseClass' is not uri.
{MIKUTTER_DIR}/core/plugin/intent/intent.rb:77:in `block (2 levels) in <top (required)>'
/usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/listener.rb:25:in `call'
/usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/listener.rb:25:in `call'
/usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:97:in `block (2 levels) in call_all_listeners'
/usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:96:in `each'
/usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:96:in `block in call_all_listeners'
/usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:95:in `catch'
/usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:95:in `call_all_listeners'
/usr/pkg/lib/ruby/gems/2.2.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:39:in `block in call'
/usr/pkg/lib/ruby/gems/2.2.0/gems/delayer-0.0.2/lib/delayer/procedure.rb:24:in `call'
/usr/pkg/lib/ruby/gems/2.2.0/gems/delayer-0.0.2/lib/delayer/procedure.rb:24:in `run'
/usr/pkg/lib/ruby/gems/2.2.0/gems/delayer-0.0.2/lib/delayer/extend.rb:58:in `run_once'
/usr/pkg/lib/ruby/gems/2.2.0/gems/delayer-0.0.2/lib/delayer/extend.rb:30:in `run'
/usr/pkg/lib/ruby/gems/2.2.0/gems/delayer-0.0.2/lib/delayer.rb:43:in `method_missing'
{MIKUTTER_DIR}/core/plugin/gtk/delayer.rb:10:in `block in boot'
{MIKUTTER_DIR}/core/plugin/gtk/mainloop.rb:10:in `call'
{MIKUTTER_DIR}/core/plugin/gtk/mainloop.rb:10:in `main'
{MIKUTTER_DIR}/core/plugin/gtk/mainloop.rb:10:in `mainloop'
{MIKUTTER_DIR}/mikutter.rb:64:in `boot!'
{MIKUTTER_DIR}/mikutter.rb:93:in `<main>'
再現手順
- フォロータブを開く
- 何も表示されてない行を選択してダブルクリック
関連するチケット
toshi_a 初音 さんがほぼ8年前に更新
- トラッカー を バグ から 致命的 に変更
- バックトレース を更新 (差分)
確認できました。よくあるやつですね。
クラッシュしているし、簡単に引き起こせる問題なので、致命的な問題として処理します。
toshi_a 初音 さんがほぼ8年前に更新
- ステータス を 新規 から 実装待ち に変更
- 担当者 を toshi_a 初音 にセット
そもそもこの「何もない行」が発生するのが問題です。
こういった行が発生している原因を調べて、簡単に解決できるなら、そもそもこういった行が生成されないように、修正が大変な場合は、とりあえずクラッシュしないようにして次のリリースに間に合わせ、あとから問題を解決します。
toshi_a 初音 さんがほぼ8年前に更新
自分のアカウントに於いてフォロー・フォロワーに空行が生成されるのは、ユーザの取得が正しく行えなかったものについて発生するということがわかりました。
この取得はfollowingcontrolが行っており、あとからfollowingcontrolが取得に成功したものについては、順次表示されるという挙動を確認できました。よって空行ができるというのはこのチケットでは取り扱わず、ダブルクリックしたらクラッシュするという問題を修正します。
toshi_a 初音 さんがほぼ8年前に更新
- ステータス を 実装待ち から レビュー待ち に変更
- 担当者 を toshi_a 初音 から Izumi Tsutsui に変更
- 進捗率 を 0 から 100 に変更
ひとまずhotfix/3.5 で、何も表示されていない行というのが無くなったと思います。確認お願いします。
Izumi Tsutsui さんがほぼ8年前に更新
- ステータス を レビュー待ち から 解決 に変更
3.5.2 + 7d84a887 の差分で試してみました。
空行の表示はなくなっているようです。
ありがとうございます。