Auth Server fails to start (conflicting servlet-api versions?)
Description
Release Notes
None
Activity
Show:
Gary Helmling November 3, 2014 at 10:21 PM
Same issue as described and fixed in CDAP-478.
Gary Helmling November 3, 2014 at 10:21 PM
Yes, beaming the release/2.5.0 branch fixed this. I'll close this issue as a dupe. Maybe a message to the dev list would be useful as a heads up?
Is this change merged to develop? If not, can we please update develop with the latest release changes?
Alvin Wang November 3, 2014 at 9:35 PM
Alvin Wang November 3, 2014 at 9:32 PM
https://github.com/caskdata/cdap/pull/556 should have fixed it. I tested by beaming and it worked. Can you try beaming release/2.5.0 branch?
Terence Yim November 3, 2014 at 9:28 PM
I believe the https://github.com/caskdata/cdap/pull/556 fix is related to this. Can you check with @Alvin Wang for details?
Duplicate
Pinned fields
Click on the next to a field label to start pinning.
Created November 3, 2014 at 9:03 PM
Updated March 27, 2015 at 7:30 PM
Resolved November 3, 2014 at 10:22 PM
In a newly provisioned CDAP singlenode cluster, the Auth Server fails to start with the following error in logs:
Exception in thread "main" com.google.inject.ProvisionException: Guice provision errors: 1) Error in custom provider, java.lang.RuntimeException: java.lang.SecurityException: class "javax.servlet.HttpConstraintElement"'s signer information does not match signer information of other classes in the same package at co.cask.cdap.security.guice.SecurityModule.provideHandlerClass(SecurityModule.java:57) while locating java.lang.Class<? extends org.eclipse.jetty.server.Handler> for parameter 1 at co.cask.cdap.security.guice.SecurityModule$AuthenticationHandlerProvider.<init>(SecurityModule.java:103) while locating co.cask.cdap.security.guice.SecurityModule$AuthenticationHandlerProvider while locating java.lang.Object annotated with @com.google.inject.multibindings.Element(setName=@com.google.inject.name.Named(value=security.handlers.map),uniqueId=1) at co.cask.cdap.security.guice.SecurityModule.configure(SecurityModule.java:72) while locating java.util.Map<java.lang.String, java.lang.Object> annotated with @com.google.inject.name.Named(value=security.handlers.map) for parameter 0 at co.cask.cdap.security.guice.SecurityModule$AuthenticationHandlerMapProvider.<init>(SecurityModule.java:124) while locating co.cask.cdap.security.guice.SecurityModule$AuthenticationHandlerMapProvider at co.cask.cdap.security.guice.SecurityModule.configure(SecurityModule.java:84) while locating java.util.Map<java.lang.String, java.lang.Object> annotated with @com.google.inject.name.Named(value=security.handlers) for parameter 3 at co.cask.cdap.security.server.ExternalAuthenticationServer.<init>(ExternalAuthenticationServer.java:92) at co.cask.cdap.security.guice.SecurityModule.configure(SecurityModule.java:70) while locating co.cask.cdap.security.server.ExternalAuthenticationServer 1 error at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987) at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013) at co.cask.cdap.security.runtime.AuthenticationServerMain.init(AuthenticationServerMain.java:59) at co.cask.cdap.common.runtime.DaemonMain.doMain(DaemonMain.java:55) at co.cask.cdap.security.runtime.AuthenticationServerMain.main(AuthenticationServerMain.java:97) Caused by: java.lang.RuntimeException: java.lang.SecurityException: class "javax.servlet.HttpConstraintElement"'s signer information does not match signer information of other classes in the same package at co.cask.cdap.common.conf.Configuration.getClass(Configuration.java:1396) at co.cask.cdap.security.guice.SecurityModule.provideHandlerClass(SecurityModule.java:100) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84) at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:53) at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974) at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:89) at com.google.inject.multibindings.MapBinder$RealMapBinder$2.get(MapBinder.java:387) at com.google.inject.multibindings.MapBinder$RealMapBinder$2.get(MapBinder.java:383) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84) at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:53) at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) at com.google.inject.Scopes$1$1.get(Scopes.java:65) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84) at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) at com.google.inject.Scopes$1$1.get(Scopes.java:65) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) at com.google.inject.internal.ExposedKeyFactory.get(ExposedKeyFactory.java:54) at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024) at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974) ... 4 more Caused by: java.lang.SecurityException: class "javax.servlet.HttpConstraintElement"'s signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(ClassLoader.java:806) at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:625) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:249) at co.cask.cdap.common.conf.Configuration.getClassByNameOrNull(Configuration.java:1300) at co.cask.cdap.common.conf.Configuration.getClassByName(Configuration.java:1270) at co.cask.cdap.common.conf.Configuration.getClass(Configuration.java:1361) at co.cask.cdap.common.conf.Configuration.getClass(Configuration.java:1387) ... 46 more