Tomcat errors after upgrade to Shibboleth 4.2.1

Athanasios Plessas aplessas at upatras.gr
Wed Jun 15 06:34:13 UTC 2022


Hello all!

We are running Shibboleth 4.2.1 with Apache, JAVA 11 and Tomcat 9. 
Shibboleth was recently upgraded from version 3.4.8, following the 
upgrade path: 3.4.8 -> 4.0.1 -> 4.2.1. When Tomcat starts, we see the 
following errors in catalina.out:

14:35:29.163 [main] DEBUG 
org.springframework.context.annotation.ConfigurationClassUtils - Could 
not find class file for introspecting configuration annotations: 
%{idp.service.logging.class:net.shibboleth.idp.log.LogbackLoggingService}
java.io.FileNotFoundException: class path resource 
[%{idp/service/logging/class:net/shibboleth/idp/log/LogbackLoggingService}.class] 
cannot be opened because it does not exist
         at 
org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:199)
         at 
org.springframework.core.type.classreading.SimpleMetadataReader.getClassReader(SimpleMetadataReader.java:55)
         at 
org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:49)
         at 
org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:103)
         at 
org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:123)
         at 
org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:81)
         at 
org.springframework.context.annotation.ConfigurationClassUtils.checkConfigurationClassCandidate(ConfigurationClassUtils.java:113)
         at 
org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:287)
         at 
org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247)
         at 
org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311)
         at 
org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112)
         at 
org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746)
         at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564)
         at 
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401)
         at 
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292)
         at 
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
         at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768)
         at 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
         at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)
         at 
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
         at 
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:690)
         at 
org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889)
         at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
         at 
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
         at 
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
         at 
java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
         at 
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:583)
         at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)
         at 
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618)
         at 
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
         at 
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
         at 
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
         at 
org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
         at 
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946)
         at 
org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
         at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
         at 
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
         at 
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
         at 
java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
         at 
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
         at 
org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at 
org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at 
org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
         at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
         at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.base/java.lang.reflect.Method.invoke(Method.java:566)
         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)

14:35:29.175 [main] DEBUG 
org.springframework.context.annotation.ConfigurationClassUtils - Could 
not find class file for introspecting configuration annotations: 
%{idp.cas.serviceRegistryClass:net.shibboleth.idp.cas.service.PatternServiceRegistry}
java.io.FileNotFoundException: class path resource 
[%{idp/cas/serviceRegistryClass:net/shibboleth/idp/cas/service/PatternServiceRegistry}.class] 
cannot be opened because it does not exist
         at 
org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:199)
         at 
org.springframework.core.type.classreading.SimpleMetadataReader.getClassReader(SimpleMetadataReader.java:55)
         at 
org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:49)
         at 
org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:103)
         at 
org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:123)
         at 
org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:81)
         at 
org.springframework.context.annotation.ConfigurationClassUtils.checkConfigurationClassCandidate(ConfigurationClassUtils.java:113)
         at 
org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:287)
         at 
org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247)
         at 
org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311)
         at 
org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112)
         at 
org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746)
         at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564)
         at 
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401)
         at 
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292)
         at 
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
         at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768)
         at 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
         at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)
         at 
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
         at 
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:690)
         at 
org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889)
         at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
         at 
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
         at 
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
         at 
java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
         at 
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:583)
         at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)
         at 
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618)
         at 
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
         at 
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
         at 
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
         at 
org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
         at 
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946)
         at 
org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
         at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
         at 
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
         at 
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
         at 
java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
         at 
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
         at 
org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at 
org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at 
org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
         at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
         at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.base/java.lang.reflect.Method.invoke(Method.java:566)
         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)

14:35:29.202 [main] DEBUG 
org.springframework.context.annotation.ConfigurationClassUtils - Could 
not find class file for introspecting configuration annotations: 
%{idp.storage.StorageService:org.opensaml.storage.impl.MemoryStorageService}
java.io.FileNotFoundException: class path resource 
[%{idp/storage/StorageService:org/opensaml/storage/impl/MemoryStorageService}.class] 
cannot be opened because it does not exist
         at 
org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:199)
         at 
org.springframework.core.type.classreading.SimpleMetadataReader.getClassReader(SimpleMetadataReader.java:55)
         at 
