プロジェクト

全般

プロフィール

バグ #467

完了

undefined method `gsub' エラーでクラッシュする

Izumi Tsutsui さんがほぼ12年前に追加. 約11年前に更新.

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

Izumi Tsutsui さんがほぼ12年前に更新

すいません、間違ってリターン押してしまったみたいです。
(チケット本体の修正はできないんですね……)

↓以下本文です

例によってNetBSD+pkgsrc のとか環境ですが、
mikutter 0.1.1.780 から 0.1.1.790 に更新後、
TLを流している最中に以下のエラーで複数回mikutterが落ちました。

1回目

/usr/pkg/share/mikutter/core/mui/cairo_markup_generator.rb:47:in `block in styled_main_text': 
 undefined method `gsub' for nil:NilClass (NoMethodError)
        from /usr/pkg/share/mikutter/core/mui/cairo_markup_generator.rb:45:in `reverse_each'
        from /usr/pkg/share/mikutter/core/mui/cairo_markup_generator.rb:45:in `styled_main_text'
        from /usr/pkg/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singletonclass'
        from /usr/pkg/share/mikutter/core/mui/cairo_miracle_painter.rb:286:in `main_message'
        from /usr/pkg/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singletonclass'
        from /usr/pkg/share/mikutter/core/mui/cairo_miracle_painter.rb:410:in `block in render_main_text'
        from /usr/pkg/share/mikutter/core/mui/cairo_miracle_painter.rb:408:in `save'
        from /usr/pkg/share/mikutter/core/mui/cairo_miracle_painter.rb:408:in `render_main_text'
        from /usr/pkg/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singletonclass'
        from /usr/pkg/share/mikutter/core/mui/cairo_miracle_painter.rb:364:in `render_to_context'
        from /usr/pkg/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singletonclass'
        from /usr/pkg/share/mikutter/core/mui/cairo_miracle_painter.rb:335:in `gen_pixmap'
        from /usr/pkg/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singletonclass'
        from /usr/pkg/share/mikutter/core/mui/cairo_miracle_painter.rb:341:in `gen_pixbuf'
        from /usr/pkg/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singletonclass'
        from /usr/pkg/share/mikutter/core/mui/cairo_miracle_painter.rb:115:in `pixbuf'
        from /usr/pkg/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singletonclass'
        from /usr/pkg/share/mikutter/core/mui/cairo_cell_renderer_message.rb:147:in `render_message'
        from /usr/pkg/share/mikutter/core/mui/cairo_cell_renderer_message.rb:131:in `message_id='
        from /usr/pkg/share/mikutter/mikutter.rb:62:in `main'
        from /usr/pkg/share/mikutter/mikutter.rb:62:in `boot!'
        from /usr/pkg/share/mikutter/mikutter.rb:80:in `<main>'

2回目

/usr/pkg/share/mikutter/core/mui/cairo_markup_generator.rb:11:in `escape': undefined method `gsub' for 
 #<MatchData "06:09:04" 1:"06" 2:"09" 3:"04" 4:nil 5:nil> (NoMethodError)
        from /usr/pkg/share/mikutter/core/mui/cairo_miracle_painter.rb:304:in `header_left'
        from /usr/pkg/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singletonclass'
        from /usr/pkg/share/mikutter/core/mui/cairo_coordinate_module.rb:46:in `height'
        from /usr/pkg/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singletonclass'
        from /usr/pkg/share/mikutter/core/mui/cairo_cell_renderer_message.rb:143:in `render_message'
        from /usr/pkg/share/mikutter/core/mui/cairo_cell_renderer_message.rb:131:in `message_id='
        from /usr/pkg/share/mikutter/mikutter.rb:62:in `main'
        from /usr/pkg/share/mikutter/mikutter.rb:62:in `boot!'
        from /usr/pkg/share/mikutter/mikutter.rb:80:in `<main>'

/usr/pkg/share/mikutter/core/mui/cairo_markup_generator.rb:11:in `escape': undefined method `gsub' for 
 #<Array:0xb8195c68> (NoMethodError)
        from /usr/pkg/share/mikutter/core/mui/cairo_miracle_painter.rb:304:in `header_left'
        from /usr/pkg/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singletonclass'
        from /usr/pkg/share/mikutter/core/mui/cairo_coordinate_module.rb:46:in `height'
        from /usr/pkg/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singletonclass'
        from /usr/pkg/share/mikutter/core/mui/cairo_cell_renderer_message.rb:143:in `render_message'
        from /usr/pkg/share/mikutter/core/mui/cairo_cell_renderer_message.rb:131:in `message_id='
        from /usr/pkg/share/mikutter/mikutter.rb:62:in `main'
        from /usr/pkg/share/mikutter/mikutter.rb:62:in `boot!'
        from /usr/pkg/share/mikutter/mikutter.rb:80:in `<main>'

すぐに落ちる場合もあればしばらく問題ないこともあるのでツイートの内容依存かもしれません。
& のエスケープの修正に関係があるような気もしますが、細かくは追っていません。

Izumi Tsutsui さんがほぼ12年前に更新

操作ミスりまくっているのでタイトルとか適当に修正してください(´・ω・`)

toshi_a 初音 さんがほぼ12年前に更新

  • トラッカー機能 から バグ に変更
  • 題名undefined method `gsub' no から undefined method `gsub' エラーでクラッシュする に変更

ツイートの内容っぽいですね。こっちでも注意してみておきます

Izumi Tsutsui さんがほぼ12年前に更新

すいません、書き忘れてました。
プラグインの nested_quote.rb と sub_parts_client.rb を使っていたので
そちら側との合わせ技かもしれません。

toshi_a 初音 さんがほぼ12年前に更新

あー、sub_parts_clientは使ってないですね。それも俺の作ったプラグインなので調べておきます。

Izumi Tsutsui さんが約11年前に更新

0.2にしてからはこの要因で落ちていることはないようなので
解決扱いでチケットクローズしてしまってよいと思います。

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

  • ステータス新規 から 終了 に変更

再発せず原因不明なのでクローズします。同様の問題があればチケットを作り直しましょう。

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