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

SWT Error, Javadoc browser is broken

Open Bestsoft101 opened this issue 8 months ago • 2 comments

Describe the bug Every time when starting up Eclipse 2025-03 i get those error messages, and the javadoc browser doesn't work. (It just shows text, but nothing is clickable, and its not formatted properly) This happens in a completely fresh installtion, I tried selecting different java versions in the installer. It does not happen in 2024-12

To Reproduce Install Eclipse 2025-03

Expected behavior No errors

Screenshots

Image

Image

Image

Image

Image

Environment:

  1. Select the platform(s) on which the behavior is seen: Windows 10

  2. Additional OS info (e.g. OS version, Linux Desktop, etc)

  3. JRE/JDK version

I tried the one I have installed and 21.0.6 from the installer Image

Image

Version since 2025-03

All the log files I could find in the eclipse folder: https://github.com/user-attachments/files/19719491/1744459345715.log https://github.com/user-attachments/files/19719490/setup.log

The full stacktrace from the notification thing:

org.eclipse.swt.SWTError: Not implemented [WebView2 runtime not found]
	at org.eclipse.swt.SWT.error(SWT.java:4957)
	at org.eclipse.swt.browser.Edge.createEnvironment(Edge.java:591)
	at org.eclipse.swt.browser.Edge.createInstance(Edge.java:634)
	at org.eclipse.swt.browser.Edge.create(Edge.java:630)
	at org.eclipse.swt.browser.Browser.<init>(Browser.java:99)
	at org.eclipse.oomph.setup.presentation.NotificationViewPart.createPartControl(NotificationViewPart.java:132)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:158)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityView.createPartControl(CompatibilityView.java:155)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:365)
	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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:977)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:939)
	at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139)
	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:386)
	at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:312)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:203)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:90)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:59)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)
	at org.eclipse.ui.internal.WorkbenchContributionFactory.create(WorkbenchContributionFactory.java:46)
	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:134)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:991)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:658)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$1.run(PartRenderingEngine.java:543)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:527)
	at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.createWidget(ElementReferenceRenderer.java:73)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:991)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:658)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.createElement(PartServiceImpl.java:1314)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1275)
	at org.eclipse.ui.internal.WorkbenchPage.showPart(WorkbenchPage.java:1264)
	at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1233)
	at org.eclipse.ui.internal.WorkbenchPage.lambda$13(WorkbenchPage.java:4243)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
	at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:4241)
	at org.eclipse.oomph.setup.presentation.handlers.NotificationsHandler.execute(NotificationsHandler.java:47)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:277)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:98)
	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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:299)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:233)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:174)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:165)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
	at org.eclipse.oomph.setup.ui.SetupUIPlugin.lambda$2(SetupUIPlugin.java:519)
	at org.eclipse.oomph.ui.UIUtil$5.run(UIUtil.java:604)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4094)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3710)
	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:668)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:576)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:178)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
	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:670)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:607)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1492)

Bestsoft101 avatar Apr 17 '25 13:04 Bestsoft101

Do you try installing WebView2?

See https://developer.microsoft.com/en-gb/microsoft-edge/webview2?form=MA13LH

Phillipus avatar Apr 17 '25 13:04 Phillipus

The installer tells me I already have it installed, but also I can't find Microsoft Edge at all on my pc, I may have deleted it at some point

Bestsoft101 avatar Apr 17 '25 13:04 Bestsoft101

Is there anything left to do here? With

  • https://github.com/eclipse-platform/eclipse.platform.swt/pull/2065

you should now face a more reasonable error dialog allowing to switch back to IE engine on the fly.

Note that there is also information on how set up Edge/WebView2 or how to switch back to IE in the release news and the linked FAQ.

HeikoKlare avatar May 13 '25 08:05 HeikoKlare

Since there has been no activity for quite a while and since changes were made to address the issue, I consider it resolved for now. If that's not the case, feel free to reopen or create a new issue.

HeikoKlare avatar Jul 18 '25 09:07 HeikoKlare

Sorry forgot to respond. The legacy browser seems to work fine, but it pops up a warning every time eclipse is started, which is a bit annoying

https://github.com/user-attachments/assets/104a2c5e-edfc-45ab-9f5b-a86962a3dfc9

Also reopening doesnt work Image

Bestsoft101 avatar Jul 19 '25 17:07 Bestsoft101

The legacy browser seems to work fine, but it pops up a warning every time eclipse is started, which is a bit annoying

May I ask why you do not switch back to the internet explorer engine? The popup shows the "Information" option, which brings you to the FAQ page with the information on how to switch back to the internet explorer engine: https://github.com/eclipse-platform/eclipse.platform/blob/master/docs/FAQ/FAQ_How_do_I_use_Edge-IE_as_the_Browser's_underlying_renderer.md#fallback-to-internet-explorer

HeikoKlare avatar Jul 21 '25 07:07 HeikoKlare

I didn't realize I had to set it manually, I thought the "Use IE" button would do it

Bestsoft101 avatar Jul 21 '25 08:07 Bestsoft101

I didn't realize I had to set it manually, I thought the "Use IE" button would do it

Ah, valid point, thank you! We might adapt the dialog to indicate that it will only change to Internet Explorer for the current application session.

HeikoKlare avatar Jul 21 '25 08:07 HeikoKlare