Bug 1568453

Summary: Cannot get docker image list in eclipse docker plugin
Product: [Fedora] Fedora Reporter: Hedayat Vatankhah <hedayatv>
Component: eclipse-linuxtoolsAssignee: Jeff Johnston <jjohnstn>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 28CC: akurtako, jjohnstn, mat.booth, rgrunber
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: eclipse-linuxtools-6.2.1-2.fc28 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-29 11:27:46 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:

Description Hedayat Vatankhah 2018-04-17 14:21:31 UTC
Description of problem:
Doesn't show docker images. When pressing referesh button, the following error happens:
An internal error occurred during: "Refreshing Images...".

eclipse.buildId=4.7.3.v20180409-1128
java.version=1.8.0_162
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fa_IR
Command-line arguments:  -os linux -ws gtk -arch x86_64

org.eclipse.core.jobs
Error
Tue Apr 17 18:47:34 IRDT 2018
An internal error occurred during: "Refreshing Images...".

java.lang.LinkageError: com/google/common/collect/ImmutableList
	at org.eclipse.linuxtools.internal.docker.core.DockerConnection.resolveQualifier(DockerConnection.java:1110)
	at org.eclipse.linuxtools.internal.docker.core.DockerConnection.listImages(DockerConnection.java:1046)
	at org.eclipse.linuxtools.internal.docker.core.DockerConnection.getImages(DockerConnection.java:1006)
	at org.eclipse.linuxtools.internal.docker.ui.commands.RefreshCommandHandler$2.run(RefreshCommandHandler.java:127)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)



Version-Release number of selected component (if applicable):
eclipse-linuxtools-docker-6.2.1-1.fc28.noarch

How reproducible:
100%

Comment 1 Mat Booth 2018-04-19 15:56:45 UTC
I believe this is because linuxtools somehow got two versions of guava in it's buildroot. Notice how docker.client is wired to one and linuxtools.docker.core is wired to a different one:

g! p com.google.common.base
osgi.wiring.package; bundle-symbolic-name="com.google.guava"; bundle-version:Version="24.0.0.jre"; version:Version="24.0.0"; osgi.wiring.package="com.google.common.base"<com.google.guava_24.0.0.jre [259]>
  org.eclipse.wst.jsdt.core_2.0.302.v201804100903 [947] imports
  org.eclipse.epp.logging.aeri.core_2.0.6.v20170917-2136 [265] imports
  org.eclipse.linuxtools.docker.core_3.2.1.201803191705 [556] imports
  org.eclipse.epp.logging.aeri.ide_2.0.6.v20170917-2136 [266] imports
  org.eclipse.mylyn.bugzilla.rest.core_1.0.0.v20180207-0809 [907] imports
osgi.wiring.package; bundle-symbolic-name="com.google.guava"; bundle-version:Version="20.0.0"; version:Version="20.0.0"; osgi.wiring.package="com.google.common.base"<com.google.guava_20.0.0 [420]>
  org.glassfish.jersey.ext.jersey-entity-filtering_2.23.2 [569] imports
  org.glassfish.jersey.core.jersey-server_2.23.2 [568] imports
  org.eclipse.mylyn.tasks.ui_3.23.2.v20180207-0809 [463] imports
  org.glassfish.jersey.core.jersey-common_2.23.2 [567] imports
  org.eclipse.mylyn.tasks.core_3.23.2.v20180207-0809 [459] imports
  com.spotify.docker.client_6.2.5 [544] imports
  com.fasterxml.jackson.datatype.jackson-datatype-guava_2.9.4 [533] imports
  org.eclipse.mylyn.bugzilla.rest.ui_1.0.0.v20180207-0809 [908] imports
  org.eclipse.mylyn.context.tasks.ui_3.23.2.v20180207-0809 [446] imports
  org.eclipse.mylyn.commons.ui_3.23.2.v20180207-0809 [442] imports
  org.glassfish.jersey.core.jersey-client_2.23.2 [566] imports
  com.google.javascript_0.0.0.v20160315 [919] imports

Comment 2 Fedora Update System 2018-04-19 21:19:34 UTC
eclipse-linuxtools-6.2.1-2.fc28 eclipse-epp-logging-2.0.6-3.fc28 eclipse-m2e-core-1.8.3-0.3.git1255fb5.fc28 eclipse-m2e-takari-0.1.0-0.8.gite7603b0.fc28 eclipse-m2e-plexus-0.15.0-0.11.git8baf151.fc28 eclipse-m2e-sisu-0.15.0-0.11.git81d3bc5.fc28 eclipse-m2e-sourcelookup-1.1.0.201506181114-6.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-7e11832e55

