You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@guacamole.apache.org by GitBox <gi...@apache.org> on 2021/04/26 23:38:21 UTC

[GitHub] [guacamole-client] necouchman commented on pull request #606: GUACAMOLE-773: Update all Java dependencies to latest available stable versions.

necouchman commented on pull request #606:
URL: https://github.com/apache/guacamole-client/pull/606#issuecomment-827208271


   Well, off the bat seeing this in the RADIUS module as soon as I try to access the Guacamole logon page:
   
   ```
   19:34:30.103 [http-nio-8080-exec-191] WARN  o.a.g.e.AuthenticationProviderFacade - The "radius" authentication provider has encountered an internal error which will halt the authentication process. If this is unexpected or you are the developer of this authentication provider, you may wish to enable debug-level logging. If this is expected and you wish to ignore such failures in the future, please set "skip-if-unavailable: radius" within your guacamole.properties.
   19:34:30.144 [http-nio-8080-exec-191] ERROR o.a.g.rest.RESTExceptionMapper - Unexpected internal error: Unable to provision, see the following errors:
   
   1) [Guice/ErrorInjectingConstructor]: LinkageError: loader constraint violation: when resolving method "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;" the class loader (instance of org/apache/guacamole/extension/ExtensionClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader (instance of org/apache/catalina/loader/ParallelWebappClassLoader) for the method's defining class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type org/slf4j/ILoggerFactory used in the signature
     at AuthenticationProviderService.<init>(AuthenticationProviderService.java:51)
     while locating AuthenticationProviderService
   
   Learn more:
     https://github.com/google/guice/wiki/ERROR_INJECTING_CONSTRUCTOR
   1 error
   
   ======================
   Full classname legend:
   ======================
   AuthenticationProviderService: "org.apache.guacamole.auth.radius.AuthenticationProviderService"
   ========================
   End of classname legend:
   ========================
   
   19:34:30.146 [http-nio-8080-exec-191] DEBUG o.a.g.rest.RESTExceptionMapper - Unexpected error in REST endpoint.
   com.google.inject.ProvisionException: Unable to provision, see the following errors:
   
   1) [Guice/ErrorInjectingConstructor]: LinkageError: loader constraint violation: when resolving method "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;" the class loader (instance of org/apache/guacamole/extension/ExtensionClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader (instance of org/apache/catalina/loader/ParallelWebappClassLoader) for the method's defining class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type org/slf4j/ILoggerFactory used in the signature
     at AuthenticationProviderService.<init>(AuthenticationProviderService.java:51)
     while locating AuthenticationProviderService
   
   Learn more:
     https://github.com/google/guice/wiki/ERROR_INJECTING_CONSTRUCTOR
   
   1 error
   
   ======================
   Full classname legend:
   ======================
   AuthenticationProviderService: "org.apache.guacamole.auth.radius.AuthenticationProviderService"
   ========================
   End of classname legend:
   ========================
   
   	at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:251)
   	at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1103)
   	at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1138)
   	at org.apache.guacamole.auth.radius.RadiusAuthenticationProvider.authenticateUser(RadiusAuthenticationProvider.java:68)
   	at org.apache.guacamole.extension.AuthenticationProviderFacade.authenticateUser(AuthenticationProviderFacade.java:190)
   	at org.apache.guacamole.rest.auth.AuthenticationService.authenticateUser(AuthenticationService.java:174)
   	at org.apache.guacamole.rest.auth.AuthenticationService.getAuthenticatedUser(AuthenticationService.java:300)
   	at org.apache.guacamole.rest.auth.AuthenticationService.authenticate(AuthenticationService.java:453)
   	at org.apache.guacamole.rest.auth.TokenRESTService.createToken(TokenRESTService.java:174)
   	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.lang.reflect.Method.invoke(Method.java:498)
   	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
   	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
   	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
   	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
   	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
   ...
   Caused by: java.lang.LinkageError: loader constraint violation: when resolving method "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;" the class loader (instance of org/apache/guacamole/extension/ExtensionClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader (instance of org/apache/catalina/loader/ParallelWebappClassLoader) for the method's defining class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type org/slf4j/ILoggerFactory used in the signature
   	at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:423)
   	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:362)
   	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388)
   	at org.apache.guacamole.auth.radius.AuthenticationProviderService.<init>(AuthenticationProviderService.java:56)
   	at org.apache.guacamole.auth.radius.AuthenticationProviderService$$FastClassByGuice$$3893118.GUICE$TRAMPOLINE(<generated>)
   	at org.apache.guacamole.auth.radius.AuthenticationProviderService$$FastClassByGuice$$3893118.apply(<generated>)
   	at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:82)
   	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
   	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
   	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:296)
   	at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1100)
   	... 60 common frames omitted
   ```
   
   I seem to recall having this issue before with the RADIUS module - seems like one of the `jradius` dependencies pulls in a different version of SLF4J if you don't specify the `provided` tag for that dependency in the `pom.xml` file.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org