プロジェクト

全般

プロフィール

バグ #1501

完了

起動直後に block_user?[mastodon, mastodon_account] を評価するとクラッシュする

Shibafu Midorino さんが約3年前に追加. 約3年前に更新.

ステータス:
終了
優先度:
通常
担当者:
-
対象バージョン:
プラグイン名:
mastodon
クラッシュする:
はい

説明

mikutterを起動した直後に Spell block_user?[mastodon, mastodon_account] を評価すると、必ずクラッシュしてしまいます。
私の環境では mikutter_block プラグインによってこの問題を引き、以下のようなバックトレースが得られています。

Traceback (most recent call last):
        43: from mikutter.rb:116:in `<main>'
        42: from mikutter.rb:80:in `boot!'
        41: from /home/shibafu/git/mikutter/plugin/gtk/mainloop.rb:10:in `mainloop'
        40: from /home/shibafu/git/mikutter/plugin/gtk/mainloop.rb:10:in `catch'
        39: from /home/shibafu/git/mikutter/plugin/gtk/mainloop.rb:12:in `block in mainloop'
        38: from /home/shibafu/git/mikutter/plugin/gtk/mainloop.rb:12:in `loop'
        37: from /home/shibafu/git/mikutter/plugin/gtk/mainloop.rb:23:in `block (2 levels) in mainloop'
        36: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/delayer-1.1.2/lib/delayer.rb:38:in `method_missing'
        35: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/delayer-1.1.2/lib/delayer/extend.rb:109:in `run_once'
        34: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/delayer-1.1.2/lib/delayer/extend.rb:117:in `run_once_without_pop_reserve'
        33: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/delayer-1.1.2/lib/delayer/procedure.rb:26:in `run'
        32: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/event.rb:62:in `block in call'
        31: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/event.rb:239:in `call_all_listeners'
        30: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/event.rb:239:in `catch'
        29: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/event.rb:240:in `block in call_all_listeners'
        28: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/event.rb:240:in `each'
        27: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/event.rb:241:in `block (2 levels) in call_all_listeners'
        26: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/listener.rb:25:in `call'
        25: from /home/shibafu/git/mikutter/plugin/gtk/gtk.rb:329:in `block (2 levels) in <top (required)>'
        24: from /home/shibafu/git/mikutter/core/mui/gtk_contextmenu.rb:59:in `popup'
        23: from /home/shibafu/git/mikutter/core/mui/gtk_contextmenu.rb:38:in `build!'
        22: from /home/shibafu/git/mikutter/core/mui/gtk_contextmenu.rb:38:in `each'
        21: from /home/shibafu/git/mikutter/core/mui/gtk_contextmenu.rb:40:in `block in build!'
        20: from /home/shibafu/git/mikutter/plugin/gui/command.rb:26:in `block (2 levels) in get_menu_items'
        19: from /home/shibafu/.mikutter/plugin/block/block.rb:38:in `block (2 levels) in <top (required)>'
        18: from /home/shibafu/git/mikutter/plugin/spell/spell.rb:18:in `block (3 levels) in <top (required)>'
        17: from /home/shibafu/git/mikutter/plugin/spell/spell.rb:43:in `block (2 levels) in <top (required)>'
        16: from /home/shibafu/git/mikutter/plugin/spell/spell.rb:43:in `first'
        15: from /home/shibafu/git/mikutter/plugin/spell/spell.rb:43:in `each'
        14: from /home/shibafu/git/mikutter/plugin/spell/spell.rb:43:in `each'
        13: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/event.rb:212:in `block in collect'
        12: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/event.rb:80:in `filtering'
        11: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/event.rb:80:in `catch'
        10: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/event.rb:81:in `block in filtering'
         9: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/event.rb:81:in `reduce'
         8: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/event.rb:81:in `each'
         7: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/event.rb:82:in `block (2 levels) in filtering'
         6: from /home/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/filter.rb:33:in `filtering'
         5: from /home/shibafu/git/mikutter/plugin/spell/spell.rb:22:in `block (3 levels) in <top (required)>'
         4: from /home/shibafu/git/mikutter/plugin/spell/struct.rb:7:in `match'
         3: from /home/shibafu/git/mikutter/plugin/spell/struct.rb:16:in `condition?'
         2: from /home/shibafu/git/mikutter/plugin/spell/struct.rb:51:in `call_spell_block'
         1: from /home/shibafu/git/mikutter/plugin/mastodon/spell.rb:436:in `block (2 levels) in <top (required)>'
/home/shibafu/git/mikutter/plugin/mastodon/model/world.rb:192:in `block?': undefined method `any?' for nil:NilClass (NoMethodError)

Plugin::Mastodon::Worldのクラス変数 @@blocks は mastodon.rb L67 あたりにある followings_updater によってセットされそうですが、起動直後にはWorldが1つも得られずに空振りしているようです。
ここから、起動後26分経過するまでこのSpellの前提条件を評価することができなくなっているようです。

他の形式にエクスポート: Atom PDF