You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jclouds.apache.org by Sebastian Messmer <he...@web.de> on 2014/06/28 17:39:06 UTC

java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast to com.google.common.reflect.TypeResolver$TypeVariableKey

Hello,

since we switched our application from using playframework 2.2.3 to
playframework 2.3.0 (which might include a lot of dependency changes
like guava), jclouds crashes.
I tried jclouds 1.7.2 and jclouds 1.7.3, both crash. We're using java
1.6.

The crash happens in the following code snippet:
  lazy val context = ContextBuilder.newBuilder("s3")
    .endpoint(server)
    .credentials(user, password)
    .buildView(classOf[BlobStoreContext])

Do you have any ideas how to solve this? The exception is appended:

Caused by: java.util.ServiceConfigurationError:
org.jclouds.providers.ProviderMetadata: Provider
org.jclouds.aws.s3.AWSS3ProviderMetadata could not be instantiated
	at java.util.ServiceLoader.fail(ServiceLoader.java:224)
	at java.util.ServiceLoader.access$100(ServiceLoader.java:181)
	at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:377)
	at java.util.ServiceLoader$1.next(ServiceLoader.java:445)
	at com.google.common.collect.ImmutableCollection
$Builder.addAll(ImmutableCollection.java:281)
	at com.google.common.collect.ImmutableCollection
$ArrayBasedBuilder.addAll(ImmutableCollection.java:360)
	at com.google.common.collect.ImmutableSet
$Builder.addAll(ImmutableSet.java:508)
	at org.jclouds.providers.Providers.all(Providers.java:84)
	at org.jclouds.providers.Providers.withId(Providers.java:101)
	at org.jclouds.ContextBuilder.newBuilder(ContextBuilder.java:166)
	at models.storage.S3Storage.context$lzycompute(S3Storage.scala:18)
	at models.storage.S3Storage.context(S3Storage.scala:18)
	at models.storage.S3Storage.blobStore$lzycompute(S3Storage.scala:23)
	at models.storage.S3Storage.blobStore(S3Storage.scala:23)
	at models.storage.S3Storage$S3Container.<init>(S3Storage.scala:28)
	at models.storage.S3Storage.container(S3Storage.scala:66)
	at models.projectimages.ProjectImageStorage
$.<init>(ProjectImageStorage.scala:13)
	at models.projectimages.ProjectImageStorage
$.<clinit>(ProjectImageStorage.scala)
	at views.html.helper.images.Size.url(ProjectImageHelper.scala:20)
	at views.html.user.index$$anonfun$apply
$1.apply(index.template.scala:142)
	at views.html.user.index$$anonfun$apply
$1.apply(index.template.scala:134)
	at scala.collection.TraversableLike$$anonfun$map
$1.apply(TraversableLike.scala:244)
	at scala.collection.TraversableLike$$anonfun$map
$1.apply(TraversableLike.scala:244)
	at scala.collection.immutable.List.foreach(List.scala:318)
	at scala.collection.TraversableLike
$class.map(TraversableLike.scala:244)
	at scala.collection.AbstractTraversable.map(Traversable.scala:105)
	at views.html.user.index$.apply(index.template.scala:134)
	at controllers.user.Main$$anonfun$index$1$$anonfun$apply$1$$anonfun
$apply$2$$anonfun$apply$3.apply(Main.scala:58)
	at controllers.user.Main$$anonfun$index$1$$anonfun$apply$1$$anonfun
$apply$2$$anonfun$apply$3.apply(Main.scala:54)
	at scala.util.Success$$anonfun$map$1.apply(Try.scala:206)
	at scala.util.Try$.apply(Try.scala:161)
	at scala.util.Success.map(Try.scala:206)
	... 15 more
Caused by: java.lang.IllegalStateException:
java.lang.reflect.InvocationTargetException
	at org.jclouds.util.TypeToken2.where(TypeToken2.java:61)
	at
org.jclouds.rest.internal.BaseRestApiMetadata.contextToken(BaseRestApiMetadata.java:60)
	at org.jclouds.rest.internal.BaseRestApiMetadata
$Builder.<init>(BaseRestApiMetadata.java:74)
	at org.jclouds.s3.S3ApiMetadata$Builder.<init>(S3ApiMetadata.java:102)
	at org.jclouds.aws.s3.AWSS3ApiMetadata
$Builder.<init>(AWSS3ApiMetadata.java:71)
	at org.jclouds.aws.s3.AWSS3ApiMetadata.<init>(AWSS3ApiMetadata.java:55)
	at org.jclouds.aws.s3.AWSS3ProviderMetadata
