Project

General

Profile

致命的 #805

.mikutter の無い初回起動時に設定ボタンを押すと落ちる?

Added by Izumi Tsutsui over 3 years ago. Updated over 3 years ago.

Status:
終了
Priority:
通常
Target version:
Start date:
2015-12-29
Due date:
% Done:

0%

プラグイン名:

Description

NetBSD/i386 7.0 + pkgsrc-2015Q4 の「とか環境」で mikutter 3.3.1 のパッケージ作成検証中
という中途半端な環境ですが、以下の現象が起きたのでとりあえずチケット書きます。

現象

~/.mikutter が存在しない新規の状態で mikutter を起動したあと、
チュートリアルの途中でネギレンチの設定ボタンを押すと以下のようなログを吐いて
mikutterが落ちます。

/usr/pkg/share/mikutter/core/utils.rb:108:in `where_should_insert_it': undefined method `include?' for #<Symbol:0x2cdbf0e>
     from /usr/pkg/share/mikutter/core/plugin/activity/activity.rb:286:in `block (3 levels) in <top (required)>'
     from /usr/pkg/share/mikutter/core/plugin/activity/activity.rb:284:in `each'
     from /usr/pkg/share/mikutter/core/plugin/activity/activity.rb:284:in `block (2 levels) in <top (required)>'
     from /usr/pkg/share/mikutter/core/plugin/settings/settings.rb:35:in `instance_eval'
     from /usr/pkg/share/mikutter/core/plugin/settings/settings.rb:35:in `block in setting_window'
     from /usr/pkg/share/mikutter/core/plugin/settings/settings.rb:30:in `each'
     from /usr/pkg/share/mikutter/core/plugin/settings/settings.rb:30:in `setting_window'
     from /usr/pkg/share/mikutter/core/plugin/settings/settings.rb:18:in `block (2 levels) in <top (required)>'

状況

activity.rbwhere_should_insert_it を呼んでるのは以下
        i = where_should_insert_it(kind, activity_kind_order, UserConfig[:activity_kind_order])

で、 UserConfig[:activity_kind_order] で何かあるのかなとログを見ると
リビジョン 3c04005e で以下の変更が入っています。
  1. ratelimit streaming_status の追加
  2. %s[] の書式変更

ここで添付 mikutter-3.3.1.patch のように後者の書式だけ元に戻すと落ちなくなるようなのですが、
そもそも環境的に何かのインストールが足りていないだけかもしれません。

環境は以下:
  • ruby 2.0.0p648
  • mikutter-3.3.1
  • addressable-2.3.8
  • delayer-0.0.2
  • delayer-deferred-1.0.3
  • gettext-3.1.6
  • hmac-0.4.0
  • httpclient-2.6.0.1
  • instance_storage-1.0.0
  • json-1.8.3
  • locale-2.1.1
  • memoist-0.14.0
  • moneta-0.8.0
  • nokogiri-1.6.6.4
  • oauth-0.4.7
  • pluggaloid-1.0.2
  • text-1.3.1
  • twitter-text-1.13.0
  • typed-array-0.1.2
  • unf-0.1.4
  • unf_ext-0.0.7.1

totorijp はどうすべきか迷ってます。すいません。


Files

mikutter-3.3.1.patch (609 Bytes) mikutter-3.3.1.patch activity.rb 適当修正 Izumi Tsutsui, 2015-12-29 05:33

Associated revisions

Revision 850104c2 (diff)
Added by Osamu Koga over 3 years ago

activity_kind_order の指定方法が間違っていた refs #805

Revision b574cb05 (diff)
Added by toshi_a 初音 over 3 years ago

activity_kind_order が Array でない場合、値を初期化する refs #805

History

#1

Updated by Izumi Tsutsui over 3 years ago

もぐのさんがこんなの書いてました
https://twitter.com/moguno/status/681606575983702017

mikutter 3.3.Xで設定画面を開くと落ちる問題を回避するプラグイン書きました https://t.co/3MZMWxPv38

手っ取り早く回避したい方はこちら?

#2

Updated by Osamu Koga over 3 years ago

%記法の使い方が間違ってますね。 http://docs.ruby-lang.org/ja/2.0.0/doc/spec=2fliteral.html#percent
とりあえず今pushした 850104c2 で直っていると思います。

#3

Updated by toshi_a 初音 over 3 years ago

  • Status changed from 新規 to 実装待ち

これみたいですね。既に3.3系を起動してしまった人がアップデートで直るようにしたいので、少し手を加えます。

#4

Updated by toshi_a 初音 over 3 years ago

  • Status changed from 実装待ち to レビュー待ち
  • Assignee set to Izumi Tsutsui

これで、一度3.3で起動してしまった人でも大丈夫でした。一応確認してもらえますか。

#5

Updated by toshi_a 初音 over 3 years ago

  • Tracker changed from バグ to 致命的
#6

Updated by Izumi Tsutsui over 3 years ago

  • Status changed from レビュー待ち to 解決
  • Assignee changed from Izumi Tsutsui to toshi_a 初音

toshi_a 初音 さんは書きました:

これで、一度3.3で起動してしまった人でも大丈夫でした。一応確認してもらえますか。

以下で確認してみました。OKと思います。


  • 非公式 pkgsrc でmikutter 3.3.1 をインストール
  • ~/.mikutter を削除
  • core/plugin/activity/activity.rb を 3c04005e にする
  • mikutter --debug で起動
  • 設定ボタンを押す
    • → undefined method `include?' for ... で落ちる
  • mikutter --debug で起動
  • 設定ボタンを押す
    • → undefined method `include?' for ... で落ちる
  • core/plugin/activity/activity.rb を 850104c2 にする
  • mikutter --debug で起動
  • 設定ボタンを押す
    • → undefined method `include?' for ... で落ちる
  • mikutter --debug で起動
  • 設定ボタンを押す
    • → undefined method `include?' for ... で落ちる
  • core/plugin/activity/activity.rb を b574cb05 にする
  • mikutter --debug で起動
  • 設定ボタンを押す
    • → 設定画面が正常に出る
  • ~/.mikutter を削除
  • core/plugin/activity/activity.rb を 850104c2 にする
  • mikutter --debug で起動
  • 設定ボタンを押す
    • → 設定画面が正常に出る

失った信頼が戻ってこないように、対策コードも永遠に残ってしまうのですね……。

#7

Updated by toshi_a 初音 over 3 years ago

  • Status changed from 解決 to 終了

Also available in: Atom PDF