Comment 3 Fedora Update System 2018-04-20 01:50:17 UTC
eclipse-epp-logging-2.0.6-3.fc28, eclipse-linuxtools-6.2.1-2.fc28, eclipse-m2e-buildhelper-0.15.0-0.10.git2dbbbb7.fc28, eclipse-m2e-core-1.8.3-0.3.git1255fb5.fc28, eclipse-m2e-egit-0.15.0-0.3.gitdef7cfb.fc28, eclipse-m2e-plexus-0.15.0-0.11.git8baf151.fc28, eclipse-m2e-sisu-0.15.0-0.11.git81d3bc5.fc28, eclipse-m2e-sourcelookup-1.1.0.201506181114-6.fc28, eclipse-m2e-takari-0.1.0-0.8.gite7603b0.fc28 has been pushed to the Fedora 28 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-2018-7e11832e55

Comment 4 Hedayat Vatankhah 2018-04-21 15:17:59 UTC
An internal error occurred during: "Opening connection 'LocalConnection'[http://127.0.0.1:2376]...".
loader constraint violation: loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader) previously initiated loading for a different type with name "com/google/common/collect/ImmutableList"

Comment 5 Mat Booth 2018-04-23 08:28:53 UTC
Can you try invoking Eclipse with the "-clean" parameter to force rebuilding the OSGi cache:

$ eclipse -clean 

If it still doesn't work, can you tell us what other plugins you have installed from Fedora repos:

$ rpm -qa | grep eclipse

There might be another plugin supplying an additional guava bundle.

