Bug 1516961

Summary: Eclipse crash after a while of work
Product: [Fedora] Fedora Reporter: Alex Villacís Lasso <alexvillacislasso>
Component: eclipseAssignee: Mat Booth <mat.booth>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 27CC: akurtako, andjrobins, bill_chatfield, dbhole, ebaron, eclipse-sig, jan.public, jerboaa, jjohnstn, krzysztof.daniel, lef, lufimtse, mat.booth, rgrunber
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: eclipse-4.7.2-1.fc26 eclipse-4.7.2-1.fc27 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-01-06 23:08:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Java backtrace report 1
none
Java backtrace report 2
none
Java backtrace report 3
none
Java backtrace report 4 none

Description Alex Villacís Lasso 2017-11-23 16:47:42 UTC
Created attachment 1358325 [details]
Java backtrace report 1

Description of problem:
After a while of working on one or more projects, Eclipse just crashes. This has happened repeatedly in my gnome-shell session. This crash never happened before under Fedora 26.

Version-Release number of selected component (if applicable):
eclipse-mylyn-context-java-3.23.1-6.fc27.noarch
eclipse-tm-terminal-connectors-4.3.0-0.3.gitfa298da.fc27.noarch
eclipse-pydev-5.9.2-2.fc27.x86_64
eclipse-dtp-1.14.0-2.fc27.noarch
eclipse-mylyn-docs-wikitext-3.23.1-6.fc27.noarch
eclipse-equinox-osgi-4.7.1-6.fc27.x86_64
eclipse-cdt-native-9.3.2-2.fc27.x86_64
eclipse-mylyn-tasks-bugzilla-3.23.1-6.fc27.noarch
eclipse-recommenders-2.4.10-3.fc27.noarch
eclipse-linuxtools-6.1.1-2.fc27.noarch
eclipse-emf-core-2.13.0-3.fc27.noarch
eclipse-epp-logging-2.0.6-1.fc27.noarch
eclipse-emf-runtime-2.13.0-3.fc27.noarch
eclipse-webtools-javaee-3.9.1-1.fc27.noarch
eclipse-m2e-workspace-0.4.0-6.fc27.noarch
eclipse-cdt-9.3.2-2.fc27.x86_64
eclipse-mylyn-3.23.1-6.fc27.noarch
eclipse-epic-0.7.3-3.fc27.noarch
eclipse-mylyn-context-cdt-3.23.1-6.fc27.noarch
eclipse-launchbar-2.1.2-2.fc27.noarch
eclipse-mylyn-tasks-web-3.23.1-6.fc27.noarch
eclipse-jdt-4.7.1-6.fc27.noarch
eclipse-linuxtools-rpm-editor-6.1.1-2.fc27.noarch
eclipse-webtools-common-3.9.1-1.fc27.noarch
eclipse-mpc-1.6.2-1.fc27.noarch
eclipse-abrt-0.0.3-3.fc27.noarch
eclipse-ptp-9.1.3-1.fc27.x86_64
eclipse-jgit-4.8.0-4.fc27.noarch
eclipse-dltk-sh-5.8.1-1.fc27.noarch
eclipse-linuxtools-manpage-6.1.1-2.fc27.noarch
eclipse-ecf-core-3.13.8-1.fc27.noarch
eclipse-xsd-2.12.0-3.fc27.noarch
eclipse-gef-3.11.0-4.fc27.noarch
eclipse-subclipse-4.2.2-4.fc27.noarch
eclipse-linuxtools-changelog-6.1.1-2.fc27.noarch
eclipse-dltk-5.8.1-1.fc27.noarch
eclipse-usage-4.5.0-1.fc27.noarch
eclipse-tm-terminal-4.3.0-0.3.gitfa298da.fc27.noarch
eclipse-swt-4.7.1-6.fc27.x86_64
eclipse-m2e-core-1.8.1-1.fc27.noarch
eclipse-anyedit-2.6.1-3.fc27.noarch
eclipse-p2-discovery-4.7.1-6.fc27.noarch
eclipse-cdt-arduino-9.3.2-2.fc27.x86_64
eclipse-pdt-5.1.0-1.fc27.noarch
eclipse-dltk-mylyn-5.8.1-1.fc27.noarch
eclipse-egit-4.8.0-3.fc27.noarch
eclipse-webtools-sourceediting-3.9.1-1.fc27.noarch
eclipse-emf-sdk-2.13.0-3.fc27.noarch
eclipse-pde-4.7.1-6.fc27.x86_64
eclipse-remote-3.0.0-0.2.git96f33c6.fc27.noarch
eclipse-mylyn-tasks-trac-3.23.1-6.fc27.noarch
eclipse-platform-4.7.1-6.fc27.x86_64
eclipse-packagekit-0.2.0-6.fc27.noarch
eclipse-rse-3.7.3-3.fc27.noarch
eclipse-webtools-servertools-3.9.1-1.fc27.noarch
eclipse-linuxtools-libhover-6.1.1-2.fc27.noarch


