Bug 518731 - Eclipse neon.3 very frequent crashes related to libjavascriptcoregtk-3.0.so.0 / libswt-webkit-gtk-4629.so
Summary: Eclipse neon.3 very frequent crashes related to libjavascriptcoregtk-3.0.so.0...
Status: CLOSED INVALID
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.7   Edit
Hardware: PC Linux
: P3 critical (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2017-06-23 15:41 EDT by Ludovic Aelbrecht CLA
Modified: 2017-10-14 06:38 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ludovic Aelbrecht CLA 2017-06-23 15:41:15 EDT
Hi,

I'm using Eclipse  4.6.3 (neon.3) (64-bit version) on Fedora 25.

I've tried both the eclipse.org download and the packages from Fedora, both give me the exact same problem.

Every couple of minutes, Eclipse will crash. I have the impression it happens more often when I'm saving a file, or when something visual happens (selecting some text, or an auto-complete suggestion).

Here's the output I see (from Eclipse downloaded at https://www.eclipse.org/downloads/download.php?file=/oomph/epp/neon/R3/eclipse-inst-linux64.tar.gz):

----------------------------------------------
 $ ./eclipse 
org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized.  Will retry after the state location is initialized.
org.eclipse.m2e.logback.configuration: Logback config file: /home/ludovic/ws/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.7.0.20160603-1933.xml
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [bundleresource://459.fwk823758059:1/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [bundleresource://459.fwk823758059:2/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
org.eclipse.m2e.logback.configuration: Initializing logback
1   0x7f9f9885ff37 /lib64/libjavascriptcoregtk-1.0.so.0(WTFCrash+0x17) [0x7f9f9885ff37]
2   0x7f9f9887c6a5 /lib64/libjavascriptcoregtk-1.0.so.0(_ZN3WTF11OSAllocator18reserveUncommittedEmNS0_5UsageEbbb+0x55) [0x7f9f9887c6a5]
3   0x7f9f985cbe98 /lib64/libjavascriptcoregtk-1.0.so.0(_ZN3JSC19ExecutableAllocator19initializeAllocatorEv+0x98) [0x7f9f985cbe98]
4   0x7f9f98728e72 /lib64/libjavascriptcoregtk-1.0.so.0(+0x4bbe72) [0x7f9f98728e72]
5   0x7fa0a6889b99 /lib64/libpthread.so.0(+0xeb99) [0x7fa0a6889b99]
6   0x7f9f98728ee5 /lib64/libjavascriptcoregtk-1.0.so.0(_ZN3JSC19initializeThreadingEv+0x65) [0x7f9f98728ee5]
7   0x7f9f983c8d60 /lib64/libjavascriptcoregtk-1.0.so.0(JSClassCreate+0x20) [0x7f9f983c8d60]
8   0x7f9f9aff3bd9 /usr/src/local-builds/eclipse/java-neon/eclipse/configuration/org.eclipse.osgi/387/0/.cp/libswt-webkit-gtk-4629.so(Java_org_eclipse_swt_internal_webkit_WebKitGTK__1JSClassCreate+0x111) [0x7f9f9aff3bd9]
9   0x7fa0909cc7f4 [0x7fa0909cc7f4]
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f9f9885ff3c, pid=671, tid=0x00007fa0a6c85700
#
# JRE version: OpenJDK Runtime Environment (8.0_131-b12) (build 1.8.0_131-b12)
# Java VM: OpenJDK 64-Bit Server VM (25.131-b12 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libjavascriptcoregtk-1.0.so.0+0x5f2f3c]  WTFCrash+0x1c
#
# Core dump written. Default location: /usr/src/local-builds/eclipse/java-neon/eclipse/core or core.671
#
# An error report file with more information is saved as:
# /usr/src/local-builds/eclipse/java-neon/eclipse/hs_err_pid671.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.                                                                                                                                                                       
# See problematic frame for where to report the bug.                                                                                                                                                                                        
#
----------------------------------------------


I read somewhere to do "export SWT_GTK3=0" and "export SWT_WEBKIT2=1" (in order to not use GTK3), but that doesn't change anything. (Except that I don't get all the "Gtk-WARNING" and "GLib-CRITICAL" crap in my console when I do those exports, but the actual crash remains the same and happens as frequently.)


Here's the output I get when the Fedora-packaged Eclipse crashes (more or less identical):
----------------------------------------------
$ eclipse
CompilerOracle: exclude org/eclipse/core/internal/dtree/DataTreeNode.forwardDeltaWith
CompilerOracle: exclude org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.<init>
CompilerOracle: exclude org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.instantiateTemplate
CompilerOracle: exclude org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.addBinding
CompilerOracle: exclude org/python/pydev/editor/codecompletion/revisited/PythonPathHelper.isValidSourceFile
CompilerOracle: exclude org/eclipse/tycho/core/osgitools/EquinoxResolver.newState
1   0x7fa4b0ea2f37 /lib64/libjavascriptcoregtk-1.0.so.0(WTFCrash+0x17) [0x7fa4b0ea2f37]
2   0x7fa4b0ebf6a5 /lib64/libjavascriptcoregtk-1.0.so.0(_ZN3WTF11OSAllocator18reserveUncommittedEmNS0_5UsageEbbb+0x55) [0x7fa4b0ebf6a5]
3   0x7fa4b0c0ee98 /lib64/libjavascriptcoregtk-1.0.so.0(_ZN3JSC19ExecutableAllocator19initializeAllocatorEv+0x98) [0x7fa4b0c0ee98]
4   0x7fa4b0d6be72 /lib64/libjavascriptcoregtk-1.0.so.0(+0x4bbe72) [0x7fa4b0d6be72]
5   0x7fa595260b99 /lib64/libpthread.so.0(+0xeb99) [0x7fa595260b99]
6   0x7fa4b0d6bee5 /lib64/libjavascriptcoregtk-1.0.so.0(_ZN3JSC19initializeThreadingEv+0x65) [0x7fa4b0d6bee5]
7   0x7fa4b0a0bd60 /lib64/libjavascriptcoregtk-1.0.so.0(JSClassCreate+0x20) [0x7fa4b0a0bd60]
8   0x7fa4b3654897 /usr/lib64/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_64_3.105.3.v20170306-1705/libswt-webkit-gtk-4629.so(Java_org_eclipse_swt_internal_webkit_WebKitGTK__1JSClassCreate+0x23) [0x7fa4b3654897]
9   0x7fa57d017774 [0x7fa57d017774]
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fa4b0ea2f3c, pid=1963, tid=0x00007fa59565c700
#
# JRE version: OpenJDK Runtime Environment (8.0_131-b12) (build 1.8.0_131-b12)
# Java VM: OpenJDK 64-Bit Server VM (25.131-b12 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libjavascriptcoregtk-1.0.so.0+0x5f2f3c]  WTFCrash+0x1c
#
# Core dump written. Default location: /home/ludovic/core or core.1963
#
# An error report file with more information is saved as:
# /home/ludovic/hs_err_pid1963.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
----------------------------------------------

The coredump seems to be 1.8GB, a bit unpractical to upload here. If it's still useful to upload it, let me know.

Thanks,
Ludovic
Comment 1 Ludovic Aelbrecht CLA 2017-06-27 07:10:57 EDT
I just tried it out with Oxygen RC3 (from the package eclipse-java-oxygen-RC3-linux-gtk-x86_64.tar.gz). It's still reproducible in this newer version.

Found an easy way to reproduce it: open a simple Java POJO from my project, and right click on class variable's name.

Here's the crash output from Oxygen RC3:
----------------------------------
(Eclipse:1526): Gtk-WARNING **: Negative content width -6 (allocation 1, extents 4x3) while allocating gadget (node toolbar, owner GtkToolbar)

(Eclipse:1526): Gtk-WARNING **: Negative content height -3 (allocation 1, extents 2x2) while allocating gadget (node toolbar, owner GtkToolbar)
1   0x7fb5c4746f37 /lib64/libjavascriptcoregtk-3.0.so.0(WTFCrash+0x17) [0x7fb5c4746f37]
2   0x7fb5c47636a5 /lib64/libjavascriptcoregtk-3.0.so.0(_ZN3WTF11OSAllocator18reserveUncommittedEmNS0_5UsageEbbb+0x55) [0x7fb5c47636a5]
3   0x7fb5c44b2e98 /lib64/libjavascriptcoregtk-3.0.so.0(_ZN3JSC19ExecutableAllocator19initializeAllocatorEv+0x98) [0x7fb5c44b2e98]
4   0x7fb5c460fe72 /lib64/libjavascriptcoregtk-3.0.so.0(+0x4bbe72) [0x7fb5c460fe72]
5   0x7fb6d90f9b99 /lib64/libpthread.so.0(+0xeb99) [0x7fb6d90f9b99]
6   0x7fb5c460fee5 /lib64/libjavascriptcoregtk-3.0.so.0(_ZN3JSC19initializeThreadingEv+0x65) [0x7fb5c460fee5]
7   0x7fb5c42afd60 /lib64/libjavascriptcoregtk-3.0.so.0(JSClassCreate+0x20) [0x7fb5c42afd60]
8   0x7fb5c4aa5033 /usr/src/local-builds/eclipse/oxygenrc3-java/eclipse/configuration/org.eclipse.osgi/397/0/.cp/libswt-webkit-gtk-4757.so(Java_org_eclipse_swt_internal_webkit_WebKitGTK__1JSClassCreate+0xe7) [0x7fb5c4aa5033]
9   0x7fb6c10177f4 [0x7fb6c10177f4]
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fb5c4746f3c, pid=1526, tid=0x00007fb6d94f5700
#
# JRE version: OpenJDK Runtime Environment (8.0_131-b12) (build 1.8.0_131-b12)
# Java VM: OpenJDK 64-Bit Server VM (25.131-b12 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libjavascriptcoregtk-3.0.so.0+0x5f2f3c]  WTFCrash+0x1c
#
# Core dump written. Default location: /usr/src/local-builds/eclipse/oxygenrc3-java/eclipse/core or core.1526
#
# An error report file with more information is saved as:
# /usr/src/local-builds/eclipse/oxygenrc3-java/eclipse/hs_err_pid1526.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
----------------------------------

This is making Eclipse unusable to me. Seems to be due to a library which is part of the Eclipse plugin "org.eclipse.swt.gtk.linux", but AFAIK removing that plugin would render Eclipse broken.
Comment 2 Leo Ufimtsev CLA 2017-06-30 14:48:59 EDT
Can you try:
SWT_WEBKIT2=1
eclipse

w/ latest eclipse.

Webkit1 has a broken thread sync logic, which leads to crashes if something happens while webkit1 executes some javascript.

Solution is to hop over onto the webkit2 wagon. Were working on making Webkit2 default. (Port almost done):
Bug 516838 – [GTK3][webkit] Port SWT Browser to webkit2gtk (4.8)

To download recent nightly/integration builds, please go here:
http://download.eclipse.org/eclipse/downloads/
- Scroll down to "4.x Integration Builds". 
- Click on the most recent stable build like "I201XXXXX...", 
- Find your platform in the "Eclipse SDK". Download the archive, extract it and run the 'eclipse' binary.

Let me know if there is improvement.
Comment 3 Leo Ufimtsev CLA 2017-06-30 14:52:16 EDT
(In reply to Ludovic Aelbrecht from comment #0)
> I read somewhere to do "export SWT_GTK3=0" and "export SWT_WEBKIT2=1" (in

Those two are mutually exclusive. (wekbit2 doesn't work on gtk2) You should:

export SWT_GTK3=1
export SWT_WEBKIT2=1

Then try to run. If a crash still occurs with the combo above, please post stack trace of the crash. Also ensure that webkit2 and it's gtk bindings are installed on your system.

webkitgtk4.x86_64
gtk3.x86_64

Also please let me know version of packages that are installed.
Comment 4 Leo Ufimtsev CLA 2017-07-03 15:37:59 EDT
ping.
Comment 5 Leo Ufimtsev CLA 2017-08-01 12:53:21 EDT
Closing due to no response.

If still relevant, please re-open bug and reply to comments.

Thank you.
Comment 6 Leo Ufimtsev CLA 2017-08-01 12:54:02 EDT
Ressolved -> closed, as no issue was resolved.
Comment 7 Michael Vorburger CLA 2017-10-14 06:38:55 EDT
If you hit this one from a Web Search, then see more recent Bug 522733 instead.