バグ #1371
closedmikutter 3.9.2にて、タブを左クリックするとフリーズする。
Description
・現象
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を起動する
- タブを左クリックする
Related issues
Updated by toshi_a 初音 about 5 years ago
- Assignee set to ぶっちゃん !
再現しませんでした。以下のことをやってみて、結果を教えてもらえますか。
- クラッシュしているようですが、フリーズしたので強制終了したのでしょうか。
- 左クリックしたタブはどのタブですか。環境によって存在するタブは異なるので、いくつか(できればすべて)を試して、どれでフリーズするか教えてほしいです。
- 同じことをmikutter 3.9.1で行っても再現するか試してほしいです。
Updated by toshi_a 初音 about 5 years ago
- Status changed from 分類待ち to 実装待ち
- Assignee changed from ぶっちゃん ! to toshi_a 初音
起動直後にクラッシュするバグが発生しましたが、本件と同じバックトレースでクラッシュしました。
調査したところ、タイムラインでアンダーラインやカスタム絵文字を表示する処理でクラッシュしているようです。
アンダーラインは、mentionか(@acct のような文字列)URLのようなクリック可能なもので、これらが表示された時にクラッシュすると思われます。
引き続き以下の点について教えてほしいです。
- 左クリックしたタブはどのタブですか。環境によって存在するタブは異なるので、いくつか(できればすべて)を試して、どれでフリーズするか教えてほしいです。
参考: https://social.mikutter.hachune.net/@shibafu528/102595997600262822
Updated by ぶっちゃん ! about 5 years ago
返信遅れて申し訳ございません。
- クラッシュしているようですが、フリーズしたので強制終了したのでしょうか。
フリーズするだけで、しばらく放置してると強制終了ダイアログが出たので強制終了させました。
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にダウングレードすると、フリーズが発生しません。
Updated by Izumi Tsutsui about 5 years ago
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 が更新されているので
パッケージビルドもその環境で行われるんですかね。
Updated by toshi_a 初音 about 5 years ago
リリースされました。
https://github.com/ruby-gnome2/ruby-gnome2/blob/3.3.7/NEWS
これで問題なく動いてるっぽいので軽くまとめます。
Updated by toshi_a 初音 about 5 years ago
- Blocks 提案 #1373: Ruby-GNOME2 3.3.7を利用する added
Updated by toshi_a 初音 about 5 years ago
- Status changed from 実装待ち to レビュー待ち
- Assignee changed from toshi_a 初音 to ぶっちゃん !
- ブランチ set to topic/1373-gtk2-3.3.7
ありがとうございます。報告のおかげで、Ruby-GNOME2 Projectのpango gemに問題があることが分かりました。
今朝修正されたものがリリースされたので、 topic/1373-gtk2-3.3.7 ブランチをcheckoutして起動してみてください。
(Archのパッケージでやっているようなので、ソースからの起動で確認するのが難しい場合は教えてください)
Updated by ぶっちゃん ! about 5 years ago
- Status changed from レビュー待ち to マージ待ち
対応ありがとうございます。
今朝修正されたものがリリースされたので、 topic/1373-gtk2-3.3.7 ブランチをcheckoutして起動してみてください。
確認しました。問題なく動いています。
Updated by karin 722 almost 5 years ago
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
Updated by Izumi Tsutsui almost 5 years ago
- #1397 の問題で 3.3.8 にする必要がある
- 3.3.8 にする修正について developにマージしたけど master にマージしてなかった
とのこと。このあと master 修正されると思いまsう
Updated by Izumi Tsutsui almost 5 years ago
- Related to 提案 #1397: Ruby-GNOME 3.3.8を利用する added
Updated by toshi_a 初音 almost 5 years ago
- Related to バグ #1416: libpangoが新しめのLinux環境でAppImage版を起動するとクラッシュする added