Application crashes after upgrading libgtk-3 from 3.24.43 to 3.24.48 - a search for the causes

I write this not to ask for a solution, but in the hope to find some helpful input into an effort I am doing to track the source issue of an application crash. I am not sure to which exact category this question belongs, so mods please feel free to move it where it belongs.

I use an ETL application (Hale studio) on Tumbleweed since many years ago, mostly without problems. This application is based on eclipse, which is included in its binary distribution, and uses the local GTK environment for its GUI.

Approximately at the beginning of last February (2025) this application started to crash reproducibly after clicking on some icons in the GUI with the following error:

# JRE version: OpenJDK Runtime Environment (21.0.6+7) (build 21.0.6+7-suse-1.1-x8664)
# Java VM: OpenJDK 64-Bit Server VM (21.0.6+7-suse-1.1-x8664, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# C  [libgdk-3.so.0+0x49879]  gdk_window_get_screen+0x19
#
# Core dump will be written.

This exact error happens in two different computers using updated TW installations. However, a third computer, also using TW but which I have not updated since 2024-11-28 runs this application without problems.

The main differences between these two systems that apparently bear importance to this error seem to be:

TW installations in which application fails (TW 20250301, but problem exists from 2025020? onward):
libgtk-3: 3.24.48-4.1
libgtk-layer-shell0: 0.9.0-1.1

TW installation that works OK (TW 20241028)
libgtk-3: 3.24.43-3.1
libgtk-layer-shell0: 0.8.2-1.4

I have explored at length forums, mailing lists and repos trying to track similar issues but with little success. I am aware that possible related issues exist with libgtk-layer-shell0 0.9.0-1.1 (see for example here) that are also affecting TW.
At GTK they say that the problem arises because the application in question is making calls to “private functions”. The developers of the application cannot reproduce the problem un Ubuntu.

So, here we are. Now, looking into the possibly relevant recent changes in libgtk as recorded in the open build service we have (see complete log here):

-------------------------------------------------------------------
Sat Jan 25 17:15:50 UTC 2025 

- Update to version 3.24.48:
  + GtkFileChooser: Stop replacing : (colon) with U+2236 (ratio)
  + GtkEmojiChooser: Update to Unicode 16 / CLDR 46
  + GtkSpinButton:
    - Use semantically appropriate icon names
    - Make numeric spin buttons always LTR
  + GtkEntry:
    - Stop guessing text direction from keyboard layout
    - Add a shortcut and context menu item to change text direction
  + GtkEventControllerMotion: Make enter and leave signals work
  + Accessibility: Use message dialog titles as names
  + GDK: Fix portal handling of gvfs files
  + Wayland:
    - Support the xdg_foreign_v2 protocol
    - Try to fix monitor geometry on sway
    - Improve font setting fallback
    - Use a better default cursor size
    - Fix a crash during DND
  + Updated translations.

Which of these may have something to do with the issue is difficult for me to say at the moment.

Anyone else happens to see these errors? Hints?

@VariableStar Perhaps the Wayland, GTK and Mesa Vulkan support changes. What desktop environment?

Good question. That’s information that I forgot to add.

I am using Xfce 4.20 on Xorg. Problem happened on Wayland too, as tested in one of the machines.

@VariableStar Well there is a definable move to Wayland in the works. Perhaps there are some environment flags that can be added, on the working system can these be checked?

Yes, there are no user set flags in the working system. Also, the working system is using Xfce 4.18.1 on Xorg. That may be a lead.

Or a bug…?

Well, yes, I suspect there is a bug somewhere, one which I am trying to locate. Just that I have not been successful yet.

It is really very tricky to find the exact source of a problem when there are many parts moving around and not many people are affected: GTK, the application in question, the application in question using eclipse (which seems to be an awful source of tricky crashes, sorry if mistaken about this), Wayland, the broader openSUSE “ecosystem”, etc. But this is where the fun is, or not? :slight_smile:

@malcolmlewis thanks for your kind input! It’s been useful already.

I see libgdk being reported by the core dump but

At GTK they say that the problem arises because the application in question is making calls to “private functions”

And what calls GTK is java.

I would try with another version of java, zypper search show java-11 till java-23.

You could also try Oracle’s RPM’s.

Thank you. I have tried all available Java 11, 17, 21 and 23. Also the JRE included in the application (17) which had posed problems a couple of years ago (can be disabled). After a lot of search not much has come out. One hypothesis could be the link between SWT and GTK has changed after recent upgrades and older software may be failing because of those.