$Builder.<init>(AWSS3ProviderMetadata.java:84)
	at
org.jclouds.aws.s3.AWSS3ProviderMetadata.builder(AWSS3ProviderMetadata.java:47)
	at
org.jclouds.aws.s3.AWSS3ProviderMetadata.<init>(AWSS3ProviderMetadata.java:56)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
	at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
	at java.lang.Class.newInstance(Class.java:374)
	at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:373)
	... 44 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.google.common.reflect.Invokable
$MethodInvokable.invokeInternal(Invokable.java:197)
	at com.google.common.reflect.Invokable.invoke(Invokable.java:102)
	at org.jclouds.util.TypeToken2.where(TypeToken2.java:53)
	... 58 more
Caused by: java.lang.ClassCastException:
sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast
to com.google.common.reflect.TypeResolver$TypeVariableKey
	at com.google.common.reflect.TypeResolver
$TypeTable.where(TypeResolver.java:230)
	at com.google.common.reflect.TypeResolver.where(TypeResolver.java:98)
	... 65 more



Re: java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast to com.google.common.reflect.TypeResolver$TypeVariableKey

Posted by Andrew Phillips <an...@apache.org>.
> playframework 3.2.0 has guava 16.0.1 included I think.
>
> Using jclouds 1.8.0-SNAPSHOT solved the problem for us, so we're waiting
> for the final release now.

Glad to hear you've been able to find a temporary workaround at least...

Regards

ap

Re: java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast to com.google.common.reflect.TypeResolver$TypeVariableKey

Posted by Sebastian Messmer <he...@web.de>.
playframework 3.2.0 has guava 16.0.1 included I think.

Using jclouds 1.8.0-SNAPSHOT solved the problem for us, so we're waiting
for the final release now.

Am Sonntag, den 29.06.2014, 05:10 +0200 schrieb Andrew Phillips:
> >> I tried jclouds 1.7.2 and jclouds 1.7.3, both crash. We're using java
> >> 1.6.
> 
> Which version of Guava are you using in your application, out of  
> interest? 1.7.3 should work with Guava 15.x.
> 
> Regards
> 
> ap



Re: java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast to com.google.common.reflect.TypeResolver$TypeVariableKey

Posted by Andrew Phillips <an...@apache.org>.
>> I tried jclouds 1.7.2 and jclouds 1.7.3, both crash. We're using java
>> 1.6.

Which version of Guava are you using in your application, out of  
interest? 1.7.3 should work with Guava 15.x.

Regards

ap

Re: java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast to com.google.common.reflect.TypeResolver$TypeVariableKey

Posted by Sebastian Messmer <he...@web.de>.
ok, I found this other thread explaining the issue:
http://www.mail-archive.com/user@jclouds.apache.org/msg00779.html

Do you know, when 1.8.0 will be released? It blocks us from migrating to
playframework 2.3.0.

Thank you,
Sebastian

