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:
[email protected]


Reply via email to