https://bugzilla.redhat.com/show_bug.cgi?id=1226956
Bug ID: 1226956 Summary: eclipse-jgit cause compilation errors when Scala-IDE plugin is installed Product: Fedora Version: 22 Component: eclipse-jgit Assignee: mat.booth@redhat.com Reporter: robert@marcanoonline.com QA Contact: extras-qa@fedoraproject.org CC: andjrobins@gmail.com, eclipse-sig@lists.fedoraproject.org, jerboaa@gmail.com, krzysztof.daniel@gmail.com, mat.booth@redhat.com, rgrunber@redhat.com, swagiaal@redhat.com
Created attachment 1033363 --> https://bugzilla.redhat.com/attachment.cgi?id=1033363&action=edit Eclipse log file
Description of problem:
When Scala-IDE is installed all Scala projects show compilation errors, The attached log shows a NullPointerException when calling:
javax.xml.bind.DatatypeConverter.printBase64Binary(DatatypeConverter.java:435)
trying to debug the problem, I checked the source of printBase64Binary and noticed that the lines for that method aren't near 435 on the OpenJDK sources. This made me thing another implementation is packaged and loaded by one of the Eclipse classloaders. I found eclipse-jgit containing javax.xml.bind_2.0.0.v20080604-1500.jar and that one is the one being used. After removing that jar fromthe dropin directory, Scala-IDE was able to compile projects without errors.
Version-Release number of selected component (if applicable):
eclipse-jgit-3.7.0-2.fc22.noarch
Steps to Reproduce: 1. Install Scala-IDE from http://scala-ide.org/ 2. Start Eclipse and create a new Scala project 3. Add a new Scala class to the project like:
Test.scala------
case object Test
end Test.scala------
Actual results:
Compilation errors on the project, Eclipse log file with the exception (see attached log)
Expected results:
Compilation should be successful
Additional info:
A lot of time has passed since I packaged Eclipse plugins for Fedora, so things changed a lot. I don't see manual replacement of jars with links to dependent jars. I didn't find where the javax.xml.bind_2.0.0.v20080604-1500.jar is pulled.
OpenJDK 8 already include that implementation, to use that specific implementation look like is not needed, or at least to be isolated to only that plugin and not make it public to other plugins.
https://bugzilla.redhat.com/show_bug.cgi?id=1226956
Mat Booth mat.booth@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |CLOSED Fixed In Version| |eclipse-jgit-4.1.0-4.fc22 Resolution|--- |ERRATA Last Closed| |2015-10-27 05:54:55
--- Comment #1 from Mat Booth mat.booth@redhat.com --- eclipse-jgit in Fedora 22 and newer has been upgraded to version 4.1.0 and no longer contains a symlink to the "javax.xml.bind" bundle
This hopefully fixes your problem -- please re-open if this is not the case.
https://bugzilla.redhat.com/show_bug.cgi?id=1226956
--- Comment #2 from Robert Marcano robert@marcanoonline.com --- Thanks. solved.
There is still /usr/share/eclipse/dropins/egit-egit/eclipse/plugins/javax.xml.bind_2.0.0.v20080604-1500.jar on eclipse-egit but it doesn't affect Scala IDE plugin.
Tested
1) dnf reinstalling eclipse-egit (restoring the other removed file) and updating eclipse-jgit. 2) eclipse -clean 3) Project -> Clean All projects,
No compilation errors because of DatatypeConverter.printBase64Binary()
eclipse-sig@lists.fedoraproject.org