Forum Discussion

hankolerd's avatar
hankolerd
New Contributor
9 years ago

Eclipse 4.5.2 + Collaborator 9.5 LinkageError

I couldn't find any place to send bug reports, so thought I would try here in the forums.

 

I am experiencing the below LinkageError for com.google.common.base.Function (presumably from mis-matched versions of Google Guava), after updating from Collaborator 9.2 to 9.5.

 

java.lang.LinkageError: loader constraint violation: when resolving method "com.smartbear.util.SmartBearUtils.correlate(Ljava/lang/Iterable;Lcom/google/common/base/Function;Ljava/lang/Iterable;Lcom/google/common/base/Function;)Ljava/util/Map;" the class loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader) of the current class, com/smartbear/collaborator/resources/DefectMarkerUtils, and the class loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader) for resolved class, com/smartbear/util/SmartBearUtils, have different Class objects for the type Lcom/google/common/base/Function;Ljava/lang/Iterable;Lcom/google/common/base/Function;)Ljava/util/Map; used in the signature
at com.smartbear.collaborator.resources.DefectMarkerUtils.updateDefectMarkers(DefectMarkerUtils.java:154)
at com.smartbear.collaborator.resources.DefectMarkerUtils.updateDefectMarkers(DefectMarkerUtils.java:145)
at com.smartbear.collaborator.ui.ide.jobs.ClientActionItemsRefreshJob.updateDecoratorsAndMarkers(ClientActionItemsRefreshJob.java:100)
at com.smartbear.collaborator.ui.ide.jobs.ClientActionItemsRefreshJob.doRun(ClientActionItemsRefreshJob.java:75)
at com.smartbear.collaborator.ui.ide.jobs.ClientActionItemsRefreshJob.doRun(ClientActionItemsRefreshJob.java:32)
at com.smartbear.collaborator.jobs.RefreshJob.run(RefreshJob.java:153)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

 

Eclipse Platform is 4.5.2.v20160212-1500. Before upgrading from 9.2 my profile had the following matches in the /plugins folder:

 

danijoh2$ find . -name "*guava*.jar*"
./com.google.guava_15.0.0.v201403281430.jar
./com.smartbear.collaborator_9.2.9200.001/libs/guava-11.0.2.jar
./org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/guava-18.0.jar 

After upgrading it has:

danijoh2$ find . -name "*guava*.jar*"
./com.google.guava_15.0.0.v201403281430.jar
./com.google.guava_18.0.0.jar
./com.smartbear.collaborator_9.5.9501.001/guava-18.0.jar
./org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/guava-18.0.jar 

guava 15.0.0.v201403281430 is signed by Eclipse Orbit

guava 18.0.0 is unsigned, and seems to have been installed with the 9.5 update of CC

 

Anyone know how to resolve the error? Thanks in advance

2 Replies

  • OlegB's avatar
    OlegB
    SmartBear Alumni (Retired)

    Hello hankolerd,

     

    Please follow the steps below:

    1. Remove the Collaborator Plug-in in the "Installed Software" window.
    2. Go to Eclipse plugins folder. It is typically located at the following path:

    <Program Files>/Eclipse/<EclipseCodeName>/plugins

    1. Select all jar-files and folders that start with com.smartbear.collaborator.
    2. Delete these files and folders from the Eclipse plugins folder.
    3. Make sure that you have installed Java 8 Oracle distribution.
    4. Re-install the Collaborator plug-in (http://eclipse.smartbear.com/9.0).

     

    If these tips don't help you, send us the log file from the Eclipse client. The link below describes how to generate the log file:

     https://support.smartbear.com/viewarticle/66615/

    • hankolerd's avatar
      hankolerd
      New Contributor

      Is Java 8 required? The release notes between 9.2 and 9.5 make no mention of requiring Java 8.

       

      I am using 1.7.0_80.

      /Profile danijoh2$ java -version
      java version "1.7.0_80"
      Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
      Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

       

      I am not sure re-installing is going to help. This was a fresh install of an Eclipse 4.5.2 profile, using Genuitec Secure Delivery Center, and the collaborator plugins installed have no clashes. It just seems to be the Guava jar that Collaborator is depending on that seems to be the problem.

      /Profile danijoh2$ find . -name "com.smartbear.collaborator*"
      ./features/com.smartbear.collaborator.base.feature_9.5.9501.001
      ./plugins/com.smartbear.collaborator.branding_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.ccrc_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.ccvs_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.clearcase_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.eclipseccase_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.git_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.ide_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.rtc.common_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.rtc.component_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.rtc_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.subclipse_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.subversive_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.ui.accurev_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.ui.git_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.ui.ide_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.ui.perforce_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.ui.subclipse_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.ui.subversive_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator.ui_9.5.9501.001.jar
      ./plugins/com.smartbear.collaborator_9.5.9501.001