Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Eclipse (Flatpak) crashes with SIGABRT: GTK icon fallback aborts when the glycin SVG loader fails

Đang mở
#138 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Sôi nổi
Công nghệ
java, linux, rust

Hướng nghiên cứu

Bắt đầu từ điểm vào của GTK trong gtkiconhelper.c, ensure_surface_for_gicon(), và tái hiện sự cố crash của Eclipse Flatpak trong khi kiểm tra lỗi khởi động exit-101 của trình tải SVG glycin. So sánh các bản cài đặt Flatpak và bản native, sau đó xác nhận rằng vấn đề của trình tải đã được hiểu và biểu tượng fallback bị thiếu không còn khiến Eclipse bị abort nữa.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug

The Flatpak build of Eclipse aborts (SIGABRT, core dumped) at random intervals
during normal UI interaction. The abort originates in GTK, not in the JVM:
GTK fails to load an icon, falls back to the Adwaita image-missing.svg
placeholder, and loading that fails too because the glycin SVG loader
subprocess exits immediately. ensure_surface_for_gicon() treats a failed
fallback as unrecoverable and calls g_assert(), which aborts the process.

Result: the whole IDE dies without warning, losing unsaved state, and any
server process launched from Eclipse is orphaned (keeps holding its ports).

Because virtually every Eclipse/SWT icon is an SVG, any application run
that hits a missing icon is a coin flip on survival.

Environment

  • Eclipse IDE for Java Developers 2026-06 (4.40)
    build: org.eclipse.epp.package.common_4.40.0.20260604-0652
  • Installed as Flatpak: org.eclipse.Java
  • Equinox launcher: org.eclipse.equinox.launcher_1.7.100.v20251111-0406
  • SWT native: libswt-pi3-gtk-4973r12.so (GTK3 / -ws gtk)
  • JRE: JustJ OpenJDK HotSpot 21.0.11 (v20260515-1531), bundled
  • GTK: libgtk-3.so.0.2420.32
  • GLib: libglib-2.0.so.0.8800.3
  • glycin: libglycin-2.so.0, loader /usr/libexec/glycin-loaders/2+/glycin-svg
  • WebKit2GTK: libwebkit2gtk-4.1.so.0.21.9
    JavaScriptCore: libjavascriptcoregtk-4.1.so.0.10.13
  • Arch: x86_64

Frequency

At least three crashes over roughly one week of normal use, with no
reproducible trigger identified. No correlation with a specific action,
view or dialog was observed.

Actual output (stderr, immediately before the abort)

(Eclipse:3): Gtk-WARNING **: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:../gtk/gtkiconhelper.c:495:ensure_surface_for_gicon: assertion failed
(error == NULL): Failed to load
/usr/share/icons/Adwaita/scalable/status/image-missing.svg:
Loader process exited early with status '101'
Command: env -i XDG_RUNTIME_DIR="/run/user/<uid>" "flatpak-spawn" "--sandbox"
"--watch-bus" "--directory=/" "--forward-fd=<n>" "prlimit" "--as=17012097024"
"/usr/libexec/glycin-loaders/2+/glycin-svg" "--dbus-fd" "<n>"
(gdk-pixbuf-error-quark, 0)
Bail out! Gtk:ERROR:../gtk/gtkiconhelper.c:495:ensure_surface_for_gicon: [...]

Note: exit status 101 is the default exit code of a Rust panic, and the glycin
loaders are written in Rust — the loader appears to panic on startup rather
than to fail gracefully.

Also seen earlier in the same session, likely related (broken icon/pixbuf
infrastructure inside the sandbox):

Gdk-Message: Unable to load left_ptr_watch from the cursor theme
** (process:<pid>): WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.

Core dump

Signal 6 (ABRT). Crashing thread, abbreviated — offsets were identical across
all three crashes:

#0  libc.so.6              + 0x9c51c     (pthread_kill)
#1  libc.so.6              + 0x422be     (raise)
#2  libc.so.6              + 0x298ed     (abort)
#3  libglib-2.0.so.0       + 0x250b8     (GLib fatal log handler)
#4  libglib-2.0.so.0       + 0x976d2
#5  libgtk-3.so.0          + 0x1eacc9    (icon helper / gtkiconhelper.c)
#6  libgtk-3.so.0          + 0x1eb208
#7  libgtk-3.so.0          + 0x1eb4ca
#8  libgtk-3.so.0          + 0x20043f
...  (recursive GTK widget draw/size-allocate)
#35 libswt-pi3-gtk-4973r12.so + 0x541a9  (SWT GTK callback)
#36 libgtk-3.so.0          + 0x393788
#37 libswt-pi3-gtk-4973r12.so + 0x541bf
...  (GTK <-> SWT signal callbacks, several levels)

The remaining threads are ordinary JVM threads parked in futex waits; nothing
Java-side is involved in the abort.

Symbolication is hampered by missing build-ids in the runtime:

Module libwebkit2gtk-4.1.so.0.21.9         without build-id
Module libjavascriptcoregtk-4.1.so.0.10.13 without build-id
Module libglycin-2.so.0                    without build-id

Things tried, without effect

  • flatpak update — runtime already current
  • flatpak repair --user and sudo flatpak repair — no corruption found
  • flatpak override --user --talk-name=org.freedesktop.Flatpak org.eclipse.Java
    (in case the sandboxed flatpak-spawn of the loader lacked portal access)

Workaround / resolution

Uninstalling the Flatpak and installing the plain Eclipse tarball
(eclipse-*-linux-gtk-x86_64.tar.gz, same 2026-06 / 4.40 release) resolves the
problem completely — no crashes since. The native install uses the host's GTK
and image loaders instead of the runtime's glycin stack.

Side effect of the native install: the SWT Browser widget reports
"No more handles because there is no underlying browser available. Please
ensure that WebKit with its GTK 3.x/4.x bindings is installed." until
WebKitGTK 4.1 is installed on the host. This is a separate, non-fatal issue.

Suggested angle

Two separable problems:

  1. The glycin SVG loader in the Flatpak runtime cannot start on this system
    (exit 101 / panic). Root cause unknown.
  2. GTK's ensure_surface_for_gicon() asserts instead of degrading when even
    the fallback icon cannot be loaded, turning a cosmetic icon problem into a
    hard abort of the host application. Arguably the more serious of the two —
    a missing icon should never kill an IDE.
Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
6
Fork
10
Merge trung bình
3 giờ 13 phút
Pull request đã merge (30 ngày)
5

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của flathub/org.eclipse.Java

Tất cả issue của flathub/org.eclipse.Java

Issue tương tự

Thêm issue về Desktop Dev

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.