バグ #1234
closedUbuntu 18.04においてプラグインをコマンドライン指定した場合にmikutterが起動しない
Description
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)
Updated by toshi_a 初音 over 6 years ago
- Status changed from 分類待ち to 実装待ち
- Assignee set to toshi_a 初音
Twitterプラグインがuitranslatorの機能を使っているのに依存関係を書いてないのが原因と思われます。
Updated by toshi_a 初音 over 6 years ago
- Status changed from 実装待ち to レビュー待ち
- Assignee changed from toshi_a 初音 to Hiyowa Kyobashi
- ブランチ set to topic/1234-missing-dependency-for-twitter-plugin
修正してみました。ブランチ topic/1234-missing-dependency-for-twitter-plugin をcheckoutしてもらって、同じ手順で試してもらえますか。
もしこれでうまくいったら、チケットのステータスを「マージ待ち」に、まだ何か問題があれば「まだダメ」に変えてください。
3.6のほうではあまりテストしたくなかったので3.7.0を起点に作らせてもらいましたが、そちらの検証に支障が出るなら3.6で作り直すので、その場合はこのチケットで教えてください。
Updated by Hiyowa Kyobashi over 6 years ago
- Status changed from レビュー待ち to まだダメ
- Target version changed from 3.6 to 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)
Updated by Hiyowa Kyobashi over 6 years ago
apt経由のmikutterを削除し、gitからクローンしたものを3.5系に戻したところ、正常に起動しました。
同じ環境で3.7系を起動しようとしたところ、起動できませんでした。
3.5→3.6で加えられた変更が影響しているかもしれません。
Updated by Izumi Tsutsui almost 3 years ago
- Status changed from まだダメ to 終了