-
Notifications
You must be signed in to change notification settings - Fork 148
Description
Latest master, on Windows 11.
- Import
org.eclipse.debug.terminalinto the workspace - Start Eclipse from Eclipse
- Try to debug any trivial Java program like
import javax.swing.JOptionPane;
public class SomeClass {
public static void main(String[] args) throws Exception {
JOptionPane.showMessageDialog(null, "Hello, World!");
while (true) {
System.err.println(".");
Thread.sleep(5000);
}
}
}
Error will be reported, nothing will be started.
Sometimes Console is opened & some process is shown in debugger but Console doesn't show any output, and debugger doesn't connect.
eclipse.buildId=4.39.0.I20260116-1800
java.version=25.0.1
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments: -product org.eclipse.sdk.ide
Command-line arguments: -product org.eclipse.sdk.ide -data C:\eclipse\workspaces\platform/../runtime-Java25 -dev file:///C:/eclipse/workspaces/platform/.metadata/.plugins/org.eclipse.pde.core/Java25/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog
org.eclipse.jdt.launching
Error
Sun Jan 18 17:41:17 CET 2026
Cannot connect to VM
java.net.SocketException: Socket closed
at java.base/sun.nio.ch.NioSocketImpl.endAccept(NioSocketImpl.java:685)
at java.base/sun.nio.ch.NioSocketImpl.accept(NioSocketImpl.java:758)
at java.base/java.net.ServerSocket.implAccept(ServerSocket.java:593)
at java.base/java.net.ServerSocket.platformImplAccept(ServerSocket.java:560)
at java.base/java.net.ServerSocket.implAccept(ServerSocket.java:536)
at java.base/java.net.ServerSocket.implAccept(ServerSocket.java:482)
at java.base/java.net.ServerSocket.accept(ServerSocket.java:441)
at org.eclipse.jdi.internal.connect.SocketTransportService.accept(SocketTransportService.java:91)
at org.eclipse.jdi.internal.connect.SocketTransportImpl.accept(SocketTransportImpl.java:63)
at org.eclipse.jdi.internal.connect.SocketListeningConnectorImpl.accept(SocketListeningConnectorImpl.java:167)
at org.eclipse.jdt.internal.launching.StandardVMDebugger$ConnectRunnable.run(StandardVMDebugger.java:113)
at java.base/java.lang.Thread.run(Thread.java:1474)
- Close
org.eclipse.debug.terminalproject, restart Eclipse and run same config - everything works. - Similar happens with the batch file executed as "external program"
@echo off
echo Hello World
pause
The change is related to 67a55ce / #1763.
What I miss is any reasonable possibility to disable this behavior from the launch configuration.
There is a new options group "Allocate console | Allocate terminal | Disable Input/Output" added in the launch config that probably is supposed to control this behavior, but it simply doesn't make any difference which option I select, nothing changes.
Only way I found to "fix" the problem is to disable output merging which results in this code below executed that prevents PTY to be created:
But this is surely not "right" way to deal with that problem.