Am Samstag, den 28.06.2014, 08:39 -0700 schrieb Sebastian Messmer:
> Hello,
> 
> since we switched our application from using playframework 2.2.3 to
> playframework 2.3.0 (which might include a lot of dependency changes
> like guava), jclouds crashes.
> I tried jclouds 1.7.2 and jclouds 1.7.3, both crash. We're using java
> 1.6.
> 
> The crash happens in the following code snippet:
>   lazy val context = ContextBuilder.newBuilder("s3")
>     .endpoint(server)
>     .credentials(user, password)
>     .buildView(classOf[BlobStoreContext])
> 
> Do you have any ideas how to solve this? The exception is appended:
> 
> Caused by: java.util.ServiceConfigurationError:
> org.jclouds.providers.ProviderMetadata: Provider
> org.jclouds.aws.s3.AWSS3ProviderMetadata could not be instantiated
> 	at java.util.ServiceLoader.fail(ServiceLoader.java:224)
> 	at java.util.ServiceLoader.access$100(ServiceLoader.java:181)
> 	at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:377)
> 	at java.util.ServiceLoader$1.next(ServiceLoader.java:445)
> 	at com.google.common.collect.ImmutableCollection
> $Builder.addAll(ImmutableCollection.java:281)
> 	at com.google.common.collect.ImmutableCollection
> $ArrayBasedBuilder.addAll(ImmutableCollection.java:360)
> 	at com.google.common.collect.ImmutableSet
> $Builder.addAll(ImmutableSet.java:508)
> 	at org.jclouds.providers.Providers.all(Providers.java:84)
> 	at org.jclouds.providers.Providers.withId(Providers.java:101)
> 	at org.jclouds.ContextBuilder.newBuilder(ContextBuilder.java:166)
> 	at models.storage.S3Storage.context$lzycompute(S3Storage.scala:18)
> 	at models.storage.S3Storage.context(S3Storage.scala:18)
> 	at models.storage.S3Storage.blobStore$lzycompute(S3Storage.scala:23)
> 	at models.storage.S3Storage.blobStore(S3Storage.scala:23)
> 	at models.storage.S3Storage$S3Container.<init>(S3Storage.scala:28)
> 	at models.storage.S3Storage.container(S3Storage.scala:66)
> 	at models.projectimages.ProjectImageStorage
> $.<init>(ProjectImageStorage.scala:13)
> 	at models.projectimages.ProjectImageStorage
> $.<clinit>(ProjectImageStorage.scala)
> 	at views.html.helper.images.Size.url(ProjectImageHelper.scala:20)
> 	at views.html.user.index$$anonfun$apply
> $1.apply(index.template.scala:142)
> 	at views.html.user.index$$anonfun$apply
> $1.apply(index.template.scala:134)
> 	at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:244)
> 	at scala.collection.TraversableLike$$anonfun$map
> $1.apply(TraversableLike.scala:244)
> 	at scala.collection.immutable.List.foreach(List.scala:318)
> 	at scala.collection.TraversableLike
> $class.map(TraversableLike.scala:244)
> 	at scala.collection.AbstractTraversable.map(Traversable.scala:105)
> 	at views.html.user.index$.apply(index.template.scala:134)
> 	at controllers.user.Main$$anonfun$index$1$$anonfun$apply$1$$anonfun
> $apply$2$$anonfun$apply$3.apply(Main.scala:58)
> 	at controllers.user.Main$$anonfun$index$1$$anonfun$apply$1$$anonfun
> $apply$2$$anonfun$apply$3.apply(Main.scala:54)
> 	at scala.util.Success$$anonfun$map$1.apply(Try.scala:206)
> 	at scala.util.Try$.apply(Try.scala:161)
> 	at scala.util.Success.map(Try.scala:206)
> 	... 15 more
> Caused by: java.lang.IllegalStateException:
> java.lang.reflect.InvocationTargetException
> 	at org.jclouds.util.TypeToken2.where(TypeToken2.java:61)
> 	at
> org.jclouds.rest.internal.BaseRestApiMetadata.contextToken(BaseRestApiMetadata.java:60)
> 	at org.jclouds.rest.internal.BaseRestApiMetadata
> $Builder.<init>(BaseRestApiMetadata.java:74)
> 	at org.jclouds.s3.S3ApiMetadata$Builder.<init>(S3ApiMetadata.java:102)
> 	at org.jclouds.aws.s3.AWSS3ApiMetadata
> $Builder.<init>(AWSS3ApiMetadata.java:71)
> 	at org.jclouds.aws.s3.AWSS3ApiMetadata.<init>(AWSS3ApiMetadata.java:55)
> 	at org.jclouds.aws.s3.AWSS3ProviderMetadata
> $Builder.<init>(AWSS3ProviderMetadata.java:84)
> 	at
> org.jclouds.aws.s3.AWSS3ProviderMetadata.builder(AWSS3ProviderMetadata.java:47)
> 	at
> org.jclouds.aws.s3.AWSS3ProviderMetadata.<init>(AWSS3ProviderMetadata.java:56)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> 	at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> 	at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> 	at java.lang.Class.newInstance(Class.java:374)
> 	at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:373)
> 	... 44 more
> Caused by: java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	at com.google.common.reflect.Invokable
> $MethodInvokable.invokeInternal(Invokable.java:197)
> 	at com.google.common.reflect.Invokable.invoke(Invokable.java:102)
> 	at org.jclouds.util.TypeToken2.where(TypeToken2.java:53)
> 	... 58 more
> Caused by: java.lang.ClassCastException:
> sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast
> to com.google.common.reflect.TypeResolver$TypeVariableKey
> 	at com.google.common.reflect.TypeResolver
> $TypeTable.where(TypeResolver.java:230)
> 	at com.google.common.reflect.TypeResolver.where(TypeResolver.java:98)
> 	... 65 more
> 
>