Installation of "Terminal Feature", and "Terminal Session Support for Eclipse" breaks Tomcat plugin
Hi,
I apologise in advance, if this is the wrong place for reporting my issue, but these days (with Bugzilla basically gone), it isn't easy to find the correct place. Suffice it to say, that I really attempted to identify the proper place.
That said: I am a user of the Tomcat plugin. That plugins most important feature is the ability to launch Apache Tomcat (11.0.7) from within Eclipse. Now, having read the "New and Noteworty" section for Eclipse 4.37M1, I became curious. So, I downloaded 4.37M1 (Platform Runtime Binary), extracted it, and installed the necessary stuff (Java Development, M2E, and the like, including the already mentioned Tomcat plugin (version 9.1.8). Finally I added the "Terminal Feature", and "Terminal Session Support for Eclipse" from the 4.37-I update site.
Unfortunately, with that configuration, launching Tomcat did not work. (See stacktrace below.) A little bit of digging revealed, that I could fix the issue by uninstalling the features mentioned above ("Terminal Feature", and "Terminal Session Support for Eclipse"). On the other hand, reinstalling them reversed that, and the issue was back. In other words: It appears to me, that thesefeatures introduce an incompatibility, that breaks the Tomcat plugin. Now, this may be intentional, or may not. In the former case, I'd like to know, and prepare the Tomcat plugins authors for necessary changes in their code. In the latter case, you might be able to identify, and fix that incompatibility.
Finally, here's the stacktrace in question:
!ENTRY net.sf.eclipse.tomcat 4 4 2025-07-05 10:56:23.090
!MESSAGE org.eclipse.core.runtime.CoreException: Execution failed
at org.eclipse.debug.terminal.PtyExecFactory.exec(PtyExecFactory.java:49)
at org.eclipse.debug.core.DebugPlugin$ExecFactoryFacade.exec(DebugPlugin.java:1309)
at org.eclipse.debug.core.DebugPlugin.exec(DebugPlugin.java:1020)
at org.eclipse.jdt.launching.AbstractVMRunner.exec(AbstractVMRunner.java:116)
at org.eclipse.jdt.internal.launching.StandardVMDebugger.run(StandardVMDebugger.java:337)
at org.eclipse.jdt.launching.JavaLaunchDelegate.launch(JavaLaunchDelegate.java:176)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:778)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:689)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:684)
at net.sf.eclipse.tomcat.VMLauncherUtility.runVM(VMLauncherUtility.java:138)
at net.sf.eclipse.tomcat.TomcatBootstrap.runTomcatBootstrap(TomcatBootstrap.java:235)
at net.sf.eclipse.tomcat.TomcatBootstrap.start(TomcatBootstrap.java:112)
at net.sf.eclipse.tomcat.actions.StartActionDelegate.run(StartActionDelegate.java:43)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:239)
at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:218)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:581)
at org.eclipse.jface.action.ActionContributionItem.lambda$5(ActionContributionItem.java:454)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4360)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1214)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4158)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3746)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:678)
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:185)
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:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:627)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1431)
at org.eclipse.equinox.launcher.Main.main(Main.java:1403)
Caused by: java.io.IOException: Exec_tty error:Cannot run program "C:\opt\jdk\21\bin\javaw.exe": CreateProcess: 87: The parameter is incorrect.
at org.eclipse.cdt.utils.spawner.Spawner.exec_pty(Spawner.java:496)
at org.eclipse.cdt.utils.spawner.Spawner.<init>(Spawner.java:163)
at org.eclipse.cdt.utils.spawner.Spawner.<init>(Spawner.java:151)
at org.eclipse.cdt.utils.spawner.ProcessFactory$Builder.start(ProcessFactory.java:267)
at org.eclipse.cdt.utils.spawner.ProcessFactory.exec(ProcessFactory.java:380)
at org.eclipse.debug.terminal.PtyExecFactory.exec(PtyExecFactory.java:47)