eclipse.platform icon indicating copy to clipboard operation
eclipse.platform copied to clipboard

"Help/Search" and "Help/Show Context Help" menu items do not work in Linux

Open hnaeb opened this issue 5 months ago • 6 comments

Introduction

We have the problem, as described in the title, in an application that uses these components. The same problem can be reproduced using Eclipse IDE. This problem occurs when using the windowing system Wayland but not X11.

I did some debugging, and it may be that getActiveShell returning null in DefaultHelpUI.java is what is causing the problem:

		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
		Shell activeShell = getActiveShell();
		if (window != null && isActiveShell(activeShell, window)) {

It worth noting that the problem occurs most of the time but not always.

Steps to Reproduce

  • Open Eclipse IDE
  • Click on Help
  • Click on "Search" or "Show Context Help"

I expected: help window to show up But got: nothing

Test Environment

  • OS (as a virtual machine using VirtualBox)
    • Debian GNU/Linux 12 (bookworm)
    • Gnome 43.9
    • Wayland
  • Eclipse IDE
    • Version: 2025-06 (4.36.0)
    • Build ID: 20250605-1316

hnaeb avatar Jul 24 '25 09:07 hnaeb

Do you have something reported in the Error log view?

akurtakov avatar Jul 24 '25 09:07 akurtakov

Do you have something reported in the Error log view?

Nothing is reported when I click on the menu items but there are a few things when starting Eclipse.

!SESSION 2025-07-24 11:24:12.537 -----------------------------------------------
eclipse.buildId=4.36.0.20250605-1300
java.version=21.0.7
java.vendor=Eclipse Adoptium
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.rcp.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.rcp.product

!ENTRY ch.qos.logback.classic 1 0 2025-07-24 11:24:18.455
!MESSAGE Activated before the state location was initialized. Retry after the state location is initialized.

!ENTRY org.eclipse.lemminx.uber-jar 4 0 2025-07-24 11:24:18.935
!MESSAGE bundle org.eclipse.lemminx.uber-jar:0.31.0 (856) Component descriptor entry 'OSGI-INF/*.xml' not found

!ENTRY ch.qos.logback.classic 1 0 2025-07-24 11:24:22.502
!MESSAGE Logback config file: /media/sf_Shared_With_Linux/core/.metadata/.plugins/org.eclipse.m2e.logback/logback.2.7.100.20250418-1315.xml

hnaeb avatar Jul 24 '25 09:07 hnaeb

What about trying to open "Internal Web Browser" view and opening a page with it?

akurtakov avatar Jul 24 '25 09:07 akurtakov

What about trying to open "Internal Web Browser" view and opening a page with it?

This works fine.

Image

hnaeb avatar Jul 24 '25 10:07 hnaeb

OK, so my first guess (missing webkit) was misleading. Can you try launching eclipse with eclipse -clean -debug -consolelog and see which (if any ) bundle fails to resolve? Also does the problem happen if you start with clean new installation (from https://download.eclipse.org/eclipse/downloads/drops4/R-4.36-202505281830/ ) ?

akurtakov avatar Jul 24 '25 10:07 akurtakov

Here is the log when launching eclipse with eclipse -clean -debug -consolelog using a clean new installation. The problem is still there.

Start VM: /usr/bin/java
-XX:CompileCommand=exclude org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer::getExtendedRange
-Dosgi.requiredJavaVersion=21
-Dosgi.dataAreaRequiresExplicitInit=true
-Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true
--add-modules=ALL-SYSTEM
-Dorg.slf4j.simpleLogger.defaultLogLevel=off
-jar /home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse//plugins/org.eclipse.equinox.launcher_1.7.0.v20250519-0528.jar
-os linux
-ws gtk
-arch x86_64
-showsplash
-launcher /home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse/eclipse
-name Eclipse
--launcher.library /home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.2.1400.v20250331-1702/eclipse_11911.so
-startup /home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse//plugins/org.eclipse.equinox.launcher_1.7.0.v20250519-0528.jar
--launcher.appendVmargs
-exitdata 10
-clean
-debug
-consolelog
-vm /usr/bin/java
-vmargs
-XX:CompileCommand=exclude org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer::getExtendedRange
-Dosgi.requiredJavaVersion=21
-Dosgi.dataAreaRequiresExplicitInit=true
-Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true
--add-modules=ALL-SYSTEM
-Dorg.slf4j.simpleLogger.defaultLogLevel=off
-jar /home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse//plugins/org.eclipse.equinox.launcher_1.7.0.v20250519-0528.jar 
CompileCommand: exclude org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.getExtendedRange bool exclude = true
WARNING: Using incubator modules: jdk.incubator.vector
Install location:
    file:/home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse/
Configuration file:
    file:/home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse/configuration/config.ini loaded
Configuration location:
    file:/home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse/configuration/
Framework located:
    file:/home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse/plugins/org.eclipse.osgi_3.23.100.v20250514-1759.jar
Loading extension: reference:file:org.eclipse.osgi.compatibility.state_1.2.1200.v20250506-0416.jar
	eclipse.properties not found
Framework classpath:
    file:/home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse/plugins/org.eclipse.osgi_3.23.100.v20250514-1759.jar
    file:/home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse/plugins/
    file:/home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse/plugins/org.eclipse.osgi.compatibility.state_1.2.1200.v20250506-0416.jar
Splash location:
    /home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse/plugins/org.eclipse.platform_4.36.0.v20250528-1830/splash.png
Debug options:
    file:/home/haitham/Downloads/eclipse-SDK-4.36-linux-gtk-x86_64/eclipse/.options not found
Time to load bundles: 127
Jul 24, 2025 12:50:05 PM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider org.slf4j.simple.SimpleServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle slf4j.simple
Starting application: 14891
WARNING: Annotation classes from the 'javax.inject' or 'javax.annotation' package found.
It is recommended to migrate to the corresponding replacements in the jakarta namespace.
The Eclipse E4 Platform will remove support for those javax-annotations in a future release.
To suppress this warning, set the VM property: -Declipse.e4.inject.javax.warning=false
To disable processing of 'javax' annotations entirely, set the VM property: -Declipse.e4.inject.javax.disabled=true

VMware: No 3D enabled (0, Success).
libEGL warning: egl: failed to create dri2 screen
Application started in : 29985ms
VMware: No 3D enabled (0, Success).
libEGL warning: egl: failed to create dri2 screen
!SESSION 2025-07-24 12:49:57.309 -----------------------------------------------
eclipse.buildId=4.36.0.I20250528-1830
java.version=23.0.2
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments:  -os linux -ws gtk -arch x86_64 -clean -debug -consolelog

!ENTRY org.eclipse.e4.ui.workbench.swt 1 0 2025-07-24 12:50:48.764
!MESSAGE Saving dialog settings

hnaeb avatar Jul 24 '25 11:07 hnaeb