プロジェクト

全般

プロフィール

バグ #1283

未完了

world_settingに渡すブロック内で例外が発生するとクラッシュする

cob odo さんが6年以上前に追加. 6年以上前に更新.

ステータス:
分類待ち
優先度:
通常
担当者:
-
対象バージョン:
プラグイン名:
ブランチ:
クラッシュする:
はい

説明

関係するやり取り↓
https://social.mikutter.hachune.net/@toshi_a/100433938755267146

Delayer::Deferredの問題かもしれませんが、一応こちらで報告しておきます。

再現手順に書いた例だと恣意的に感じると思いますが、Debian(mikutterパッケージが使うCK/CSが凍結されたもののまま)での報告で、以下のようなものがありました。

https://social.mikutter.hachune.net/@tdd_1055/100440408179225364
https://social.mikutter.hachune.net/@tdd_1055/100440498577737436
https://social.mikutter.hachune.net/@tdd_1055/100440508638251538

CK/CSが使えずWorldの作成に失敗するのは仕方ありませんが、クラッシュは防ぐべきだと思いましたのでチケット化しておきます。


再現手順

1) mikutterコンソールを開いて以下のコードを入力し、Ctrl+Enterで評価する。

Plugin.create(:world_rejecter) do
  world_setting :world_rejecter, "理想送り" do
    raise RuntimeError.new("新たな天地を望むか?")
  end
end

2) 「Worldを追加」で「理想送り」を選択してOKを押すとクラッシュ
3) 次に起動すると以下のような内容の報告ダイアログが出る
RuntimeError 新たな天地を望むか?
{MIKUTTER_DIR}/core/plugin/change_account/change_account.rb:85:in `instance_eval'
{MIKUTTER_DIR}/core/plugin/change_account/change_account.rb:85:in `block (3 levels) in <top (required)>'
{MIKUTTER_DIR}/core/plugin/gtk/dialog_window.rb:191:in `instance_eval'
{MIKUTTER_DIR}/core/plugin/gtk/dialog_window.rb:191:in `block (2 levels) in run'

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