バグ #1371
完了mikutter 3.9.2にて、タブを左クリックするとフリーズする。
説明
・現象
mikutterがフリーズする。
- Arch Linux(x86_64 Linux 5.2.4-arch1-1-ARCH)
- mikutter 3.9.2(AUR版)
- Ruby 2.6.0
・エラーログ
$ mikutter /opt/mikutter/usr/share/mikutter/core/boot/check_config_permission.rb:11: warning: use glob patterns list instead of nul-separated patterns GLib-GObject-CRITICAL **: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed from /opt/mikutter/usr/lib/ruby/gems/2.6.0/gems/gobject-introspection-3.3.6/lib/gobject-introspection/loader.rb:268:in `block in load_field_writer' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:45:in `block in description_attr_list' from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:48:in `<<' from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:48:in `block (2 levels) in score_expand' from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:44:in `each' from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:44:in `block in score_expand' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `each' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `each' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `inject' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `description_attr_list' from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_miracle_painter.rb:354:in `main_message' from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_coordinate_module.rb:49:in `height' from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:145:in `render_message' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:128:in `uri=' from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:7:in `main' from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:7:in `block in mainloop' from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:6:in `loop' from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:6:in `mainloop' from /opt/mikutter/usr/share/mikutter/mikutter.rb:69:in `boot!' from /opt/mikutter/usr/share/mikutter/mikutter.rb:105:in `<main>' GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed from /opt/mikutter/usr/lib/ruby/gems/2.6.0/gems/gobject-introspection-3.3.6/lib/gobject-introspection/loader.rb:268:in `block in load_field_writer' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:45:in `block in description_attr_list' from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:48:in `<<' from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:48:in `block (2 levels) in score_expand' from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:44:in `each' from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:44:in `block in score_expand' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `each' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `each' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `inject' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `description_attr_list' from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_miracle_painter.rb:354:in `main_message' from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_coordinate_module.rb:49:in `height' from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:145:in `render_message' from /opt/mikutter/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:128:in `uri=' from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:7:in `main' from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:7:in `block in mainloop' from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:6:in `loop' from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:6:in `mainloop' from /opt/mikutter/usr/share/mikutter/mikutter.rb:69:in `boot!' from /opt/mikutter/usr/share/mikutter/mikutter.rb:105:in `<main>' ^C/usr/bin/mikutter: 2 行: 10910 強制終了 /opt/mikutter/AppRun
再現手順
- mikutterを起動する
- タブを左クリックする
関連するチケット
toshi_a 初音 さんが5年以上前に更新
- 担当者 を ぶっちゃん ! にセット
再現しませんでした。以下のことをやってみて、結果を教えてもらえますか。
- クラッシュしているようですが、フリーズしたので強制終了したのでしょうか。
- 左クリックしたタブはどのタブですか。環境によって存在するタブは異なるので、いくつか(できればすべて)を試して、どれでフリーズするか教えてほしいです。
- 同じことをmikutter 3.9.1で行っても再現するか試してほしいです。
toshi_a 初音 さんが5年以上前に更新
- ステータス を 分類待ち から 実装待ち に変更
- 担当者 を ぶっちゃん ! から toshi_a 初音 に変更
起動直後にクラッシュするバグが発生しましたが、本件と同じバックトレースでクラッシュしました。
調査したところ、タイムラインでアンダーラインやカスタム絵文字を表示する処理でクラッシュしているようです。
アンダーラインは、mentionか(@acct のような文字列)URLのようなクリック可能なもので、これらが表示された時にクラッシュすると思われます。
引き続き以下の点について教えてほしいです。
- 左クリックしたタブはどのタブですか。環境によって存在するタブは異なるので、いくつか(できればすべて)を試して、どれでフリーズするか教えてほしいです。
参考: https://social.mikutter.hachune.net/@shibafu528/102595997600262822
ぶっちゃん ! さんが5年以上前に更新
返信遅れて申し訳ございません。
- クラッシュしているようですが、フリーズしたので強制終了したのでしょうか。
フリーズするだけで、しばらく放置してると強制終了ダイアログが出たので強制終了させました。
Pluginを全く入れていないバニラの状態で、
- 左クリックしたタブはどのタブですか。環境によって存在するタブは異なるので、いくつか(できればすべて)を試して、どれでフリーズするか教えてほしいです。
- ホームタイムライン(Mastodon/Twitter)
- リプライ(Mastodon/Twitter)
- ローカルタイムライン
- ダイレクトメッセージ
のタブをクリックするとフリーズします。
- Activityタブ
- 検索タブ
はフリーズしません。
- 同じことをmikutter 3.9.1で行っても再現するか試してほしいです。
mikutter 3.9.1, 3.9.2, 3.9.3の全てで発生します。
原因と思われるもの
pango-1:1.44.3-1からpango-1:1.43.0-2にダウングレードすると、フリーズが発生しません。
Izumi Tsutsui さんが5年以上前に更新
toshi_a さんが ruby-gnome2 にバグレポートを出されていて、
速攻で ruby-gnome2 の pango gem 側に修正がコミットされています。
https://github.com/ruby-gnome2/ruby-gnome2/commit/ed7af9fbb1ce27e5a1a33363d5642a25baaba4b0#issuecomment-520624377
ruby-gnome2 の次の 3.3.7 の pango gem が pango 1.44 との組み合わせで
ビルドされていれば解決すると思います。
ruby-gnome2 pango gem をビルドするときにシステムにインストールされている
pango のバージョンとユーザー側が使用する pango のバージョンが一致している
必要がありますが、Archではすでに pango が更新されているので
パッケージビルドもその環境で行われるんですかね。
toshi_a 初音 さんが5年以上前に更新
リリースされました。
https://github.com/ruby-gnome2/ruby-gnome2/blob/3.3.7/NEWS
これで問題なく動いてるっぽいので軽くまとめます。
toshi_a 初音 さんが5年以上前に更新
- ステータス を 実装待ち から レビュー待ち に変更
- 担当者 を toshi_a 初音 から ぶっちゃん ! に変更
- ブランチ を topic/1373-gtk2-3.3.7 にセット
ありがとうございます。報告のおかげで、Ruby-GNOME2 Projectのpango gemに問題があることが分かりました。
今朝修正されたものがリリースされたので、 topic/1373-gtk2-3.3.7 ブランチをcheckoutして起動してみてください。
(Archのパッケージでやっているようなので、ソースからの起動で確認するのが難しい場合は教えてください)
karin 722 さんが約5年前に更新
mikutter3.9.6でも同様の症状が確認されました
環境
Arch Linux(x86_64 Linux 5.3.8-zen1-1-zen)
mikutter 3.9.6(AUR版)
Ruby 2.6.5p114
再現手順
mikutterを起動する
タブを左クリックする(ホームタイムライン,メンション,ローカルタイムライン)
ログ
which: no aplay in (/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
GLib-GObject-CRITICAL *: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed
from /opt/mikutter/usr/lib/ruby/gems/2.6.0/gems/gobject-introspection-3.3.7/lib/gobject-introspection/loader.rb:268:in `block in load_field_writer'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:45:in `block in description_attr_list'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:48:in `<<'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:48:in `block (2 levels) in score_expand'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:44:in `each'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:44:in `block in score_expand'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `each'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `each'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `inject'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `description_attr_list'
from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_miracle_painter.rb:354:in `main_message'
from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_coordinate_module.rb:49:in `height'
from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:145:in `render_message'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:128:in `uri='
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:7:in `main'
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:7:in `block in mainloop'
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:6:in `loop'
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:6:in `mainloop'
from /opt/mikutter/usr/share/mikutter/mikutter.rb:69:in `boot!'
from /opt/mikutter/usr/share/mikutter/mikutter.rb:105:in `<main>'
GLib-CRITICAL *: g_once_init_leave: assertion 'result != 0' failed
from /opt/mikutter/usr/lib/ruby/gems/2.6.0/gems/gobject-introspection-3.3.7/lib/gobject-introspection/loader.rb:268:in `block in load_field_writer'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:45:in `block in description_attr_list'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:48:in `<<'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:48:in `block (2 levels) in score_expand'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:44:in `each'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:44:in `block in score_expand'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `each'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `each'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `inject'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `description_attr_list'
from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_miracle_painter.rb:354:in `main_message'
from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_coordinate_module.rb:49:in `height'
from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:145:in `render_message'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:128:in `uri='
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:7:in `main'
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:7:in `block in mainloop'
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:6:in `loop'
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:6:in `mainloop'
from /opt/mikutter/usr/share/mikutter/mikutter.rb:69:in `boot!'
from /opt/mikutter/usr/share/mikutter/mikutter.rb:105:in `<main>'
^C/usr/bin/mikutter: 2 行: 89761 強制終了 /opt/mikutter/AppRun
プラグインは一切入れていません。フリーズするだけで、しばらく放置してると強制終了ダイアログが出たので強制終了させました。
ぶっちゃん ! さんは書きました:
・現象
・環境
mikutterがフリーズする。
- Arch Linux(x86_64 Linux 5.2.4-arch1-1-ARCH)
- mikutter 3.9.2(AUR版)
- Ruby 2.6.0
・エラーログ
[...]
mikutter3.9.6でも同様の症状が確認されました
環境
Arch Linux(x86_64 Linux 5.3.8-zen1-1-zen)
mikutter 3.9.6(AUR版)
Ruby 2.6.5p114
再現手順
mikutterを起動する
タブを左クリックする(ホームタイムライン,メンション,ローカルタイムライン)
ログ
which: no aplay in (/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
GLib-GObject-CRITICAL *: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed
from /opt/mikutter/usr/lib/ruby/gems/2.6.0/gems/gobject-introspection-3.3.7/lib/gobject-introspection/loader.rb:268:in `block in load_field_writer'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:45:in `block in description_attr_list'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:48:in `<<'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:48:in `block (2 levels) in score_expand'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:44:in `each'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:44:in `block in score_expand'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `each'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `each'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `inject'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `description_attr_list'
from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_miracle_painter.rb:354:in `main_message'
from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_coordinate_module.rb:49:in `height'
from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:145:in `render_message'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:128:in `uri='
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:7:in `main'
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:7:in `block in mainloop'
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:6:in `loop'
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:6:in `mainloop'
from /opt/mikutter/usr/share/mikutter/mikutter.rb:69:in `boot!'
from /opt/mikutter/usr/share/mikutter/mikutter.rb:105:in `<main>'
GLib-CRITICAL *: g_once_init_leave: assertion 'result != 0' failed
from /opt/mikutter/usr/lib/ruby/gems/2.6.0/gems/gobject-introspection-3.3.7/lib/gobject-introspection/loader.rb:268:in `block in load_field_writer'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:45:in `block in description_attr_list'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:48:in `<<'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:48:in `block (2 levels) in score_expand'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:44:in `each'
from /opt/mikutter/usr/share/mikutter/core/plugin/score/select.rb:44:in `block in score_expand'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `each'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `each'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `inject'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_markup_generator.rb:34:in `description_attr_list'
from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_miracle_painter.rb:354:in `main_message'
from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_coordinate_module.rb:49:in `height'
from /opt/mikutter/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:145:in `render_message'
from /opt/mikutter/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:128:in `uri='
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:7:in `main'
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:7:in `block in mainloop'
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:6:in `loop'
from /opt/mikutter/usr/share/mikutter/core/plugin/gtk/mainloop.rb:6:in `mainloop'
from /opt/mikutter/usr/share/mikutter/mikutter.rb:69:in `boot!'
from /opt/mikutter/usr/share/mikutter/mikutter.rb:105:in `<main>'
^C/usr/bin/mikutter: 2 行: 89761 強制終了 /opt/mikutter/AppRun
Izumi Tsutsui さんが約5年前に更新
- #1397 の問題で 3.3.8 にする必要がある
- 3.3.8 にする修正について developにマージしたけど master にマージしてなかった
とのこと。このあと master 修正されると思いまsう
toshi_a 初音 さんがほぼ5年前に更新
- 関連している バグ #1416: libpangoが新しめのLinux環境でAppImage版を起動するとクラッシュする を追加