How reproducible:
Always

Steps to Reproduce:
1. Start Eclipse
2.
3.

Actual results:
Crash, eclipse terminates.

Expected results:
No crash

Additional info:
I am unable to report this through ABRT because it complains that "uReport data is invalid".

From what I can see of the backtrace report, I am wildly guessing that this crash is an attempt to call X11 functions on a Wayland Eclipse. I see that F27 Eclipse has enabled Wayland by default, and the crash is happening inside libX11. The crash appears to happen at the exact place in 4 separate instances. I am now trying to run "WAYLAND_DISPLAY=  eclipse" in order to force Eclipse to run entirely under X11, to check whether this crashes or not.

Comment 1 Alex Villacís Lasso 2017-11-23 16:48:49 UTC
Created attachment 1358327 [details]
Java backtrace report 2

Comment 2 Alex Villacís Lasso 2017-11-23 16:49:29 UTC
Created attachment 1358328 [details]
Java backtrace report 3

Comment 3 Alex Villacís Lasso 2017-11-23 16:50:06 UTC
Created attachment 1358329 [details]
Java backtrace report 4

Comment 4 Alex Villacís Lasso 2017-11-23 17:02:45 UTC
Added an Eclipse bugtracker bug ID where the last few crash logs appear to be the same backtrace as mine.

Comment 5 Lev Ufimtsev 2017-11-23 20:01:34 UTC
TextTransfer.java has an x11 call:
gdk_x11_display_utf8_to_compound_text(..)
which is not guarded off.

We should fix this.

Comment 6 Lev Ufimtsev 2017-11-23 20:05:24 UTC
Created an upstream bug to track:
Bug 527693 – [Wayland] TextTransfer crash (libX11.so) due to an x11 call gdk_x11_display_utf8_to_compound_text 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=527693

Comment 7 Mat Booth 2017-11-24 10:17:29 UTC
Oof, Fedora 27 is the first release where Eclipse is using Wayland by default.

Until a fix is ready, you may try to mitigate the problem by telling Eclipse to use x11. For example:

$ GDK_BACKEND=x11 eclipse

Comment 8 Mat Booth 2017-11-26 16:22:26 UTC
*** Bug 1517488 has been marked as a duplicate of this bug. ***

Comment 9 Alex Villacís Lasso 2017-11-28 17:24:17 UTC
I have downloaded and unpacked eclipse-4.7.1-6.fc27.src.rpm to see the code for myself.

From what I can see using my (rusty) Java skills, the problem is that the GTK+ version of org.eclipse.swt.dnd.TextTransfer class registers a few text transfer formats, including the (X11 specific) "COMPOUND_TEXT". Then, somehow, a call to gtk_selection_data_get_target() with a selection target returns the ID assigned for "COMPOUND_TEXT", even under Wayland. An attempt to convert a Java string into the COMPOUND_TEXT format triggers an unguarded call to gdk_x11_display_utf8_to_compound_text, which promptly crashes under Wayland.

Why would GTK+ return the ID for COMPOUND_TEXT as a target format for *anything* under Wayland?

