eclipse.platform.swt
eclipse.platform.swt copied to clipboard
Eclipse/Webkit browser crashes on Linux
Describe the bug The internal Browser is not rendering on Linux.
To Reproduce Install latest Eclipse on Ubuntu 23.04 (X11 not Wayland) or Linux Mint 21.2 and do one of the following:
- Open up the internal Browser and try to view a URL
- Open the Welcome page to try to view the content
- Hover over some Java to invoke the tooltip
- Run a basic SWT Snippet to launch a Browser component and set the URL
Either the browser is blank, or sometimes using the Internal Browser View in Eclipse you might see a little of the content. It also seems to be hanging because there is a long delay closing Eclipse.
Expected behavior Browser component should render on Linux.
Environment:
- Select the platform(s) on which the behavior is seen:
-
- [ ] All OS
-
- [ ] Windows
-
- [x] Linux
-
- [ ] macOS
- Additional OS info (e.g. OS version, Linux Desktop, etc)
Ubuntu 23.04 GTK 3.24.37
or:
Linux Mint 21.2 GTK 3.24.33
- JRE/JDK version
Temurin-17.0.8+7 (build 17.0.8+7)
Version since Tested on Eclipse 4.27 and later
Workaround (or) Additional context None
Do you say it works with Wayland for you? What is the webkitgtk version you have ? On fedora 39 with webkit2gtk4.1-2.42.1 internal web browser works just fine with both x11 and wayland for me.
Do you say it works with Wayland for you?
I've now tested it with Wayland on Ubuntu and it works. But not working with X11.
I can't test Wayland on Linux Mint because that distro only supports X11.
What is the webkitgtk version you have
On Ubuntu I see these versions:
- libwebkit2gtk-4.0-37
- libwebkit2gtk-4.1-0
- libwebkitgtk-6.0-4
And which webkit is loaded by SWT?
What is the webkitgtk version you have
On Ubuntu I see these versions:
* libwebkit2gtk-4.0-37 * libwebkit2gtk-4.1-0 * libwebkitgtk-6.0-4
You would have to be more specific as these are the so names (more or less) but the actual webkitgtk versions are 2.xx.x format (https://webkitgtk.org/) and I'm interested to see whether you have newer or older version (mine is 2.42.1). Another thing that comes to my mind is to try uninstalling libwebkit2gtk-4.0 and recheck as SWT will prefer the old version (https://github.com/eclipse-platform/eclipse.platform.swt/blob/459daddd8d72b22437dd88a956ea31feccb45ff0/bundles/org.eclipse.swt/Eclipse%20SWT%20WebKit/gtk/library/webkitgtk.h#L48) which may no longer be in the same shape as libwebkit2gtk-4.1. For what it works - Fedora drops 4.0 already.
How do I get the specific versions?
Go to Eclipse about dialog, software configuration, type SWT and get list of variables set by the framework.
This is my Debian knowledge maximum - smth like apt show package_name should give you the info.
Go to Eclipse about dialog, software configuration, type SWT and get list of variables set by the framework.
Sorry, can't see any libwebkit2gtk info there.
OK:
Ubuntu:
libwebkit2gtk-4.0-37:amd64 2.42.1-0ubuntu0.23.04.1
libwebkit2gtk-4.1-0:amd64 2.42.1-0ubuntu0.23.04.1
libwebkitgtk-6.0-4:amd64 2.42.1-0ubuntu0.23.04.1
Linux Mint:
libwebkit2gtk-4.0-37:amd64 2.42.1-0ubuntu0.22.04.1
libwebkit2gtk-4.1-0:amd64 2.42.1-0ubuntu0.22.04.1
So same version (difference could come from distro patches still). Please try getting rid of libwebkit2gtk-4.0-37 for the sake of the experiment.
You might be hitting https://bugzilla.redhat.com/show_bug.cgi?id=2240428 but I have no idea about debian/ubuntu GL/GLES naming to give you some more hints.
Another thing that comes to my mind is to try uninstalling libwebkit2gtk-4.0 and recheck as SWT will prefer the old version
Didn't fix it.
I rolled back to a snapshot of my Linux Mint installation that uses version 2.40.5 of libwebkit2gtk and that was OK. So must be something to do with version changes.
More investigations using Linux Mint (non-Wayland), webkitgtk 2.42.1.
Using this snippet:
import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class BrowserTest {
public static void main(String[] args) {
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("Browser Test");
shell.setLayout(new GridLayout());
Browser browser = new Browser(shell, SWT.NONE);
browser.setLayoutData(new GridData(GridData.FILL_BOTH));
Button button = new Button(shell, SWT.PUSH);
button.setText("Go");
button.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
button.addListener(SWT.Selection, event -> {
browser.setUrl("https://www.eclipse.org");
});
shell.setSize(900, 700);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
Sometimes some of the website is rendered in the browser component but most times it is blank. Hovering the mouse over the window the cursor changes to indicate links. Pressing a (invisible) link or pressing the "Go" button a second time gives the following error after some time:
SWT call to Webkit timed out after 10000ms. No return value will be provided.
Possible reasons:
1) Problem: Your javascript needs more than 10000ms to execute.
Solution: Don't run such javascript, it blocks Eclipse's UI. SWT currently allows such code to complete, but this error is thrown
and the return value of execute()/evalute() will be false/null.
2) However, if you believe that your application should execute as expected (in under10000 ms),
then it might be a deadlock in SWT/Browser/webkit2 logic.
I.e, it might be a bug in SWT (e.g this does not occur on Windows/Cocoa, but occurs on Linux). If you believe it to be a bug in SWT, then
Please report this issue *with steps to reproduce* via:
https://bugs.eclipse.org/bugs/enter_bug.cgi?alias=&assigned_to=platform-swt-inbox%40eclipse.org&attach_text=&blocked=&bug_file_loc=http%3A%2F%2F&bug_severity=normal&bug_status=NEW&comment=&component=SWT&contenttypeentry=&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&data=&defined_groups=1&dependson=&description=&flag_type-1=X&flag_type-11=X&flag_type-12=X&flag_type-13=X&flag_type-14=X&flag_type-15=X&flag_type-16=X&flag_type-2=X&flag_type-4=X&flag_type-6=X&flag_type-7=X&flag_type-8=X&form_name=enter_bug&keywords=&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=Linux&product=Platform&qa_contact=&rep_platform=PC&requestee_type-1=&requestee_type-2=&short_desc=webkit2_BrowserProblem
For bug report, please atatch this stack trace:
java.lang.Throwable:
at org.eclipse.swt.browser.WebKit.getStackTrace(WebKit.java:300)
at org.eclipse.swt.browser.WebKit.getInternalErrorMsg(WebKit.java:293)
at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.execAsyncAndWaitForReturn(WebKit.java:1272)
at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.runjavascript(WebKit.java:1030)
at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.evaluate(WebKit.java:1000)
at org.eclipse.swt.browser.WebKit.evaluate(WebKit.java:1299)
at org.eclipse.swt.browser.WebKit.close(WebKit.java:865)
at org.eclipse.swt.browser.WebKit.onDispose(WebKit.java:1792)
at org.eclipse.swt.browser.WebKit.lambda$4(WebKit.java:768)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1529)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1555)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1534)
at org.eclipse.swt.widgets.Widget.release(Widget.java:1337)
at org.eclipse.swt.widgets.Control.release(Control.java:4803)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1560)
at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:279)
at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:503)
at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:3413)
at org.eclipse.swt.widgets.Widget.release(Widget.java:1344)
at org.eclipse.swt.widgets.Control.release(Control.java:4803)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:543)
at org.eclipse.swt.widgets.Shell.dispose(Shell.java:3330)
at org.eclipse.swt.widgets.Shell.closeWidget(Shell.java:694)
at org.eclipse.swt.widgets.Shell.gtk_delete_event(Shell.java:1537)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2495)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:6883)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:6163)
at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_do_event(Native Method)
at org.eclipse.swt.widgets.Display.eventProc(Display.java:1597)
at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_iteration_do(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4514)
at BrowserTest.main(BrowserTest.java:44)
Additional information about the error is as following:
The following javascript was executed:
function SWTWebkit2TempFunc1(){return SWTExecuteTemporaryFunctionCLOSE(window);}; SWTWebkit2TempFunc1()
I've got to google on the issue again Seems like it's affecting a variety of tools that use webkitgtk 5.42.x webkit browsers
A workaround is to use the environment variable
WEBKIT_DISABLE_COMPOSITING_MODE=1
Since it seems to be about compositing i'm not sure it affects certain 'X' servers, or graphics drivers or even desktop environment
But I was affected with either Xorg or wayland, with kde plasma, gnome and enlightenment on Arch Linux with propietary nvidia 470xx drivers
UPDATE:
The environment variable WEBKIT_DISABLE_DMABUF_RENDERER=1 works too
@dabicho Thanks for the workaround, which is working for me on Linux Mint (X11). Do you know if this is something that will be fixed in webkitgtk?
WEBKIT_DISABLE_DMABUF_RENDERER=1 fixed my problem on Ubuntu 22.04.3 LTS, X11 apt list --installed | grep webkit libqt5webkit5/jammy,now 5.212.0~alpha4-15ubuntu1 amd64 [installed,automatic] libwebkit2gtk-4.1-0/jammy-updates,jammy-security,now 2.42.1-0ubuntu0.22.04.1 amd64 [installed]
Thanks @dabicho for the workaround, just for the record: for me only WEBKIT_DISABLE_COMPOSITING_MODE=1 is working (WEBKIT_DISABLE_DMABUF_RENDERER=1 has no effect). Problem started after I finally updated Eclipse today, no other changes and before everything was working fine.
libwebkit2gtk-4.0-37:amd64 2.38.6-0ubuntu0.20.04.1
@froshyfrosh It would be nice if you can install libwebkit2gtk-4.1 and try with today's I-build(https://download.eclipse.org/eclipse/downloads/drops4/I20240111-0700/) that contains https://github.com/eclipse-platform/eclipse.platform.swt/commit/4d1d26a8d9347a8d379819887464eca83ab39023 .
We see also some webkit crashes on RHEL 7.9 but with different stack... webkitgtk4-2.28.2-2 , crash looks like
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast(WebKitWebProcess:12468): Gdk-ERROR **: 17:13:53.815: The program 'WebKitWebProcess' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
(Details: serial 163 error_code 2 request_code 151 (GLX) minor_code 34)
I'm curious where do you find all the WEBKIT_DISABLE_ variables?
Could you point to the source please?
@akurtakov Ok, I can try that next week. Today I'm working from home via xrdp on that machine and I just realized that this way it works even without any of those env. vars.
@akurtakov Sorry I forgot to check last time I was in the office. Today I did it, but I cannot reproduce it any more. Javadoc view and tooltips are working now without any environment variables set. I'm not aware of any changes/updates on this machine. Only a reboot (but I think I did that before and there it did not help then). If you want me to check something let me know.
@Phillipus do you still face this issue? TBH, I lost track here but that's what happens when multiple reports end up in same issue thus I'm pointing to you as the one that opened it.
@Phillipus do you still face this issue?
Yes.
I'm testing on two Linux VMs - Ubuntu 23.04 and Linux Mint 21.3 (Ubuntu 22.04 base). These have latest package updates.
Running dpkg -l | grep libwebkit* gives:
Ubuntu 23.04
libwebkit2gtk-4.0-37:amd64 2.42.4-0ubuntu0.23.04.1
libwebkit2gtk-4.1-0:amd64 2.42.4-0ubuntu0.23.04.1
libwebkitgtk-6.0-4:amd64 2.42.4-0ubuntu0.23.04.1
Linux Mint 21.3
libwebkit2gtk-4.0-37:amd64 2.42.4-0ubuntu0.22.04.1
libwebkit2gtk-4.1-0:amd64 2.42.4-0ubuntu0.22.04.1
Note this is X11, not Wayland.
The following workaround is still working:
WEBKIT_DISABLE_COMPOSITING_MODE=1
Having the issue where opening various eclipse screens (the help contents and hover javadocs the most prominent) crashes it. Trying to install a fresh eclipse also resulted in the installer crashing.
Running dpkg -l | grep libwebkit* gives:
libwebkit2gtk-4.0-37:amd64 2.42.5-0ubuntu0.22.04.2
Using Lubuntu of Ubuntu 22.04.4 LTS.
WEBKIT_DISABLE_DMABUF_RENDERER=1 seems to fix the problem for eclipse but WEBKIT_DISABLE_COMPOSITING_MODE=1 did not.
I had been having very intermittent random crashes when hovering over javadocs prior to recently updating my system, but after updating it happened consistently. Hover javadocs do work with the setting set to disable.
If you are running your Linux OS in a Virtual Environment (VMWare/VirtualBox), try disabling 3d Acceleration.
VBox: right click VM|Settings...|Display then uncheck Enable 3D Acceleration.
Sorry, I don't use VMWare so not sure where to find it in there.
We ran across this problem with another application, managed to work around it by doing the above.
WEBKIT_DISABLE_DMABUF_RENDERER=1seems to fix the problem for eclipse Thanks very much for this - worked for me on Fedora.
Would you please try with https://download.eclipse.org/eclipse/downloads/drops4/I20240329-0530/ ? It should have a workaround for the problem.
After installing that build as a software site, Eclipse seemingly got stuck in an infinite loading screen when loading older workspaces.
Upon creating a new one, Tip of the Day still crashed instantly on opening without the environment variable, so I don't think the workaround works. The environment variable still prevents the crash. (For me that was WEBKIT_DISABLE_DMABUF_RENDERER=1)
I've upgraded to 2024-03 today and I'm seeing coredumps whenever libweb2gtk is involved, seemingly 100% of the time. Fedora 39 webkit2gtk4.1-2.44.0-2.fc39.x86_64
The WEBKIT_DISABLE_DMABUF_RENDERER=1 workaround resolves the issue. Eclipse is unusable without this.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fef803ba130, pid=37762, tid=37763
#
# JRE version: OpenJDK Runtime Environment Temurin-17.0.10+7 (17.0.10+7) (build 17.0.10+7)
# Java VM: OpenJDK 64-Bit Server VM Temurin-17.0.10+7 (17.0.10+7, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# C [libwebkit2gtk-4.1.so.0+0xdba130]
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h" (or dumping to /home/user/core.37762)
#
# If you would like to submit a bug report, please visit:
# https://github.com/adoptium/adoptium-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- S U M M A R Y ------------
Command Line: -Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclientjava -Dosgi.requiredJavaVersion=17 [email protected]/eclipse-workspace -Dosgi.dataAreaRequiresExplicitInit=true -Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true -Declipse.e4.inject.javax.warning=false -Xms1024m -Xmx4096m -XX:+UseG1GC -XX:+UseStringDeduplication --add-modules=ALL-SYSTEM -Djava.security.manager=allow /home/user/eclipse//plugins/org.eclipse.equinox.launcher_1.6.700.v20240213-1244.jar -os linux -ws gtk -arch x86_64 -showsplash /home/user/eclipse//plugins/org.eclipse.epp.package.common_4.31.0.20240307-1200/splash.bmp -launcher /home/user/eclipse/eclipse -name Eclipse --launcher.library /home/user/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.2.900.v20240129-1338/eclipse_11900.so -startup /home/user/eclipse//plugins/org.eclipse.equinox.launcher_1.6.700.v20240213-1244.jar --launcher.appendVmargs -exitdata 18008 -product org.eclipse.epp.package.jee.product -data file:/media/storage/user-redir/eclipse-workspace/ -vm /home/user/eclipse//plugins/org.eclipse.justj.openjdk.hotspot.jre.full.linux.x86_64_17.0.10.v20240120-1143/jre/bin/java -vmargs -Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclientjava -Dosgi.requiredJavaVersion=17 [email protected]/eclipse-workspace -Dosgi.dataAreaRequiresExplicitInit=true -Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true -Declipse.e4.inject.javax.warning=false -Dsun.java.command=Eclipse -Xms1024m -Xmx4096m -XX:+UseG1GC -XX:+UseStringDeduplication --add-modules=ALL-SYSTEM -Djava.security.manager=allow -jar /home/user/eclipse//plugins/org.eclipse.equinox.launcher_1.6.700.v20240213-1244.jar
Host: AMD Ryzen 9 7950X3D 16-Core Processor, 32 cores, 125G, Fedora release 39 (Thirty Nine)
Time: Tue Apr 2 13:52:11 2024 BST elapsed time: 536.306741 seconds (0d 0h 8m 56s)
--------------- T H R E A D ---------------
Current thread (0x00007ff49c027620): JavaThread "main" [_thread_in_native, id=37763, stack(0x00007ff4a2b00000,0x00007ff4a2c00000)]
Stack: [0x00007ff4a2b00000,0x00007ff4a2c00000], sp=0x00007ff4a2bfcdd0, free space=1011k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libwebkit2gtk-4.1.so.0+0xdba130]
C [libwebkit2gtk-4.1.so.0+0xdba270]
C [libwebkit2gtk-4.1.so.0+0xb2d279]
C [libwebkit2gtk-4.1.so.0+0xbf7dd2]
C [libwebkit2gtk-4.1.so.0+0xb24ec5]
C [libwebkit2gtk-4.1.so.0+0xb26f9b]
C [libjavascriptcoregtk-4.1.so.0+0x16fc195]
C [libjavascriptcoregtk-4.1.so.0+0x175a83d]
C [libjavascriptcoregtk-4.1.so.0+0x175b23d]
C [libglib-2.0.so.0+0x5be5c]
C [libglib-2.0.so.0+0xb6f18]
C [libglib-2.0.so.0+0x59ad3] g_main_context_iteration+0x33
C [libgtk-3.so.0+0x206c8d] gtk_main_iteration_do+0x1d
C [libswt-pi3-gtk-4964r8.so+0x5563c] Java_org_eclipse_swt_internal_gtk3_GTK3_gtk_1main_1iteration_1do+0xc
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 12213 org.eclipse.swt.internal.gtk3.GTK3.gtk_main_iteration_do(Z)Z (0 bytes) @ 0x00007ff491b41669 [0x00007ff491b41620+0x0000000000000049]
J 23876 c2 org.eclipse.swt.widgets.Display.readAndDispatch()Z (88 bytes) @ 0x00007ff491f450a0 [0x00007ff491f44fc0+0x00000000000000e0]
j org.eclipse.jface.internal.text.html.BrowserInformationControl.setVisible(Z)V+58
j org.eclipse.jface.text.AbstractInformationControlManager.showInformationControl(Lorg/eclipse/swt/graphics/Rectangle;)V+5
j org.eclipse.jface.text.TextViewerHoverManager.showInformationControl(Lorg/eclipse/swt/graphics/Rectangle;)V+21
j org.eclipse.jface.text.AbstractInformationControlManager.internalShowInformationControl(Lorg/eclipse/swt/graphics/Rectangle;Ljava/lang/Object;)V+344
j org.eclipse.jface.text.AbstractInformationControlManager.presentInformation()V+70
j org.eclipse.jface.text.AbstractHoverInformationControlManager.presentInformation()V+64
j org.eclipse.jface.text.TextViewerHoverManager.doPresentInformation()V+1
j org.eclipse.jface.text.TextViewerHoverManager.lambda$3(Lorg/eclipse/swt/custom/StyledText;)V+8
j org.eclipse.jface.text.TextViewerHoverManager$$Lambda$2719+0x000000080138e838.run()V+8
J 22072 c2 org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Z)Z (188 bytes) @ 0x00007ff4924d7e0c [0x00007ff4924d7920+0x00000000000004ec]
J 23876 c2 org.eclipse.swt.widgets.Display.readAndDispatch()Z (88 bytes) @ 0x00007ff491f450dc [0x00007ff491f44fc0+0x000000000000011c]
J 26875% c1 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run()V (690 bytes) @ 0x00007ff48c1acedc [0x00007ff48c1a7880+0x000000000000565c]
j org.eclipse.core.databinding.observable.Realm.runWithDefault(Lorg/eclipse/core/databinding/observable/Realm;Ljava/lang/Runnable;)V+12
j org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(Lorg/eclipse/e4/ui/model/application/MApplicationElement;Lorg/eclipse/e4/core/contexts/IEclipseContext;)Ljava/lang/Object;+57
j org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(Lorg/eclipse/e4/ui/model/application/MApplicationElement;)V+20
j org.eclipse.ui.internal.Workbench.lambda$3(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;[I)V+392
j org.eclipse.ui.internal.Workbench$$Lambda$296+0x00000008003074e0.run()V+12
j org.eclipse.core.databinding.observable.Realm.runWithDefault(Lorg/eclipse/core/databinding/observable/Realm;Ljava/lang/Runnable;)V+12
j org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+16
j org.eclipse.ui.PlatformUI.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+2
j org.eclipse.ui.internal.ide.application.IDEApplication.start(Lorg/eclipse/equinox/app/IApplicationContext;)Ljava/lang/Object;+113
j org.eclipse.equinox.internal.app.EclipseAppHandle.run(Ljava/lang/Object;)Ljava/lang/Object;+138
j org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Ljava/lang/Object;)Ljava/lang/Object;+85
j org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ljava/lang/Object;)Ljava/lang/Object;+79
j org.eclipse.core.runtime.adaptor.EclipseStarter.run(Ljava/lang/Object;)Ljava/lang/Object;+99
j org.eclipse.core.runtime.adaptor.EclipseStarter.run([Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Object;+132
v ~StubRoutines::call_stub
j jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 [email protected]
j jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+133 [email protected]
j jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 [email protected]
j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+59 [email protected]
j org.eclipse.equinox.launcher.Main.invokeFramework([Ljava/lang/String;[Ljava/net/URL;)V+202
j org.eclipse.equinox.launcher.Main.basicRun([Ljava/lang/String;)V+159
j org.eclipse.equinox.launcher.Main.run([Ljava/lang/String;)I+4
j org.eclipse.equinox.launcher.Main.main([Ljava/lang/String;)V+10
v ~StubRoutines::call_stub
In Eclipse Capella, the same issue appears with the description editor, which uses the internal browser too.
It makes the Eclipse completely unusable since the whole application freezes completely after a few seconds when the browser opens.
Neither WEBKIT_DISABLE_COMPOSITING_MODE=1 nor WEBKIT_DISABLE_DMABUF_RENDERER=1 work for me.
The stack trace is the same:
SWT call to Webkit timed out after 10000ms. No return value will be provided.
Possible reasons:
1) Problem: Your javascript needs more than 10000ms to execute.
Solution: Don't run such javascript, it blocks Eclipse's UI. SWT currently allows such code to complete, but this error is thrown
and the return value of execute()/evalute() will be false/null.
2) However, if you believe that your application should execute as expected (in under10000 ms),
then it might be a deadlock in SWT/Browser/webkit2 logic.
I.e, it might be a bug in SWT (e.g this does not occur on Windows/Cocoa, but occurs on Linux). If you believe it to be a bug in SWT, then
Please report this issue *with steps to reproduce* via:
https://bugs.eclipse.org/bugs/enter_bug.cgi?alias=&assigned_to=platform-swt-inbox%40eclipse.org&attach_text=&blocked=&bug_file_loc=http%3A%2F%2F&bug_severity=normal&bug_status=NEW&comment=&component=SWT&contenttypeentry=&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&data=&defined_groups=1&dependson=&description=&flag_type-1=X&flag_type-11=X&flag_type-12=X&flag_type-13=X&flag_type-14=X&flag_type-15=X&flag_type-16=X&flag_type-2=X&flag_type-4=X&flag_type-6=X&flag_type-7=X&flag_type-8=X&form_name=enter_bug&keywords=&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=Linux&product=Platform&qa_contact=&rep_platform=PC&requestee_type-1=&requestee_type-2=&short_desc=webkit2_BrowserProblem
For bug report, please atatch this stack trace:
java.lang.Throwable:
at org.eclipse.swt.browser.WebKit.getStackTrace(WebKit.java:300)
at org.eclipse.swt.browser.WebKit.getInternalErrorMsg(WebKit.java:293)
at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.execAsyncAndWaitForReturn(WebKit.java:1272)
at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.runjavascript(WebKit.java:1030)
at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.evaluate(WebKit.java:1000)
at org.eclipse.swt.browser.WebKit.evaluate(WebKit.java:1299)
at org.eclipse.swt.browser.WebBrowser.evaluate(WebBrowser.java:406)
at org.eclipse.swt.browser.Browser.evaluate(Browser.java:665)
at org.eclipse.swt.browser.Browser.evaluate(Browser.java:614)
at org.eclipse.nebula.widgets.richtext.RichTextEditor$3.completed(RichTextEditor.java:284)
at org.eclipse.swt.browser.WebKit.lambda$7(WebKit.java:1769)
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:5040)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4520)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
at org.polarsys.capella.core.platform.sirius.ui.app.CapellaApplication.start(CapellaApplication.java:118)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
at org.eclipse.equinox.launcher.Main.main(Main.java:1440)
Additional information about the error is as following:
The following javascript was executed:
function SWTWebkit2TempFunc1(){initEditor();}; SWTWebkit2TempFunc1()