Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hover Hint Window Becomes Zero Size #460

Open
antarestrue opened this issue Mar 25, 2025 · 3 comments
Open

Hover Hint Window Becomes Zero Size #460

antarestrue opened this issue Mar 25, 2025 · 3 comments

Comments

@antarestrue
Copy link

antarestrue commented Mar 25, 2025

The problem happens on AlmaLinux 8.4. I think it is related to WebKit, but I am unable to upgrade WebKit on the machine because I don't own the machine.

The Hover Hint Window becomes too tiny to see:
Image

It can be resized by dragging, but it will be tiny again next time, so it is still unusable.
Image

It also emits a few errors about "Maximum call stack size exceeded" on getting marginTop, marginBottom, scrollWidth, and scrollHeight. This is one of them.

!ENTRY org.eclipse.lsp4e 4 0 2025-03-24 20:14:23.766
!MESSAGE RangeError: Maximum call stack size exceeded.
Script that was evaluated:
function SWTWebkit2TempFunc53(){return window.getComputedStyle(document.body).marginBottom;}; SWTWebkit2TempFunc53()
!STACK 0
org.eclipse.swt.SWTException: RangeError: Maximum call stack size exceeded.
Script that was evaluated:
function SWTWebkit2TempFunc53(){return window.getComputedStyle(document.body).marginBottom;}; SWTWebkit2TempFunc53()
	at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.runjavascript(WebKit.java:1033)
	at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.evaluate(WebKit.java:998)
	at org.eclipse.swt.browser.WebKit.evaluate(WebKit.java:1297)
	at org.eclipse.swt.browser.WebBrowser.evaluate(WebBrowser.java:405)
	at org.eclipse.swt.browser.Browser.evaluate(Browser.java:665)
	at org.eclipse.swt.browser.Browser.evaluate(Browser.java:614)
	at org.eclipse.lsp4e.operations.hover.FocusableBrowserInformationControl.safeEvaluate(FocusableBrowserInformationControl.java:128)
	at org.eclipse.lsp4e.operations.hover.FocusableBrowserInformationControl.lambda$0(FocusableBrowserInformationControl.java:101)
	at org.eclipse.swt.browser.ProgressListener$2.completed(ProgressListener.java:97)
	at org.eclipse.swt.browser.WebKit.lambda$7(WebKit.java:1767)
	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:5047)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4527)
	at org.eclipse.jface.internal.text.html.BrowserInformationControl.setVisible(BrowserInformationControl.java:357)
	at org.eclipse.jface.text.AbstractInformationControlManager.showInformationControl(AbstractInformationControlManager.java:1240)
	at org.eclipse.jface.text.TextViewerHoverManager.showInformationControl(TextViewerHoverManager.java:276)
	at org.eclipse.jface.text.AbstractInformationControlManager.internalShowInformationControl(AbstractInformationControlManager.java:1191)
	at org.eclipse.jface.text.AbstractInformationControlManager.presentInformation(AbstractInformationControlManager.java:1120)
	at org.eclipse.jface.text.AbstractHoverInformationControlManager.presentInformation(AbstractHoverInformationControlManager.java:884)
	at org.eclipse.jface.text.TextViewerHoverManager.doPresentInformation(TextViewerHoverManager.java:237)
	at org.eclipse.jface.text.TextViewerHoverManager.lambda$3(TextViewerHoverManager.java:227)
	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:5047)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4527)
	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)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1465)
!SESSION 2025-03-24 21:18:36.840 -----------------------------------------------
eclipse.buildId=4.35.0.20250306-0811
java.version=21.0.6
java.vendor=Eclipse Adoptium
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.cpp.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.cpp.product

This is another one:

!ENTRY org.eclipse.lsp4e 4 0 2025-03-24 21:20:34.069
!MESSAGE RangeError: Maximum call stack size exceeded.
Script that was evaluated:
function SWTWebkit2TempFunc4(){return document.body.scrollWidth;}; SWTWebkit2TempFunc4()
!STACK 0
org.eclipse.swt.SWTException: RangeError: Maximum call stack size exceeded.
Script that was evaluated:
function SWTWebkit2TempFunc4(){return document.body.scrollWidth;}; SWTWebkit2TempFunc4()
	at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.runjavascript(WebKit.java:1033)
	at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.evaluate(WebKit.java:998)
	at org.eclipse.swt.browser.WebKit.evaluate(WebKit.java:1297)
	at org.eclipse.swt.browser.WebBrowser.evaluate(WebBrowser.java:405)
	at org.eclipse.swt.browser.Browser.evaluate(Browser.java:665)
	at org.eclipse.swt.browser.Browser.evaluate(Browser.java:614)
	at org.eclipse.lsp4e.operations.hover.FocusableBrowserInformationControl.safeEvaluate(FocusableBrowserInformationControl.java:128)
	at org.eclipse.lsp4e.operations.hover.FocusableBrowserInformationControl.lambda$0(FocusableBrowserInformationControl.java:95)
	at org.eclipse.swt.browser.ProgressListener$2.completed(ProgressListener.java:97)
	at org.eclipse.swt.browser.WebKit.lambda$7(WebKit.java:1767)
	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:5047)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4527)
	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)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1465)
@ghentschke
Copy link
Contributor

Which desktop do you use with AlmaLinux? GNOME?

@ghentschke
Copy link
Contributor

Please check if this discussion is helpful. Since it seems to be a webkit problem I would like to close this issue

@antarestrue
Copy link
Author

antarestrue commented Mar 26, 2025

Which desktop do you use with AlmaLinux? GNOME?

Yes

Please check if this discussion is helpful. Since it seems to be a webkit problem I would like to close this issue

The env vars mentioned in the discussion did not work for me. It doesn't seem the same issue.

Although it seems like a WebKit problem, but it could be a misuse of WebKit API in SWT. From the stacktrace, I see it is trying to get some margin values. Maybe SWT expects -1 as default but WebKit returns 0, something like that. Could you take a look at the stacktrace? I really cannot use LSP editor if this issue persists.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants