Popup Window for diff results is unresponsive in WSL
- [x] I verified I can reproduce this issue against latest Integration Build of Eclipse SDK
Steps to reproduce
From a fresh installation and clean workspace:
Execute junit test:
import org.junit.Assert;
import org.junit.Test;
public class ComparisonTest {
@Test
public void testComparison() {
Assert.assertEquals( "a", "b" );
}
}
Doubleclick on "org.junit.ComparisonFailure: expected:<[a]> but was:<[b]>"
Expected behavior: The new popup window showing the diff between the two strings should be responsive.
Actual behavior: The popup window is shown, but it is not responsive. You can't confirm it, close it, move it.
Here is some relevant log output
Tested under this environment:
- Eclipse IDE/Platform version (as shown in Help > About): Version: 2025-03 (4.35.0), Build id: 20250306-0812
- WSL-Version: 2.4.12.0
- Kernelversion: 5.15.167.4-1
- WSLg-Version: 1.0.65
- MSRDC-Version: 1.2.5716
- Direct3D-Version: 1.611.1-81528511
- DXCore-Version: 10.0.26100.1-240331-1435.ge-release
- Windows-Version: 10.0.22621.5039
Community
- [x] I understand reporting an issue to this OSS project does not mandate anyone to fix it. Other contributors may consider the issue, or not, at their own convenience. The most efficient way to get it fixed is that I fix it myself and contribute it back as a good quality patch to the project.
See also
- https://github.com/eclipse-jdt/eclipse.jdt.ui/issues/2087
- https://github.com/microsoft/wslg/issues/1012
Please provide jstack report at the moment that UI hangs.
The jstack.txt is already attached. This is taken right after the popup window opened.
The UI does not hang. It's only the popup window, that can't be closed. I have to close eclipse to get rid of it.
The jstack.txt is already attached.
Sorry, haven't noticed.
The UI does not hang. It's only the popup window, that can't be closed. I have to close eclipse to get rid of it.
Jstack just shows idling UI thread, so it seem to be SWT issue then.
To understand it right, which Eclipse is used, for which platform - for Windows or for Linux GTK? Is this a regression in 4.35?
I'm using the linux eclipse from https://ftp.halifax.rwth-aachen.de/eclipse/technology/epp/downloads/release/2025-03/R/eclipse-java-2025-03-R-linux-gtk-x86_64.tar.gz I installed ubuntu (default) in WSL and there I started eclipse. I watched this behavior since I started with WSL in 2023. It was with eclipse 2023-03.
OK, that's two systems I don't have. I neither have Windows WSL installed nor Ubuntu. Maybe someone else can help.
Installation of WSL is quite easy:
In a Windows powershell:
wsl --update
wsl --install --distribution Ubuntu
Then open a terminal, install some packages and start eclipse:
sudo apt update
sudo apt full-upgrade
sudo apt-get install libeclipse-e4-ui-workbench-swt-java
sudo apt-get install kde-standard
wget https://ftp.halifax.rwth-aachen.de/eclipse/technology/epp/downloads/release/2025-03/R/eclipse-java-2025-03-R-linux-gtk-x86_64.tar.gz
tar xvzf eclipse-java-2025-03-R-linux-gtk-x86_64.tar.gz
eclipse/eclipse
The benefit you get when running eclipse inside WSL is a great performance boost. Running eclipse on the same machine under windows is about 20 times slower (especially when refreshing the workspace or starting a junit test).
I found a workaround:
In Windows, I installed VcXsrv.
Then in WSL:
export DISPLAY=<local Windows IP>:0
export GDK_BACKEND=x11
Now the diff window is responsive! So it seems the problem is specifically with SWT + GTK3 + WSLg (Wayland).
I can confirm this issue exists in my dev env too.