Red Hat Bugzilla – Bug 861037
Eclipse does not start in rawhide
Last modified: 2014-01-12 19:27:28 EST
Reported by rgrunber. Happens only for 4.2.1-0.x. Works in f17 and f18.
Initial investigation revealed
java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.eclipse.e4.ui.css.core.impl.dom.CSSStyleSheetImpl.getParentStyleSheet()Lorg/w3c/dom/stylesheets/StyleSheet;" the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the current class, org/eclipse/e4/ui/css/core/impl/dom/CSSStyleSheetImpl, and the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) for interface org/w3c/dom/stylesheets/StyleSheet have different Class objects for the type tImpl.getParentStyleSheet()Lorg/w3c/dom/stylesheets/StyleSheet; used in the signature
There is an unwanted wiring during bundles resolution here. Many UI
packages required package org.w3.dom.css which was provided by a bundle
in the upstream Eclipse, but is provided by vm SDK in Fedora. The
problem is that it is also provided by javax.xml, and since there are
duplicates, some classes are loaded from javax.xml bundle in some
bundles and others from SDK in other bundles, causing LinkageErrors
and/or class cast exceptions.
The solution is to remove imports from the UI code to ensure that
javax.xml is not searched during class resolution, and that proper
classes from SDK are used.
New Eclipse build http://koji.fedoraproject.org/koji/taskinfo?taskID=4545903
I've tried out the 4.2.1-0.4 build and can confirm it fixes the issue.