org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:49)
         at 
org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:103)
         at 
org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:123)
         at 
org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:81)
         at 
org.springframework.context.annotation.ConfigurationClassUtils.checkConfigurationClassCandidate(ConfigurationClassUtils.java:113)
         at 
org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:287)
         at 
org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247)
         at 
org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311)
         at 
org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112)
         at 
org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746)
         at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564)
         at 
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401)
         at 
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292)
         at 
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
         at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768)
         at 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
         at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)
         at 
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
         at 
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:690)
         at 
org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889)
         at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
         at 
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
         at 
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
         at 
java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
         at 
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:583)
         at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)
         at 
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618)
         at 
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
         at 
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
         at 
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
         at 
org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
         at 
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946)
         at 
org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
         at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
         at 
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
         at 
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
         at 
java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
         at 
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
         at 
org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at 
org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at 
org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
         at 
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
         at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
         at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
         at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.base/java.lang.reflect.Method.invoke(Method.java:566)
         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)

We think that these errors appeared after upgrading from 4.0.1 to 4.2.1. 
Moreover, in the log file there are many lines like the following:

14:35:29.251 [main] DEBUG org.springframework.jndi.JndiTemplate - 
Looking up JNDI object with name [idp.errors.defaultView]
14:35:29.251 [main] DEBUG org.springframework.jndi.JndiPropertySource - 
JNDI lookup for name [idp.errors.defaultView] threw NamingException with 
message: Name [idp.errors.defaultView] is not bound in this Context. 
Unable to find [idp.errors.defaultView].. Returning null.
14:35:29.252 [main] DEBUG org.springframework.jndi.JndiTemplate - 
Looking up JNDI object with name [java:comp/env/idp.audit.salt]
14:35:29.252 [main] DEBUG org.springframework.jndi.JndiLocatorDelegate - 
Converted JNDI name [java:comp/env/idp.audit.salt] not found - trying 
original name [idp.audit.salt]. javax.naming.NameNotFoundException: Name 
[idp.audit.salt] is not bound in this Context. Unable to find 
[idp.audit.salt].
14:35:29.252 [main] DEBUG org.springframework.jndi.JndiTemplate - 
Looking up JNDI object with name [idp.audit.salt]
14:35:29.252 [main] DEBUG org.springframework.jndi.JndiPropertySource - 
JNDI lookup for name [idp.audit.salt] threw NamingException with 
message: Name [idp.audit.salt] is not bound in this Context. Unable to 
find [idp.audit.salt].. Returning null.
14:35:29.252 [main] DEBUG org.springframework.jndi.JndiTemplate - 
Looking up JNDI object with name [java:comp/env/idp.fticks.salt]
14:35:29.252 [main] DEBUG org.springframework.jndi.JndiLocatorDelegate - 
Converted JNDI name [java:comp/env/idp.fticks.salt] not found - trying 
original name [idp.fticks.salt]. javax.naming.NameNotFoundException: 
Name [idp.fticks.salt] is not bound in this Context. Unable to find 
[idp.fticks.salt].
14:35:29.252 [main] DEBUG org.springframework.jndi.JndiTemplate - 
Looking up JNDI object with name [idp.fticks.salt]
14:35:29.252 [main] DEBUG org.springframework.jndi.JndiPropertySource - 
JNDI lookup for name [idp.fticks.salt] threw NamingException with 
message: Name [idp.fticks.salt] is not bound in this Context. Unable to 
find [idp.fticks.salt].. Returning null.
14:35:29.252 [main] DEBUG org.springframework.jndi.JndiTemplate - 
Looking up JNDI object with name [java:comp/env/idp.audit.hashAlgorithm]
14:35:29.252 [main] DEBUG org.springframework.jndi.JndiLocatorDelegate - 
Converted JNDI name [java:comp/env/idp.audit.hashAlgorithm] not found - 
trying original name [idp.audit.hashAlgorithm]. 
javax.naming.NameNotFoundException: Name [idp.audit.hashAlgorithm] is 
not bound in this Context. Unable to find [idp.audit.hashAlgorithm].

As far as I know we do not use JNDI in our configuration files.

Any ideas on the above issues are welcomed.

Thank you in advance,

A. Plessas



More information about the users mailing list