eclipsewebkitswtstswebkitgtk

Problematic frame: # C [libwebkit2gtk-4.0.so.37+0xd4f568]


STS-4.21.1 just started crashing when on-hover window is triggered; the crash is at:

# C  [libwebkit2gtk-4.0.so.37+0xd4f568]

STS-4.22.0 is also affected:

# C  [libwebkit2gtk-4.1.so.0+0xd600d8]

Fault

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007ce1be14f568, pid=26351, tid=26352
#
# JRE version: OpenJDK Runtime Environment (21.0.2+13) (build 21.0.2+13-58)
# Java VM: OpenJDK 64-Bit Server VM (21.0.2+13-58, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# C  [libwebkit2gtk-4.0.so.37+0xd4f568]
#

Stack

Stack: [0x000078a626100000,0x000078a626200000],  sp=0x000078a6261fd8c0,  free space=1014k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libwebkit2gtk-4.0.so.37+0xd4f568]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 5135  org.eclipse.swt.internal.gtk3.GTK3.gtk_main_iteration_do(Z)Z (0 bytes) @ 0x000078a61081df79 [0x000078a61081df20+0x0000000000000059]
J 32226 c2 org.eclipse.swt.widgets.Display.readAndDispatch()Z (88 bytes) @ 0x000078a6119dce0c [0x000078a6119dcd20+0x00000000000000ec]
j  org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run()V+564
j  org.eclipse.core.databinding.observable.Realm.runWithDefault(Lorg/eclipse/core/databinding/observable/Realm;Ljava/lang/Runnable;)V+12
j  org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(Lorg/eclipse/e4/ui/model/application/MApplicationElement;Lorg/eclipse/e4/core/contexts/IEclipseContext;)Ljava/lang/Object;+57
j  org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(Lorg/eclipse/e4/ui/model/application/MApplicationElement;)V+20
j  org.eclipse.ui.internal.Workbench.lambda$3(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;[I)V+382
j  org.eclipse.ui.internal.Workbench$$Lambda+0x000078a5b025a048.run()V+12
j  org.eclipse.core.databinding.observable.Realm.runWithDefault(Lorg/eclipse/core/databinding/observable/Realm;Ljava/lang/Runnable;)V+12
j  org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+16
j  org.eclipse.ui.PlatformUI.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+2
j  org.eclipse.ui.internal.ide.application.IDEApplication.start(Lorg/eclipse/equinox/app/IApplicationContext;)Ljava/lang/Object;+113
j  org.eclipse.equinox.internal.app.EclipseAppHandle.run(Ljava/lang/Object;)Ljava/lang/Object;+138
j  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Ljava/lang/Object;)Ljava/lang/Object;+85
j  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ljava/lang/Object;)Ljava/lang/Object;+79
j  org.eclipse.core.runtime.adaptor.EclipseStarter.run(Ljava/lang/Object;)Ljava/lang/Object;+99
j  org.eclipse.core.runtime.adaptor.EclipseStarter.run([Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Object;+132
j  java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+11 java.base@21.0.2
j  java.lang.invoke.LambdaForm$MH+0x000078a5b0019800.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+54 java.base@21.0.2
j  java.lang.invoke.LambdaForm$MH+0x000078a5b0002c00.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+22 java.base@21.0.2
j  jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+72 java.base@21.0.2
j  jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base@21.0.2
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base@21.0.2
j  org.eclipse.equinox.launcher.Main.invokeFramework([Ljava/lang/String;[Ljava/net/URL;)V+201
j  org.eclipse.equinox.launcher.Main.basicRun([Ljava/lang/String;)V+159
j  org.eclipse.equinox.launcher.Main.run([Ljava/lang/String;)I+4
j  org.eclipse.equinox.launcher.Main.main([Ljava/lang/String;)V+10
v  ~StubRoutines::call_stub 0x000078a60ff37cc6

Environment

## Hardware Information:
Hardware Model:               Dell Inc. XPS 13 9310
Memory:                       8.0 GiB
Processor:                    11th Gen Intel® Core™ i5-1135G7 × 8
Graphics:                     Intel® Xe Graphics (TGL GT2)
Disk Capacity:                256.1 GB

## Software Information:
Firmware Version:             3.22.0
OS Name:                      Ubuntu 23.10
OS Build:                     (null)
OS Type:                      64-bit
GNOME Version:                Not Available
Windowing System:             Wayland
Kernel Version:               Linux 6.5.0-27-generic

Solution

  • This is a known bug, likely due to an unresolved hardware acceleration bug, that has been addressed for the upcoming 2024-06 (4.32) release scheduled for June 12, 2024:

    In my case, this was apparently triggered from an OS update of the WebKit library. As noted in the issues by Dave Moten, a workaround is to disable WebKit's DMA buffer renderer:

    WEBKIT_DISABLE_DMABUF_RENDERER=1
    

    by, for example, setting this in your launch script:

    jan@jan-lite:~/Desktop$ cat SpringToolSuite-4.22.desktop 
    [Desktop Entry]
    Version=1.0
    Exec=env WEBKIT_DISABLE_DMABUF_RENDERER=1 /home/jan/sts-4.22.0.RELEASE/SpringToolSuite4
    Name=Spring Tool Suite 4.22
    GenericName=STS
    Comment=STS with WebKit GTK acceleration disabled
    Encoding=UTF-8
    Terminal=false
    Type=Application
    Categories=Application;Network;
    Icon=/home/jan/sts-4.22.0.RELEASE/icon.xpm
    

    Upcoming releases of Eclipse will fold-in this workaround by disabling hardware acceleration.