Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scoold 1.42.1 : Guice/ErrorInjectionConstructor #225

Closed
flavienbwk opened this issue Mar 29, 2021 · 2 comments
Closed

Scoold 1.42.1 : Guice/ErrorInjectionConstructor #225

flavienbwk opened this issue Mar 29, 2021 · 2 comments

Comments

@flavienbwk
Copy link

Hi,

Previously on Scoold 1.40.0, I tried upgrading to 1.42.1 (Docker image :latest) and got the following error :

para_1    | Exception in thread "main" java.lang.reflect.InvocationTargetException
para_1    | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
para_1    | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
para_1    | 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
para_1    | 	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
para_1    | 	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
para_1    | 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:107)
para_1    | 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
para_1    | 	at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467)
para_1    | Caused by: com.google.inject.CreationException: Unable to create injector, see the following errors:
para_1    | 
para_1    | 1) [Guice/ErrorInjectingConstructor]: SdkClientException: Unable to load region from any of the providers in the chain DefaultAwsRegionProviderChain@2d901eb0: [SystemSettingsRegionProvider@ffaa6af: Unable to load region from system settings. Region must be specified either via environment variable (AWS_REGION) or  system property (aws.region)., AwsProfileRegionProvider@23c30a20: No region provided in profile: default, InstanceProfileRegionProvider@35dab4eb: Unable to contact EC2 metadata service.]
para_1    |   at AWSFileStore.<init>(AWSFileStore.java:50)
para_1    |   while locating AWSFileStore
para_1    |   at StorageModule.configure(StorageModule.java:38)
para_1    |   while locating FileStore
para_1    | 
para_1    | Learn more:
para_1    |   https://github.com/google/guice/wiki/ERROR_INJECTING_CONSTRUCTOR
para_1    | 
para_1    | 1 error
para_1    | 
para_1    | ======================
para_1    | Full classname legend:
para_1    | ======================
para_1    | AWSFileStore:                  "com.erudika.para.storage.AWSFileStore"
para_1    | AwsProfileRegionProvider:      "software.amazon.awssdk.regions.providers.AwsProfileRegionProvider"
para_1    | DefaultAwsRegionProviderChain: "software.amazon.awssdk.regions.providers.DefaultAwsRegionProviderChain"
para_1    | FileStore:                     "com.erudika.para.storage.FileStore"
para_1    | InstanceProfileRegionProvider: "software.amazon.awssdk.regions.providers.InstanceProfileRegionProvider"
para_1    | SdkClientException:            "software.amazon.awssdk.core.exception.SdkClientException"
para_1    | StorageModule:                 "com.erudika.para.storage.StorageModule"
para_1    | SystemSettingsRegionProvider:  "software.amazon.awssdk.regions.providers.SystemSettingsRegionProvider"
para_1    | ========================
para_1    | End of classname legend:
para_1    | ========================
para_1    | 
para_1    | 	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:557)
para_1    | 	at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:190)
para_1    | 	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:113)
para_1    | 	at com.google.inject.Guice.createInjector(Guice.java:87)
para_1    | 	at com.erudika.para.ParaServer.initialize(ParaServer.java:146)
para_1    | 	at com.erudika.para.ParaServer.runAsJAR(ParaServer.java:448)
para_1    | 	at com.erudika.para.ParaServer.main(ParaServer.java:457)
para_1    | 	at com.erudika.para.Run.main(Run.java:26)
para_1    | 	... 8 more
para_1    | Caused by: software.amazon.awssdk.core.exception.SdkClientException: Unable to load region from any of the providers in the chain software.amazon.awssdk.regions.providers.DefaultAwsRegionProviderChain@2d901eb0: [software.amazon.awssdk.regions.providers.SystemSettingsRegionProvider@ffaa6af: Unable to load region from system settings. Region must be specified either via environment variable (AWS_REGION) or  system property (aws.region)., software.amazon.awssdk.regions.providers.AwsProfileRegionProvider@23c30a20: No region provided in profile: default, software.amazon.awssdk.regions.providers.InstanceProfileRegionProvider@35dab4eb: Unable to contact EC2 metadata service.]
para_1    | 	at software.amazon.awssdk.core.exception.SdkClientException$BuilderImpl.build(SdkClientException.java:98)
para_1    | 	at software.amazon.awssdk.regions.providers.AwsRegionProviderChain.getRegion(AwsRegionProviderChain.java:70)
para_1    | 	at com.erudika.para.storage.AWSFileStore.<init>(AWSFileStore.java:51)
para_1    | 	at com.erudika.para.storage.AWSFileStore$$FastClassByGuice$$10739572.GUICE$TRAMPOLINE(<generated>)
para_1    | 	at com.erudika.para.storage.AWSFileStore$$FastClassByGuice$$10739572.apply(<generated>)
para_1    | 	at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:82)
para_1    | 	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
para_1    | 	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
para_1    | 	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:296)
para_1    | 	at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
para_1    | 	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
para_1    | 	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
para_1    | 	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
para_1    | 	at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:213)
para_1    | 	at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:186)
para_1    | 	... 14 more
para_1    | Exception in thread "main" java.lang.reflect.InvocationTargetException
para_1    | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
para_1    | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
para_1    | 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
para_1    | 	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
para_1    | 	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
para_1    | 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:107)
para_1    | 	at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
para_1    | 	at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467)

I am using self-managed and I didn't configure anything for AWS as I don't use it.

Thanks for your help,

@albogdano
Copy link
Member

It's always a good idea to pull tagged images on Docker, like :1.42.1 or :latest_stable, because the :latest can be unstable or broken. This is now fixed.

@flavienbwk
Copy link
Author

flavienbwk commented Mar 29, 2021

Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants