Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

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.