Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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

Open
#138 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Active
Tech stack
java, linux, rust

Research direction

Start at GTK's gtkiconhelper.c entry point ensure_surface_for_gicon() and reproduce the Eclipse Flatpak crash while inspecting the glycin SVG loader's exit-101 startup failure. Compare the Flatpak and native installations, then confirm that the loader issue is understood and a missing fallback icon no longer aborts Eclipse.

Written by the indexing model from the issue text.

Description

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.
Dominant language
No language data
Stars
6
Forks
10
Avg merge
3h 13m
Merged PRs (30d)
5

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from flathub/org.eclipse.Java

All issues in flathub/org.eclipse.Java

Similar issues

More Desktop Dev issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.