Project

General

Profile

バグ #1416

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

Added by toshi_a 初音 6 months ago. Updated 6 months ago.

Status:
終了
Priority:
通常
Target version:
プラグイン名:
ブランチ:
topic/1416-appimage-crash
クラッシュする:
Yes

Description

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


Related issues

Related to バグ #1371: mikutter 3.9.2にて、タブを左クリックするとフリーズする。終了ぶっちゃん !Actions
#1

Updated by toshi_a 初音 6 months ago

  • Status changed from 分類待ち to 実装待ち
#2

Updated by toshi_a 初音 6 months ago

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

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

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

#3

Updated by toshi_a 初音 6 months ago

  • Related to バグ #1371: mikutter 3.9.2にて、タブを左クリックするとフリーズする。 added
#4

Updated by Yuto Tokunaga 6 months ago

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

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)

なんですけど.
#5

Updated by toshi_a 初音 6 months ago

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

#6

Updated by Yuto Tokunaga 6 months ago

  • Status changed from 実装待ち to レビュー待ち
  • ブランチ set to topic/1416-appimage-crash

たぶんこれでなおるはず

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

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

#7

Updated by Izumi Tsutsui 6 months ago

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

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

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

#8

Updated by Yuto Tokunaga 6 months ago

|| trueなくていいです.

#9

Updated by toshi_a 初音 6 months ago

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

#10

Updated by toshi_a 初音 6 months ago

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

#11

Updated by Shibafu Midorino 6 months ago

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

#12

Updated by Yuto Tokunaga 6 months ago

  • File tmp.html added
#13

Updated by Yuto Tokunaga 6 months ago

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

Updated by Yuto Tokunaga 6 months ago

  • File deleted (tmp.html)
#15

Updated by hinaloe k 6 months ago

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

#16

Updated by toshi_a 初音 6 months ago

  • Status changed from レビュー待ち to 終了

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

Also available in: Atom PDF