Comment 6 Hedayat Vatankhah 2018-04-23 20:19:03 UTC
I'm pretty sure that I've done eclipse -clean already. (I'll try again tomorrow).

BTW, the list is here:
% rpm -qa "*eclipse*"
eclipse-emf-validation-1.10.0-5.fc28.noarch
eclipse-m2e-core-1.8.3-0.3.git1255fb5.fc28.noarch
eclipse-linuxtools-oprofile-6.2.1-2.fc28.noarch
eclipse-mylyn-3.23.2-4.fc28.noarch
eclipse-equinox-osgi-4.7.3a-4.fc28.x86_64
eclipse-cdt-docker-9.4.3-1.fc28.x86_64
eclipse-p2-discovery-4.7.3a-4.fc28.noarch
eclipse-linuxtools-gprof-6.2.1-2.fc28.noarch
eclipse-rse-3.7.3-4.fc28.noarch
eclipse-linuxtools-changelog-6.2.1-2.fc28.noarch
eclipse-platform-4.7.3a-4.fc28.x86_64
eclipse-pde-4.7.3a-4.fc28.x86_64
eclipse-mpc-1.6.4-1.fc28.noarch
eclipse-emf-query-1.10.0-5.fc28.noarch
eclipse-swt-4.7.3a-4.fc28.x86_64
eclipse-gef-3.11.0-5.fc28.noarch
eclipse-linuxtools-rpm-editor-6.2.1-2.fc28.noarch
eclipse-remote-3.0.0-0.4.git14c6611.fc28.noarch
eclipse-m2e-workspace-0.4.0-7.fc28.noarch
eclipse-tm-terminal-connectors-4.3.0-1.fc28.noarch
eclipse-cdt-qt-9.4.3-1.fc28.x86_64
eclipse-usage-4.5.2-0.2.fc28.noarch
eclipse-mdt-uml2-5.2.3-3.fc28.noarch
eclipse-linuxtools-libhover-6.2.1-2.fc28.noarch
eclipse-dtp-1.14.100-3.fc28.noarch
eclipse-egit-4.11.0-1.fc28.noarch
eclipse-cdt-native-9.4.3-1.fc28.x86_64
eclipse-emf-runtime-2.13.0-4.fc28.noarch
eclipse-linuxtools-gcov-6.2.1-2.fc28.noarch
eclipse-abrt-0.0.3-4.fc28.noarch
eclipse-emf-core-2.13.0-4.fc28.noarch
eclipse-linuxtools-valgrind-6.2.1-2.fc28.noarch
eclipse-cdt-9.4.3-1.fc28.x86_64
eclipse-mylyn-context-cdt-3.23.2-4.fc28.noarch
eclipse-mdt-ocl-6.2.1-4.fc28.noarch
eclipse-linuxtools-systemtap-6.2.1-2.fc28.noarch
eclipse-xsd-2.13.0-2.fc28.noarch
eclipse-recommenders-2.5.1-2.fc28.noarch
eclipse-webtools-servertools-3.9.4-4.fc28.noarch
eclipse-dltk-5.8.2-2.fc28.noarch
eclipse-egit-mylyn-4.11.0-1.fc28.noarch
eclipse-ecf-core-3.13.8-2.fc28.noarch
eclipse-linuxtools-manpage-6.2.1-2.fc28.noarch
eclipse-epp-logging-2.0.6-3.fc28.noarch
eclipse-pydev-6.3.2-2.fc28.x86_64
eclipse-mylyn-versions-git-3.23.2-4.fc28.noarch
eclipse-linuxtools-6.2.1-2.fc28.noarch
eclipse-webtools-common-3.9.4-4.fc28.noarch
eclipse-mylyn-versions-3.23.2-4.fc28.noarch
eclipse-webtools-sourceediting-3.9.4-4.fc28.noarch
eclipse-launchbar-2.2.0-3.fc28.noarch
eclipse-dltk-sh-5.8.2-2.fc28.noarch
eclipse-jdt-4.7.3a-4.fc28.noarch
eclipse-linuxtools-docker-6.2.1-2.fc28.noarch
eclipse-mylyn-tasks-bugzilla-3.23.2-4.fc28.noarch
eclipse-jgit-4.11.0-2.fc28.noarch
eclipse-tm-terminal-4.3.0-1.fc28.noarch

Comment 7 Hedayat Vatankhah 2018-04-23 21:35:44 UTC
locate guava:
...
/usr/share/eclipse/droplets/epp-logging/eclipse/plugins/com.google.guava_20.0.0.jar
/usr/share/eclipse/droplets/linuxtools-core/eclipse/plugins/com.google.guava_20.0.0.jar
/usr/share/eclipse/droplets/linuxtools-docker/eclipse/plugins/com.fasterxml.jackson.datatype.jackson-datatype-guava_2.9.4.jar
/usr/share/eclipse/droplets/linuxtools-docker/eclipse/plugins/com.google.guava_20.0.0.jar
/usr/share/eclipse/droplets/m2e-core/eclipse/plugins/com.google.guava_20.0.0.jar
/usr/share/eclipse/droplets/m2e-core/eclipse/plugins/org.eclipse.m2e.archetype.common_1.8.3.20180419-1919/jars/guava-20.0.jar
/usr/share/eclipse/droplets/m2e-core/eclipse/plugins/org.eclipse.m2e.maven.indexer_1.8.3.20180419-1919/jars/guava-20.0.jar
/usr/share/eclipse/droplets/m2e-core/eclipse/plugins/org.eclipse.m2e.maven.runtime_1.8.3.20180419-1919/jars/guava-20.0.jar
/usr/share/eclipse/droplets/mylyn/eclipse/plugins/com.google.guava_20.0.0.jar
/usr/share/eclipse/droplets/mylyn-tasks-bugzilla/eclipse/plugins/com.google.guava_20.0.0.jar
/usr/share/eclipse/droplets/mylyn-tasks-bugzilla/eclipse/plugins/com.google.guava_24.0.0.jre.jar
/usr/share/eclipse/droplets/mylyn-versions-git/eclipse/plugins/com.google.guava_20.0.0.jar
/usr/share/eclipse/droplets/recommenders/eclipse/plugins/com.google.guava_20.0.0.jar
/usr/share/eclipse/droplets/webtools-sourceediting/eclipse/plugins/com.google.guava_20.0.0.jar

...

Comment 8 Hedayat Vatankhah 2018-04-23 21:38:56 UTC
Oops sorry, these lines in locate output might be interesting too:

/usr/share/java/guava
/usr/share/java/guava20
/usr/share/java/guava/guava.jar
/usr/share/java/guava20/guava-20.0.jar
/usr/share/java/jackson-datatypes-collections/jackson-datatype-guava.jar
/usr/share/java/jersey/jersey-rx-client-guava.jar
/usr/share/jython/javalib/guavaguava.jar
/usr/share/licenses/guava
/usr/share/licenses/guava20
/usr/share/licenses/jackson-datatype-guava
/usr/share/licenses/guava/COPYING
/usr/share/licenses/guava20/COPYING
/usr/share/licenses/jackson-datatype-guava/LICENSE
/usr/share/maven/lib/guava-20.0.jar


Don't know if it affects eclipse or not, but there is a guava package installed too:
$  rpm -qf /usr/share/java/guava20/guava-20.0.jar
guava20-20.0-3.fc28.noarch

Comment 9 Fedora Update System 2018-04-24 09:54:01 UTC
eclipse-epp-logging-2.0.6-3.fc28 eclipse-linuxtools-6.2.1-2.fc28 eclipse-m2e-buildhelper-0.15.0-0.10.git2dbbbb7.fc28 eclipse-m2e-core-1.8.3-0.3.git1255fb5.fc28 eclipse-m2e-cxf-0.14.0-0.10.gitf22f9ea.fc28 eclipse-m2e-egit-0.15.0-0.3.gitdef7cfb.fc28 eclipse-m2e-mavendev-0.3.0.201506181201-6.fc28 eclipse-m2e-modello-0.16.0-0.11.git5d1062a.fc28 eclipse-m2e-plexus-0.15.0-0.11.git8baf151.fc28 eclipse-m2e-sisu-0.15.0-0.11.git81d3bc5.fc28 eclipse-m2e-sourcelookup-1.1.0.201506181114-6.fc28 eclipse-m2e-takari-0.1.0-0.8.gite7603b0.fc28 eclipse-mylyn-3.23.2-5.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-7e11832e55

Comment 10 Mat Booth 2018-04-24 10:18:11 UTC
This is the suspect bit:

> /usr/share/eclipse/droplets/mylyn-tasks-bugzilla/eclipse/plugins/com.google.
> guava_20.0.0.jar
> /usr/share/eclipse/droplets/mylyn-tasks-bugzilla/eclipse/plugins/com.google.
> guava_24.0.0.jre.jar

Can you try with the newest build of mylyn? I added it to the update, but you can also try it from koji if you don't want to wait for it to appear in updates-testing:

https://koji.fedoraproject.org/koji/buildinfo?buildID=1074929

Comment 11 Hedayat Vatankhah 2018-04-24 12:36:42 UTC
Thanks, updating only eclipse-mylyn-tasks-bugzilla fixed the problem for me :)