Comment 10 Alexander Kurtakov 2017-11-28 17:33:31 UTC
Alex, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=527693 it happened because SWT claimed to support it wrongly. That should be fixed now.
Mat, plaease backport the patch in question for Fedora users.

Comment 11 Alexander Kurtakov 2017-12-13 06:22:26 UTC
Mat, is this backported already?

Comment 12 Fedora Update System 2017-12-18 11:32:05 UTC
eclipse-webtools-3.9.2-1.fc27 eclipse-linuxtools-6.2.0-1.fc27 eclipse-dltk-5.8.2-1.fc27 eclipse-usage-4.5.2-0.1.fc27 eclipse-4.7.2-1.fc27 eclipse-recommenders-2.5.0-1.fc27 eclipse-mylyn-3.23.2-2.fc27 eclipse-dtp-1.14.1-1.fc27 eclipse-egit-4.9.1-1.fc27 eclipse-jgit-4.9.1-2.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-2e1b714002

Comment 13 Fedora Update System 2017-12-18 11:32:30 UTC
eclipse-webtools-3.9.2-1.fc26 eclipse-linuxtools-6.2.0-1.fc26 eclipse-dltk-5.8.2-1.fc26 eclipse-4.7.2-1.fc26 eclipse-recommenders-2.5.0-1.fc26 eclipse-mylyn-3.23.2-2.fc26 eclipse-dtp-1.14.1-1.fc26 eclipse-egit-4.9.1-1.fc26 eclipse-jgit-4.9.1-2.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-3c602edc69

Comment 14 Fedora Update System 2017-12-18 22:01:51 UTC
eclipse-4.7.2-1.fc27, eclipse-dltk-5.8.2-1.fc27, eclipse-dtp-1.14.1-1.fc27, eclipse-egit-4.9.1-1.fc27, eclipse-jgit-4.9.1-2.fc27, eclipse-linuxtools-6.2.0-1.fc27, eclipse-mylyn-3.23.2-2.fc27, eclipse-recommenders-2.5.0-1.fc27, eclipse-usage-4.5.2-0.1.fc27, eclipse-webtools-3.9.2-1.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-2e1b714002

Comment 15 Fedora Update System 2017-12-18 22:40:00 UTC
eclipse-4.7.2-1.fc26, eclipse-dltk-5.8.2-1.fc26, eclipse-dtp-1.14.1-1.fc26, eclipse-egit-4.9.1-1.fc26, eclipse-jgit-4.9.1-2.fc26, eclipse-linuxtools-6.2.0-1.fc26, eclipse-mylyn-3.23.2-2.fc26, eclipse-recommenders-2.5.0-1.fc26, eclipse-webtools-3.9.2-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-3c602edc69

Comment 16 Alex Villacís Lasso 2017-12-20 19:58:10 UTC
Just in case, I am currently running eclipse-*-4.7.2-1 and the Eclipse crash has not happened after the update.

Comment 17 Fedora Update System 2018-01-06 23:08:52 UTC
eclipse-4.7.2-1.fc26, eclipse-dltk-5.8.2-1.fc26, eclipse-dtp-1.14.1-1.fc26, eclipse-egit-4.9.1-1.fc26, eclipse-jgit-4.9.1-2.fc26, eclipse-linuxtools-6.2.0-1.fc26, eclipse-mylyn-3.23.2-2.fc26, eclipse-recommenders-2.5.0-1.fc26, eclipse-webtools-3.9.2-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2018-01-06 23:19:38 UTC
eclipse-4.7.2-1.fc27, eclipse-dltk-5.8.2-1.fc27, eclipse-dtp-1.14.1-1.fc27, eclipse-egit-4.9.1-1.fc27, eclipse-jgit-4.9.1-2.fc27, eclipse-linuxtools-6.2.0-1.fc27, eclipse-mylyn-3.23.2-2.fc27, eclipse-recommenders-2.5.0-1.fc27, eclipse-usage-4.5.2-0.1.fc27, eclipse-webtools-3.9.2-1.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.