プロジェクト

全般

プロフィール

バグ #1416

完了

libpangoが新しめのLinux環境でAppImage版を起動するとクラッシュする

toshi_a 初音 さんが4年以上前に追加. 4年以上前に更新.

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

説明

AppImage版では、 #1371 と同じ問題でmikutterが起動しない環境がある。
現在再現できているのはArch Linux。ホスト側のlibpangoが1.44以降だとクラッシュしているようで、ホスト側のlibpangoを参照してしまっている可能性がある。


関連するチケット

関連している バグ #1371: mikutter 3.9.2にて、タブを左クリックするとフリーズする。終了ぶっちゃん !操作

toshi_a 初音 さんが4年以上前に更新

  • ステータス分類待ち から 実装待ち に変更

toshi_a 初音 さんが4年以上前に更新

それと思わしきバグ報告たち

一畳間まんきつ暮らし!を読んで: "AppImage関係あるか知らんけどうちの環境でmikutter動かないのなんで" - :don: https://mstdn.maud.io/@hina/103400515882924923

しきうた: "mikutter appimage Tumbleweedだとそもそもインストール出来なくてアッって…" - :don: https://mstdn.maud.io/@siki_uta/103400532177540211

toshi_a 初音 さんが4年以上前に更新

  • 関連している バグ #1371: mikutter 3.9.2にて、タブを左クリックするとフリーズする。 を追加

Yuto Tokunaga さんが4年以上前に更新

クラッシュ時のログは分かりますか?手元の環境だと

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)

なんですけど.

toshi_a 初音 さんが4年以上前に更新

おそらく #1371 に貼ってあるバックトレースだと思います。
#1416-note4 とほぼ同じですね。

Yuto Tokunaga さんが4年以上前に更新

  • ステータス実装待ち から レビュー待ち に変更
  • ブランチtopic/1416-appimage-crash にセット

たぶんこれでなおるはず

修正したgen_appimage.shでビルドし直したAppImageをアップロードしたので,これでテストしてもらえますか.

https://send.firefox.com/download/618e0a6077136741/#On36SCaZiswqY07uVwPa0Q

Izumi Tsutsui さんが4年以上前に更新

かなりどうでもいいところですが
91bfa62e の差分の

mkdir $APPDIR/usr/lib/girepository-1.0 || true

は同じファイルの 39行目同様 mkdir -p でいいような。

Yuto Tokunaga さんが4年以上前に更新

|| trueなくていいです.

toshi_a 初音 さんが4年以上前に更新

たしかに何故か動きますね。こちらでリビルドしても確認できました。
修正内容的にはどっちにしても入れておくべきだと思うので、このブランチはmergeしましょう。ただ、問題はまだ切り分けられていないので、Pango 1.43以前の環境での起動確認をしてから閉じたいですね

toshi_a 初音 さんが4年以上前に更新

mergeはしたけど↑なのでステータスは一旦このまま

Shibafu Midorino さんが4年以上前に更新

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 さんが4年以上前に更新

  • ファイル tmp.html を追加

Yuto Tokunaga さんが4年以上前に更新

Arch (Pango 1.44.7) Clear Linux (Pango 1.42.4)
対策前のAppImage TLを表示するタイミングでフリーズ ( #1416-4 のログ) 起動中にクラッシュ
対策後のAppImage 問題なし 問題なし

Yuto Tokunaga さんが4年以上前に更新

  • ファイル を削除 (tmp.html)

hinaloe k さんが4年以上前に更新

問題の発生していた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

toshi_a 初音 さんが4年以上前に更新

  • ステータスレビュー待ち から 終了 に変更

みなさんありがとうございます!解決とします。

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