Comment 12 Mat Booth 2018-04-24 12:38:24 UTC
Great, thanks for testing :-)

Comment 13 Fedora Update System 2018-04-24 19:13:20 UTC
eclipse-epp-logging-2.0.6-3.fc28, eclipse-linuxtools-6.2.1-2.fc28, eclipse-m2e-antlr-0.15.0-0.11.gitb2d587b.fc28, eclipse-m2e-buildhelper-0.15.0-0.10.git2dbbbb7.fc28, eclipse-m2e-core-1.8.3-0.3.git1255fb5.fc28, eclipse-m2e-cxf-0.14.0-0.10.gitf22f9ea.fc28, eclipse-m2e-egit-0.15.0-0.3.gitdef7cfb.fc28, eclipse-m2e-mavendev-0.3.0.201506181201-6.fc28, eclipse-m2e-modello-0.16.0-0.11.git5d1062a.fc28, eclipse-m2e-plexus-0.15.0-0.11.git8baf151.fc28, eclipse-m2e-sisu-0.15.0-0.11.git81d3bc5.fc28, eclipse-m2e-sourcelookup-1.1.0.201506181114-6.fc28, eclipse-m2e-takari-0.1.0-0.8.gite7603b0.fc28, eclipse-m2e-tycho-0.8.1-2.fc28, eclipse-m2e-wtp-1.3.3-0.3.git9202520.fc28, eclipse-mylyn-3.23.2-5.fc28 has been pushed to the Fedora 28 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-2018-7e11832e55

Comment 14 Fedora Update System 2018-04-29 11:27:46 UTC
eclipse-epp-logging-2.0.6-3.fc28, eclipse-linuxtools-6.2.1-2.fc28, eclipse-m2e-antlr-0.15.0-0.11.gitb2d587b.fc28, eclipse-m2e-buildhelper-0.15.0-0.10.git2dbbbb7.fc28, eclipse-m2e-core-1.8.3-0.3.git1255fb5.fc28, eclipse-m2e-cxf-0.14.0-0.10.gitf22f9ea.fc28, eclipse-m2e-egit-0.15.0-0.3.gitdef7cfb.fc28, eclipse-m2e-mavendev-0.3.0.201506181201-6.fc28, eclipse-m2e-modello-0.16.0-0.11.git5d1062a.fc28, eclipse-m2e-plexus-0.15.0-0.11.git8baf151.fc28, eclipse-m2e-sisu-0.15.0-0.11.git81d3bc5.fc28, eclipse-m2e-sourcelookup-1.1.0.201506181114-6.fc28, eclipse-m2e-takari-0.1.0-0.8.gite7603b0.fc28, eclipse-m2e-tycho-0.8.1-2.fc28, eclipse-m2e-wtp-1.3.3-0.3.git9202520.fc28, eclipse-mylyn-3.23.2-5.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.