JDimproved / JDim

2ch browser for linux
https://jdimproved.github.io/JDim/
GNU General Public License v2.0
46 stars 11 forks source link

プログラムがGNOME42で開かない #954

Closed ghost closed 2 years ago

ghost commented 2 years ago

バグの説明 プログラムが開かない

再現の方法 GNOME 42からプログラムを起動します

やりたかったこと・期待する結果 プログラムを開く必要があります

スクリーンショット

terminate called after throwing an instance of 'Gtk::IconThemeError'
Aborted

動作環境 Gentoo Linux

ma8ma commented 2 years ago

Hi @poopingpenis , I'm JDim maintainer. Thank you for reporting!

日本語 エラーメッセージを見るとアイコンの読み込みに問題があると考えられます。 念の為アイコンテーマがインストールされているか確認をお願いいたします。(GTKのデフォルトであるAdwaitaアイコンテーマを見てください)

jdimのほうの環境情報が不明なため今の時点では原因の特定が難しいです。 jdimのメニューバーにあるヘルプ(H)JDimについて(A)...からダイアログを開いて動作環境タブにあるクリップボードへのコピーを使ってjdimのバージョンや使用しているライブラリなどをここにコメントしていただけると助かります。

In English (machine translation) The error message suggests a problem with loading icons. Please make sure that the icon theme is installed just in case. (see GTK's default Adwaita icon theme)

It is difficult to determine the cause at this time because the environmental information on the jdim side is unknown. Please open the dialog from ヘルプ(H)(Help) > JDimについて(A)...(About JDim) and use クリップボードへのコピー(Copy to Clipboard) in the 動作環境(Environment) tab and comment here your jdim version, libraries you are using, etc. It would be helpful.

mtasaka commented 2 years ago

Fedora 36 (beta)でも、gnome-icon-theme-3.12.0-17.fc36.noarch がインストールされてないと再現しますね... adwaita-icon-theme-42.0-1.fc36.noarch はインストールされています

[tasaka1@localhost JDim]$ gdb --args ./redhat-linux-build/src/jdim
GNU gdb (GDB) Fedora 11.2-3.fc36
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./redhat-linux-build/src/jdim...
(gdb) r
Starting program: /home/tasaka1/rpmbuild/fedora-specific/jd/rawhide/jd-0.7.0/JDim/redhat-linux-build/src/jdim 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Missing separate debuginfo for /lib64/libcairo-gobject.so.2
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/5f/b4e52f968a7fc007fa665248e8c7cb98731b77.debug
[New Thread 0x7fffe2e3c640 (LWP 658261)]
[New Thread 0x7fffe2625640 (LWP 658262)]
[New Thread 0x7fffe1d54640 (LWP 658263)]
[Thread 0x7fffe1d54640 (LWP 658263) exited]
[New Thread 0x7fffe1d54640 (LWP 658264)]
[New Thread 0x7fffe1468640 (LWP 658265)]
[Thread 0x7fffe1d54640 (LWP 658264) exited]
[Thread 0x7fffe1468640 (LWP 658265) exited]
[New Thread 0x7fffe1468640 (LWP 658266)]
[New Thread 0x7fffe1d54640 (LWP 658267)]
[Thread 0x7fffe1468640 (LWP 658266) exited]
[Thread 0x7fffe1d54640 (LWP 658267) exited]
terminate called after throwing an instance of 'Gtk::IconThemeError'

Thread 1 "jdim" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44        return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
Missing separate debuginfos, use: dnf debuginfo-install alsa-lib-1.2.6.1-4.fc36.x86_64 at-spi2-atk-2.38.0-4.fc36.x86_64 at-spi2-core-2.44.0-1.fc36.x86_64 atk-2.38.0-1.fc36.x86_64 atkmm-2.28.2-3.fc36.x86_64 bzip2-libs-1.0.8-11.fc36.x86_64 cairomm-1.14.2-22.fc36.x86_64 cmigemo-1.3-0.13.date20110227.fc36.7.x86_64 dbus-libs-1.14.0-1.fc36.x86_64 fontconfig-2.14.0-1.fc36.x86_64 freetype-2.11.1-2.fc36.x86_64 fribidi-1.0.11-3.fc36.x86_64 gdk-pixbuf2-2.42.8-1.fc36.x86_64 glibmm24-2.66.2-2.fc36.x86_64 gmp-6.2.1-2.fc36.x86_64 gnutls-3.7.3-2.fc36.x86_64 graphite2-1.3.14-9.fc36.x86_64 gtkmm30-3.24.5-3.fc36.x86_64 gvfs-client-1.50.0-2.fc36.x86_64 harfbuzz-4.0.0-1.fc36.x86_64 json-glib-1.6.6-2.fc36.x86_64 libICE-1.0.10-8.fc36.x86_64 libSM-1.2.3-10.fc36.x86_64 libXcomposite-0.4.5-7.fc36.x86_64 libXcursor-1.2.0-7.fc36.x86_64 libXdamage-1.1.5-7.fc36.x86_64 libXfixes-6.0.0-3.fc36.x86_64 libXinerama-1.1.4-10.fc36.x86_64 libXrender-0.9.10-16.fc36.x86_64 libasan-12.0.1-0.12.fc36.x86_64 libbrotli-1.0.9-7.fc36.x86_64 libdatrie-0.2.13-3.fc36.x86_64 libepoxy-1.5.10-1.fc36.x86_64 libffi-3.4.2-8.fc36.x86_64 libgcc-12.0.1-0.12.fc36.x86_64 libgcrypt-1.10.1-1.fc36.x86_64 libgpg-error-1.44-1.fc36.x86_64 libjpeg-turbo-2.1.2-2.fc36.x86_64 libpng-1.6.37-12.fc36.x86_64 libselinux-3.3-4.fc36.x86_64 libsigc++20-2.10.8-1.fc36.x86_64 libstdc++-12.0.1-0.12.fc36.x86_64 libstemmer-0-18.585svn.fc36.x86_64 libthai-0.1.29-2.fc36.x86_64 libubsan-12.0.1-0.12.fc36.x86_64 libunistring-1.0-1.fc36.x86_64 libuuid-2.38-0.2.fc36.x86_64 libwayland-client-1.20.0-4.fc36.x86_64 libwayland-egl-1.20.0-4.fc36.x86_64 libxcb-1.13.1-9.fc36.x86_64 libxkbcommon-1.4.0-1.fc36.x86_64 libxml2-2.9.13-1.fc36.x86_64 lz4-libs-1.9.3-4.fc36.x86_64 nettle-3.7.3-3.fc36.x86_64 p11-kit-0.24.1-2.fc36.x86_64 pangomm-2.46.2-2.fc36.x86_64 pixman-0.40.0-5.fc36.x86_64 xz-libs-5.2.5-8.fc36.x86_64 zlib-1.2.11-31.fc36.x86_64
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007ffff56abea3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007ffff565ba16 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007ffff564582f in __GI_abort () at abort.c:79
#4  0x00007ffff5fefb1b in __gnu_cxx::__verbose_terminate_handler() [clone .cold] () at /lib64/libstdc++.so.6
#5  0x00007ffff5ffb33c in __cxxabiv1::__terminate(void (*)()) () at /lib64/libstdc++.so.6
#6  0x00007ffff5ffb3a7 in  () at /lib64/libstdc++.so.6
#7  0x00007ffff5ffb608 in  () at /lib64/libstdc++.so.6
#8  0x00007ffff7575aba in Gtk::IconThemeError::throw_func(_GError*) () at /lib64/libgtkmm-3.0.so.1
#9  0x00007ffff68ee322 in Glib::Error::throw_exception(_GError*) () at /lib64/libglibmm-2.4.so.1
#10 0x00007ffff75e0891 in Gtk::IconTheme::load_icon(Glib::ustring const&, int, Gtk::IconLookupFlags) const () at /lib64/libgtkmm-3.0.so.1
#11 0x0000000001aae705 in ICON::ICON_Manager::ICON_Manager() (this=<optimized out>, this=<optimized out>) at ../src/icons/iconmanager.cpp:147
#12 0x0000000001abc635 in ICON::get_icon_manager() () at ../src/icons/iconmanager.cpp:60
#13 ICON::get_icon(int) (id=0) at ../src/icons/iconmanager.cpp:76
#14 0x0000000000706283 in JDWinMain::JDWinMain(bool, bool, int, int, int, int)
    (init_y=-1, init_x=-1, init_h=-1, init_w=-1, skip_setupdiag=<optimized out>, init=<optimized out>, this=0x61700001d580, this=<optimized out>, init=<optimized out>, skip_setupdiag=<optimized out>, init_w=<optimized out>, init_h=<optimized out>, init_x=<optimized out>, init_y=<optimized out>) at ../src/winmain.cpp:42
#15 main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ../src/main.cpp:493
[バージョン] JDim 0.7.0-20220403(git:31dbbcf254)
[ディストリ ] Fedora Linux 36 (Thirty Six Prerelease) (x86_64)
[パッケージ] バイナリ/ソース( <配布元> )
[ DE/WM ] LXDE
[ gtkmm  ] 3.24.5
[ glibmm  ] 2.66.2
[ TLS lib ] GnuTLS 3.7.3
[オプション ] '--with-migemo'
'--with-migemodict=/usr/share/cmigemo/utf-8/migemo-dict''--with-alsa'
[ そ の 他 ] 

現象としては、多分これと同じ https://www.spinics.net/lists/fedora-devel/msg298834.html

ma8ma commented 2 years ago

mailing-listのリンクをたどって https://www.spinics.net/lists/fedora-devel/msg298835.html から引用

Yeah, so the TL;DR here is adwaita-icon-theme has removed a bunch of color icons. GNOME applications should for the most part only be using symbolic icons, so it's probably not very disruptive for GNOME apps, but it could be very disruptive for third-party apps that don't follow our guidelines. I will avoid expressing an opinion on whether removing icons that applications depend on is a good thing to do.

Recommendation: Third-party applications should limit themselves to depending on standard icon names listed at https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html only. All other icons should be installed by your app to guarantee that they don't disappear out from under you.

gnome-icon-theme is just an obsolete, older version of adwaita-icon-theme. Installing it is not recommended, but it is still hanging around in Fedora in case you need it.

どうやら adwaita-icon-theme のcolor iconが削除されたようです。 gnomeのadawaita-icon-themeリポジトリでアイコン画像ファイルを探すと gnome41 でcolor icon(-symbolicがついてない)が削除されてます。 jdimのコードはcolor iconを読み込むようになっているため例外が発生してクラッシュしたようですね。

In English It appears that the color icon in adwaita-icon-theme has been removed. If you look for icon image files in the adawaita-icon-theme repository of gnome, you will find that color icons (without -symbolic) have been removed in gnome41. It seems that the jdim code is supposed to read color icons, so an exception occurred and caused the crash.

ma8ma commented 2 years ago

修正を考えると

Considering the fix...

ghost commented 2 years ago

jdimのほうの環境情報が不明なため今の時点では原因の特定が難しいです。 jdimのメニューバーにあるヘルプ(H)JDimについて(A)...からダイアログを開いて動作環境タブにあるクリップボードへのコピーを使ってjdimのバージョンや使用しているライブラリなどをここにコメントしていただけると助かります。

It is difficult to determine the cause at this time because the environmental information on the jdim side is unknown. Please open the dialog from ヘルプ(H)(Help) > JDimについて(A)...(About JDim) and use クリップボードへのコピー(Copy to Clipboard) in the 動作環境(Environment) tab and comment here your jdim version, libraries you are using, etc. It would be helpful.

Unfortunately, the program doesn't launch at all (not even for a short while), so I can't verify this. However I see you've found the cause, I wish you good luck fixing it. :)

残念ながら、プログラムはまったく起動しないので(少しの間でも)、これを確認することはできません。 しかし、あなたが原因を見つけたと思いますが、幸運を祈ります。 :)

ma8ma commented 2 years ago

@poopingpenis Thanks for reply! I write a patch in a few days to prevent crash on start. If no problem, bugfix will come to master branch this weekend. :wrench: :smile:

ma8ma commented 2 years ago

955 で修正しましたので閉じます。コメントありがとうございました :+1: