バグ #1416
完了libpangoが新しめのLinux環境でAppImage版を起動するとクラッシュする
説明
AppImage版では、 #1371 と同じ問題でmikutterが起動しない環境がある。
現在再現できているのはArch Linux。ホスト側のlibpangoが1.44以降だとクラッシュしているようで、ホスト側のlibpangoを参照してしまっている可能性がある。
関連するチケット
toshi_a 初音 さんがほぼ5年前に更新
それと思わしきバグ報告たち
一畳間まんきつ暮らし!を読んで: "AppImage関係あるか知らんけどうちの環境でmikutter動かないのなんで" - :don: https://mstdn.maud.io/@hina/103400515882924923
しきうた: "mikutter appimage Tumbleweedだとそもそもインストール出来なくてアッって…" - :don: https://mstdn.maud.io/@siki_uta/103400532177540211
Yuto Tokunaga さんがほぼ5年前に更新
クラッシュ時のログは分かりますか?手元の環境だと
notice: {MIKUTTER_DIR}/core/serialthread.rb:47:in `force_exit!': all Serial Thread Group jobs canceled. notice: {MIKUTTER_DIR}/mikutter.rb:93:in `boot!': raise mainloop exception `TypeError' notice: {MIKUTTER_DIR}/mikutter.rb:98:in `error_handling!': catch TypeError Traceback (most recent call last): 25: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/mikutter.rb:117:in `<main>' 24: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/mikutter.rb:81:in `boot!' 23: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/plugin/gtk/mainloop.rb:10:in `mainloop' 22: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/plugin/gtk/mainloop.rb:10:in `catch' 21: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/plugin/gtk/mainloop.rb:12:in `block in mainloop' 20: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/plugin/gtk/mainloop.rb:12:in `loop' 19: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/plugin/gtk/mainloop.rb:18:in `block (2 levels) in mainloop' 18: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/plugin/gtk/mainloop.rb:18:in `main_iteration' 17: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:128:in `uri=' 16: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/core/mui/cairo_cell_renderer_message.rb:145:in `render_message' 15: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class' 14: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/core/mui/cairo_coordinate_module.rb:49:in `height' 13: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class' 12: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/core/mui/cairo_miracle_painter.rb:352:in `main_message' 11: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class' 10: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/core/mui/cairo_markup_generator.rb:36:in `description_attr_list' 9: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/core/mui/cairo_markup_generator.rb:36:in `inject' 8: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/core/mui/cairo_markup_generator.rb:36:in `each' 7: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/core/mui/cairo_markup_generator.rb:36:in `each' 6: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/plugin/score/select.rb:44:in `block in score_expand' 5: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/plugin/score/select.rb:44:in `each' 4: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/plugin/score/select.rb:48:in `block (2 levels) in score_expand' 3: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/plugin/score/select.rb:48:in `<<' 2: from /tmp/.mount_mikuttmwmU9D/usr/share/mikutter/core/mui/cairo_markup_generator.rb:47:in `block in description_attr_list' 1: from /tmp/.mount_mikuttmwmU9D/usr/lib/ruby/gems/2.6.0/gems/gobject-introspection-3.4.1/lib/gobject-introspection/loader.rb:272:in `block in load_field_writer' /tmp/.mount_mikuttmwmU9D/usr/lib/ruby/gems/2.6.0/gems/gobject-introspection-3.4.1/lib/gobject-introspection/loader.rb:272:in `set_field_value': class or module required (TypeError)
なんですけど.
Yuto Tokunaga さんがほぼ5年前に更新
- ステータス を 実装待ち から レビュー待ち に変更
- ブランチ を topic/1416-appimage-crash にセット
たぶんこれでなおるはず
修正したgen_appimage.sh
でビルドし直したAppImageをアップロードしたので,これでテストしてもらえますか.
https://send.firefox.com/download/618e0a6077136741/#On36SCaZiswqY07uVwPa0Q
Izumi Tsutsui さんがほぼ5年前に更新
かなりどうでもいいところですが
91bfa62e の差分の
mkdir $APPDIR/usr/lib/girepository-1.0 || true
は同じファイルの 39行目同様
mkdir -p
でいいような。toshi_a 初音 さんがほぼ5年前に更新
たしかに何故か動きますね。こちらでリビルドしても確認できました。
修正内容的にはどっちにしても入れておくべきだと思うので、このブランチはmergeしましょう。ただ、問題はまだ切り分けられていないので、Pango 1.43以前の環境での起動確認をしてから閉じたいですね
Shibafu Midorino さんがほぼ5年前に更新
Ubuntu 18.04 Japanese Remix LiveDVD (x86_64) のLive環境にて #1416-6 のAppImageを実行してMastodon Worldを追加、TLが流れるところまで動作確認できました。
本環境にはlibpango 1.40.14が入っています。
https://social.mikutter.hachune.net/@shibafu528/103424001226438849
Yuto Tokunaga さんがほぼ5年前に更新
Arch (Pango 1.44.7) | Clear Linux (Pango 1.42.4) | |
---|---|---|
対策前のAppImage | TLを表示するタイミングでフリーズ ( #1416-4 のログ) | 起動中にクラッシュ |
対策後のAppImage | 問題なし | 問題なし |
hinaloe k さんがほぼ5年前に更新
問題の発生していたArch環境(pango: 1:1.44.7-1)、Ubuntu 18.04.3 (libpango-1.0-0: 1.40.14-1ubuntu0.1)で問題なくTL表示ほかの操作が出来ていることを確認しました。(環境としてはおおむね既出とおなじ)
Archでフリーズしていた際のトレース: https://mstdn.maud.io/@hina/103406228095880713