Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

JVM crashes with SIGSEGV in gdk_pointer_ungrab when ending a Drag and Drop (DnD) operation in Native Wayland

Aperta
#3,604 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
java
Ambito
desktop

Direzione di ricerca

Start with org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager.startDrag, especially the call at line 241 and the getDragShell() null value shown in the stack trace. Reproduce the tab drag on Linux Native Wayland and inspect the drag-shell setup and related tests. Done means docking the tab completes without freezing, a JVM crash, or the reported null-pointer exception.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Describe the bug
JVM crashes with SIGSEGV in gdk_pointer_ungrab when ending a Drag and Drop (DnD) operation in Native Wayland

To Reproduce

  1. Launch Eclipse under a Native Wayland environment (without setting GDK_BACKEND=x11).
  2. Open the Bookmarks view via top menu: Window -> Show View -> Bookmarks.
  3. Click and drag the Bookmarks tab to dock it side-by-side with the Outline view tab (or any other view stack).
  4. Release the mouse button to complete the drag-and-drop operation.
  5. Eclipse freezes / terminates immediately with a JVM crash (SIGSEGV in gdk_pointer_ungrab).

Expected behavior
The tab should be dragged and docked to the desired location successfully without crashing or freezing.

Screenshots

Image

Environment:

  1. Select the platform(s) on which the behavior is seen:
    • [] All OS
    • Windows
    • Linux
    • macOS
  1. Additional OS info (e.g. OS version, Linux Desktop, etc)
    openSUSE Tumbleweed-Slowroll 20260901 x86_64
    KDE

  2. JRE/JDK version
    openjdk version "25.0.4.1" 2026-08-18 LTS (Corretto/Temurin)
    Version since
    Eclipse 4.41.0.I20260828-1142
    SWT 3.135.0 (org.eclipse.swt.gtk.linux.x86_64_3.135.0.v20260819-1952)

Workaround (or) Additional context
org.eclipse.swt.internal.gtk.version=3.24.53

And a log

!SESSION 2026-09-20 18:35:32.365 -----------------------------------------------
eclipse.buildId=4.41.0.I20260828-1142
java.version=25.0.4.1
java.vendor=Amazon.com Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=zh_CN
Command-line arguments: -os linux -ws gtk -arch x86_64

!ENTRY org.eclipse.ui 4 0 2026-09-20 18:44:39.729
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.widgets.Shell.setCursor(org.eclipse.swt.graphics.Cursor)" because the return value of "org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager.getDragShell()" is null
at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager.startDrag(DnDManager.java:241)
at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager.lambda$0(DnDManager.java:84)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:169)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5888)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1659)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5103)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4531)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1160)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1051)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:583)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:193)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:219)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:149)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:115)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:467)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:298)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:615)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:563)
at org.eclipse.equinox.launcher.Main.run(Main.java:1415)
at org.eclipse.equinox.launcher.Main.main(Main.java:1387)

Lingua principale
Java
Stelle
202
Fork
206
Merge medio
14h 7m
PR unite (30g)
103

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di eclipse-platform/eclipse.platform.swt

Tutte le issue di eclipse-platform/eclipse.platform.swt

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.