プロジェクト

全般

プロフィール

バグ #1409

完了

プラグインの起動順かなにかがおかしく、起動しない

Akira Ouchi さんが約5年前に追加. 約5年前に更新.

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

説明

developブランチでgit pullしたところ、プラグインの読み込み順番が変化たためか起動に失敗するようになりました。

.mikutter.ymlのdepends.pluginに必要なものを書き足すと進むようですが、今まで.mikutter.ymlがなかったプラグインも引っかかるので骨が折れそうです〄パリーン。

  • commit 815d65f60b7045dffb4736c0ed8353ad1f328d07(Alpha2相当)
$ ruby mikutter.rb --debug
notice: {MIKUTTER_DIR}/core/configloader.rb:43:in `boot': load setting data from /Users/akkie/.mikutter/settings/setting.yml
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: {MIKUTTER_DIR}/plugin/uitranslator/uitranslator.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: {MIKUTTER_DIR}/plugin/intent/intent.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: {MIKUTTER_DIR}/plugin/score/score.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: {MIKUTTER_DIR}/plugin/skin/skin.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: {MIKUTTER_DIR}/plugin/spell/spell.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: /Users/akkie/.mikutter/plugin/twitter_api_keys/twitter_api_keys.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: {MIKUTTER_DIR}/plugin/world/world.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: /Users/akkie/.mikutter/plugin/twitter/twitter.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: /Users/akkie/.mikutter/plugin/api_request_file_cache/api_request_file_cache.rb
Traceback (most recent call last):
    18: from mikutter.rb:48:in `<main>'
    17: from mikutter.rb:48:in `require'
    16: from /Users/akkie/mikutter/core/boot/load_plugin.rb:10:in `<top (required)>'
    15: from /Users/akkie/mikutter/core/miquire_plugin.rb:98:in `load_all'
    14: from /Users/akkie/mikutter/core/miquire_plugin.rb:38:in `each_spec'
    13: from /Users/akkie/mikutter/core/miquire_plugin.rb:35:in `each'
    12: from /Users/akkie/mikutter/core/miquire_plugin.rb:35:in `each'
    11: from /Users/akkie/mikutter/core/miquire_plugin.rb:40:in `block in each_spec'
    10: from /Users/akkie/mikutter/core/miquire_plugin.rb:99:in `block in load_all'
     9: from /Users/akkie/mikutter/core/miquire_plugin.rb:149:in `load'
     8: from /Users/akkie/mikutter/core/utils.rb:290:in `atomic'
     7: from /Users/akkie/.rbenv/versions/2.6.3/lib/ruby/2.6.0/monitor.rb:230:in `mon_synchronize'
     6: from /Users/akkie/mikutter/core/utils.rb:290:in `block in atomic'
     5: from /Users/akkie/mikutter/core/miquire_plugin.rb:159:in `block in load'
     4: from /Users/akkie/mikutter/core/miquire_plugin.rb:159:in `load'
     3: from /Users/akkie/.mikutter/plugin/api_request_file_cache/api_request_file_cache.rb:4:in `<top (required)>'
     2: from /Users/akkie/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/pluggaloid-1.2.0/lib/pluggaloid/plugin.rb:36:in `create'
     1: from /Users/akkie/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/pluggaloid-1.2.0/lib/pluggaloid/plugin.rb:36:in `instance_eval'
/Users/akkie/.mikutter/plugin/api_request_file_cache/api_request_file_cache.rb:12:in `block in <top (required)>': uninitialized constant Reserver (NameError)
Did you mean?  Retriever

ファイル

log.txt (17.6 KB) log.txt Akira Ouchi, 2019-12-22 00:50

toshi_a 初音 さんが約5年前に更新

  • ステータス分類待ち から 実装待ち に変更
  • 担当者toshi_a 初音 にセット

うちの環境では再現しませんが、Reserverを定義しているcore/lib/reserver.rbをロードしているのが、core/mui/cairo_timeline.rbだけですね。

reserverはプラグインがロードされる前にロードされるべきです。プラグインの移動やTwitterのサードパーティ化によっていろいろとロード順が変わって見つかったというところでしょうか。

Akira Ouchi さんが約5年前に更新

core/pluginをpluginに移動する前のコミット(commit 2ccebe0cd7fdaee5d1e8ee72f4d5c900e382108e)戻して起動したログを貼りました。
log.txtの時はcore/pluginを読んだ後に~/.mikutter/pluginの読み込みに移っていますが、
移動後はpluginと~/.mikutter/pluginが順不同で読み込まれているのが少し気になっています。

Shibafu Midorino さんが約5年前に更新

miquire_plugin.rb get_kind()でのバンドル/サードパーティ判定がおかしくなっていそうな気がします。Environment::PLUGIN_PATHって変えてないですよね

toshi_a 初音 さんが約5年前に更新

標準プラグインの読み込みをサードパーティよりできるだけ先に行うのは、サードパーティプラグインが正しく.mikutter.ymlを指定できていない場合があるから行っていることです。これは修正します。

toshi_a 初音 さんが約5年前に更新

  • ステータス実装待ち から レビュー待ち に変更
  • 担当者toshi_a 初音 から Akira Ouchi に変更
  • ブランチtopic/1409-wrong-detect-bundle-plugin にセット

一旦、標準プラグインを先に読み込ませるようにしました。こっちでは再現できないので確認お願いします。

Akira Ouchi さんが約5年前に更新

  • ステータスレビュー待ち から マージ待ち に変更

ありがとうございます。標準プラグインが先に読み込まれていることを確認できました。

toshi_a 初音 さんが約5年前に更新

  • ステータスマージ待ち から 終了 に変更

merged.

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