Bug 1523102 - google-guice 4.1-8 breaks Xtext
Summary: google-guice 4.1-8 breaks Xtext
Alias: None
Product: Fedora
Classification: Fedora
Component: google-guice
Version: 27
Hardware: x86_64
OS: Linux
Target Milestone: ---
Assignee: Mikolaj Izdebski
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2017-12-07 08:50 UTC by Giulio Bernardi
Modified: 2018-11-30 22:24 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2018-11-30 22:24:28 UTC
Type: Bug

Attachments (Terms of Use)
The stack trace in the Eclipse console (4.79 KB, text/plain)
2017-12-07 08:50 UTC, Giulio Bernardi
no flags Details

Description Giulio Bernardi 2017-12-07 08:50:58 UTC
Created attachment 1364112 [details]
The stack trace in the Eclipse console

Description of problem:
After the update from 4.1-7 to 4.1-8, recent Xtext versions (tried with 2.12.0 and 2.13.0) don't work anymore (java.lang.NoClassDefFoundError: net/sf/cglib/core/CodeGenerationException).
Tested on both fedora 26 and 27.
(Sorry for not having reported it earlier, I thought the problem was on my side, I was in a hurry and I simply downgraded guice to 4.1-7...)

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Start eclipse
2. Install Xtext complete SDK from update site: http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
3. After restarting Eclipse, create a New Xtext Project and accept all defaults
4. In the newly-generated MyDsl.xtext right click and select "Generate Xtext Artifacts"

Actual results:
No artifact is generated. In the console:

[main] ERROR mf.mwe2.launch.runtime.Mwe2Launcher  - com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: net/sf/cglib/core/CodeGenerationException

Expected results:
No error occurs, the artifacts are generated.

Additional info:
 - I'm using default java-1.8.0-openjdk-
 - google-guice 4.1-7 works fine

Comment 1 Mikolaj Izdebski 2017-12-07 09:52:52 UTC
google-guice 4.1-8 started to import cglib, but with resolution:=optional
eclipse-m2e-core seems to be the only packaged plugin using guice (based on: dnf repoquery -al | grep droplets | grep guice), but it doesn't link cglib
Mat, what is your opinion on this?

Giulio, can you check if installing eclipse-recommenders fixes the issue?

Comment 2 Mikolaj Izdebski 2017-12-07 09:54:05 UTC
Adding correct CC this time. Mat, what is your recommendation on the fix?

Comment 3 Mikolaj Izdebski 2017-12-07 10:06:47 UTC
If I understand this correctly:
- our guice has cglib unbundled and replaced by optional import on cglib
- m2e uses guice, but doesn't symlink gclib
- deps of 3rd party plugins that use guice will be satisfied by our guice bundle
- it works for them because they normally bundle cglib
- but cglib is not available in our installation, resulting in NoClassDefFoundError 

possible solutions:
- change import to non-optional
- add BR on cglib to m2e, so that symlink is generated by fp-p2

Comment 4 Giulio Bernardi 2017-12-07 10:12:34 UTC
(In reply to Mikolaj Izdebski from comment #1)
> Giulio, can you check if installing eclipse-recommenders fixes the issue?

Actually I had eclipse-recommenders installed. Removing it though fixed the problem. I always thought google-guice was the problem, but actually when downgrading guice to 4.1-7 I also had to downgrade eclipse-recommenders to the previous version, but I never tried to remove it.

Comment 5 Giulio Bernardi 2017-12-13 12:09:33 UTC
After updating to Oxygen.2 (eclipse-platform-4.7.2-0.2.fc27.x86_64) the problem is the same.

 - If I install eclipse-recommenders-2.4.10-3.fc27.noarch, I got the error I originally mentioned
 - If I remove it, everything works

I test every time with a new eclipse configuration directory and workspace.

Comment 6 Ben Cotton 2018-11-27 14:47:35 UTC
This message is a reminder that Fedora 27 is nearing its end of life.
On 2018-Nov-30  Fedora will stop maintaining and issuing updates for
Fedora 27. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora  'version' of '27'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 27 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 7 Ben Cotton 2018-11-30 22:24:28 UTC
Fedora 27 changed to end-of-life (EOL) status on 2018-11-30. Fedora 27 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.