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]