Q7

Dependency to guava in Q7 Runtime

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Critical Critical
  • Resolution: Fixed
  • Affects Version/s: 1.3.3
  • Fix Version/s: 1.3.4
  • Component/s: Runtime
  • Labels:
    None
  • Test Mode:
    Manual

Description

One of our customers uses AUT with guava and guice. Since guava libraries have different versions, both of them are present in AUT. As a result, the following error happens:

java.lang.LinkageError: loader constraint violation: loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) previously initiated loading for a different type with name "com/google/common/collect/Multimap" 
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
    at java.lang.Class.getDeclaredMethods(Class.java:1791)
    at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:662)
    at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:356)
    at com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies(ConstructorBindingImpl.java:151)
    at com.google.inject.internal.InjectorImpl.getInternalDependencies(InjectorImpl.java:585)
    at com.google.inject.internal.InjectorImpl.cleanup(InjectorImpl.java:543)
    at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:529)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:847)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:772)
    at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:256)
    at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:205)
    at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:853)
    at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:46)
    at com.google.inject.internal.ProcessedBindingData.runCreationListeners(ProcessedBindingData.java:50)
    at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:133)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106)
    at com.google.inject.Guice.createInjector(Guice.java:95)
    at com.google.inject.Guice.createInjector(Guice.java:72)
    at com.google.inject.Guice.createInjector(Guice.java:62)
    at com.extol.ebi.sqlaccess.ui.xtext.internal.SqlAccessActivator.createInjector(SqlAccessActivator.java:67)

To avoid such errors in the future, it is better to get rid of guava in Q7 Runtime, as it must work with any AUT without any modifications.

Activity

There are no comments yet on this issue.

People

  • Assignee:
    komaz
    Reporter:
    komaz
Vote (0)
Watch (0)

Dates

  • Created:
    27/Jun/13 10:20 AM
    Updated:
    27/Jun/13 1:30 PM
    Resolved:
    27/Jun/13 1:30 PM