プロジェクト

全般

プロフィール

バグ #1234

Ubuntu 18.04においてプラグインをコマンドライン指定した場合にmikutterが起動しない

Hiyowa Kyobashi2ヶ月前に追加. 2ヶ月前に更新.

ステータス:
まだダメ
優先度:
通常
担当者:
対象バージョン:
プラグイン名:
mikutter_auto_reply_bot_sample
ブランチ:
topic/1234-missing-dependency-for-twitter-plugin
クラッシュする:
はい

説明

Ubuntu Server 17.10において、aptからインストールしたmikutterが動いていた環境から、同18.04にアップグレードした環境で、コマンドラインにひよわ焼きプラグインを指定して立ち上げるとエラーを出力してクラッシュする。


再現手順

・ Ubuntu Server 17.10(DEが存在しない環境)にaptからmikutterをインストールし、ひよわ焼きプラグイン( https://github.com/KHiyowa/Hiyowayaki )を入れて動作することを確認する。
・ この環境を、do-release-updateを使ってUbuntu 18.04にアップグレードすると、rubyと本体のバージョンは以下のようになる。
ruby 2.5.1p57
mikutter 3.6.4
・ この状態で、 mikutter --plugin=mikutter_auto_reply_bot_sample を実行すると次のようになる。

Traceback (most recent call last):
35: from /usr/share/mikutter/mikutter.rb:42:in `<main>'
34: from /usr/share/mikutter/core/miquire.rb:18:in `miquire'
33: from /usr/share/mikutter/core/miquire.rb:75:in `miquire'
32: from /usr/share/mikutter/core/miquire.rb:75:in `each'
31: from /usr/share/mikutter/core/miquire.rb:76:in `block in miquire'
30: from /usr/share/mikutter/core/miquire.rb:95:in `file_or_directory_require'
29: from /usr/share/mikutter/core/miquire.rb:98:in `miquire_original_require'
28: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
27: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
26: from /usr/share/mikutter/core/boot/load_plugin.rb:8:in `<top (required)>'
25: from /usr/share/mikutter/core/boot/load_plugin.rb:8:in `each'
24: from /usr/share/mikutter/core/miquire_plugin.rb:146:in `load'
23: from /usr/share/mikutter/core/utils.rb:278:in `atomic'
22: from /usr/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
21: from /usr/share/mikutter/core/utils.rb:278:in `block in atomic'
20: from /usr/share/mikutter/core/miquire_plugin.rb:147:in `block in load'
19: from /usr/share/mikutter/core/miquire_plugin.rb:147:in `each'
18: from /usr/share/mikutter/core/miquire_plugin.rb:149:in `block (2 levels) in load'
17: from /usr/share/mikutter/core/miquire_plugin.rb:146:in `load'
16: from /usr/share/mikutter/core/utils.rb:278:in `atomic'
15: from /usr/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
14: from /usr/share/mikutter/core/utils.rb:278:in `block in atomic'
13: from /usr/share/mikutter/core/miquire_plugin.rb:147:in `block in load'
12: from /usr/share/mikutter/core/miquire_plugin.rb:147:in `each'
11: from /usr/share/mikutter/core/miquire_plugin.rb:149:in `block (2 levels) in load'
10: from /usr/share/mikutter/core/miquire_plugin.rb:146:in `load'
9: from /usr/share/mikutter/core/utils.rb:278:in `atomic'
8: from /usr/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
7: from /usr/share/mikutter/core/utils.rb:278:in `block in atomic'
6: from /usr/share/mikutter/core/miquire_plugin.rb:158:in `block in load'
5: from /usr/share/mikutter/core/miquire_plugin.rb:158:in `load'
4: from /usr/share/mikutter/core/plugin/twitter/twitter.rb:10:in `<top (required)>'
3: from /usr/lib/ruby/vendor_ruby/pluggaloid/plugin.rb:36:in `create'
2: from /usr/lib/ruby/vendor_ruby/pluggaloid/plugin.rb:36:in `instance_eval'
1: from /usr/share/mikutter/core/plugin/twitter/twitter.rb:302:in `block in <top (required)>'
/usr/lib/ruby/vendor_ruby/pluggaloid/plugin.rb:257:in `method_missing': undefined method `_' for #<Plugin:0x000055e19e4684f0> (NoMethodError)

関係しているリビジョン

リビジョン b36792e0 (差分)
toshi_a 初音2ヶ月前に追加

twitter: uitranslatorへの依存関係の記載が抜けている refs #1234

履歴

#1 Hiyowa Kyobashi2ヶ月前に更新

  • 再現手順 を更新 (diff)

#2 toshi_a 初音2ヶ月前に更新

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

Twitterプラグインがuitranslatorの機能を使っているのに依存関係を書いてないのが原因と思われます。

#3 toshi_a 初音2ヶ月前に更新

  • ステータス実装待ち から レビュー待ち に変更
  • 担当者toshi_a 初音 から Hiyowa Kyobashi に変更
  • ブランチtopic/1234-missing-dependency-for-twitter-plugin にセット

修正してみました。ブランチ topic/1234-missing-dependency-for-twitter-plugin をcheckoutしてもらって、同じ手順で試してもらえますか。

もしこれでうまくいったら、チケットのステータスを「マージ待ち」に、まだ何か問題があれば「まだダメ」に変えてください。

3.6のほうではあまりテストしたくなかったので3.7.0を起点に作らせてもらいましたが、そちらの検証に支障が出るなら3.6で作り直すので、その場合はこのチケットで教えてください。

#4 Hiyowa Kyobashi2ヶ月前に更新

  • ステータスレビュー待ち から まだダメ に変更
  • 対象バージョン3.6 から 3.7 に変更

エラーの内容が変わりましたが、次のようになりました。

Traceback (most recent call last):
49: from mikutter.rb:42:in `<main>'
48: from /home/mikutter/core/miquire.rb:18:in `miquire'
47: from /home/mikutter/core/miquire.rb:75:in `miquire'
46: from /home/mikutter/core/miquire.rb:75:in `each'
45: from /home/mikutter/core/miquire.rb:76:in `block in miquire'
44: from /home/mikutter/core/miquire.rb:95:in `file_or_directory_require'
43: from /home/mikutter/core/miquire.rb:98:in `miquire_original_require'
42: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
41: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
40: from /home/mikutter/core/boot/load_plugin.rb:8:in `<top (required)>'
39: from /home/mikutter/core/boot/load_plugin.rb:8:in `each'
38: from /home/mikutter/core/miquire_plugin.rb:146:in `load'
37: from /home/mikutter/core/utils.rb:278:in `atomic'
36: from /usr/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
35: from /home/mikutter/core/utils.rb:278:in `block in atomic'
34: from /home/mikutter/core/miquire_plugin.rb:147:in `block in load'
33: from /home/mikutter/core/miquire_plugin.rb:147:in `each'
32: from /home/mikutter/core/miquire_plugin.rb:149:in `block (2 levels) in load'
31: from /home/mikutter/core/miquire_plugin.rb:146:in `load'
30: from /home/mikutter/core/utils.rb:278:in `atomic'
29: from /usr/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
28: from /home/mikutter/core/utils.rb:278:in `block in atomic'
27: from /home/mikutter/core/miquire_plugin.rb:147:in `block in load'
26: from /home/mikutter/core/miquire_plugin.rb:147:in `each'
25: from /home/mikutter/core/miquire_plugin.rb:149:in `block (2 levels) in load'
24: from /home/mikutter/core/miquire_plugin.rb:146:in `load'
23: from /home/mikutter/core/utils.rb:278:in `atomic'
22: from /usr/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
21: from /home/mikutter/core/utils.rb:278:in `block in atomic'
20: from /home/mikutter/core/miquire_plugin.rb:147:in `block in load'
19: from /home/mikutter/core/miquire_plugin.rb:147:in `each'
18: from /home/mikutter/core/miquire_plugin.rb:149:in `block (2 levels) in load'
17: from /home/mikutter/core/miquire_plugin.rb:146:in `load'
16: from /home/mikutter/core/utils.rb:278:in `atomic'
15: from /usr/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
14: from /home/mikutter/core/utils.rb:278:in `block in atomic'
13: from /home/mikutter/core/miquire_plugin.rb:147:in `block in load'
12: from /home/mikutter/core/miquire_plugin.rb:147:in `each'
11: from /home/mikutter/core/miquire_plugin.rb:149:in `block (2 levels) in load'
10: from /home/mikutter/core/miquire_plugin.rb:146:in `load'
9: from /home/mikutter/core/utils.rb:278:in `atomic'
8: from /usr/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
7: from /home/mikutter/core/utils.rb:278:in `block in atomic'
6: from /home/mikutter/core/miquire_plugin.rb:158:in `block in load'
5: from /home/mikutter/core/miquire_plugin.rb:158:in `load'
4: from /home/mikutter/core/plugin/intent/intent.rb:5:in `<top (required)>'
3: from /usr/lib/ruby/vendor_ruby/pluggaloid/plugin.rb:36:in `create'
2: from /usr/lib/ruby/vendor_ruby/pluggaloid/plugin.rb:36:in `instance_eval'
1: from /home/mikutter/core/plugin/intent/intent.rb:63:in `block in <top (required)>'
/usr/lib/ruby/vendor_ruby/pluggaloid/plugin.rb:257:in `method_missing': undefined method `_' for #<Plugin:0x000055614953cf78> (NoMethodError)

#5 Hiyowa Kyobashi2ヶ月前に更新

apt経由のmikutterを削除し、gitからクローンしたものを3.5系に戻したところ、正常に起動しました。
同じ環境で3.7系を起動しようとしたところ、起動できませんでした。
3.5→3.6で加えられた変更が影響しているかもしれません。

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