I finally had a chance to switch the customer back to the failing Tomcat 8.5.68, and this is what the browser error page shows (with a 500 error):

Type Exception Report

Message AuthConfigFactory error: java.lang.reflect.InvocationTargetException

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

java.lang.SecurityException: AuthConfigFactory error: java.lang.reflect.InvocationTargetException
        
javax.security.auth.message.config.AuthConfigFactory.getFactory(AuthConfigFactory.java:85)
        
org.apache.catalina.authenticator.AuthenticatorBase.findJaspicProvider(AuthenticatorBase.java:1421)
        
org.apache.catalina.authenticator.AuthenticatorBase.getJaspicProvider(AuthenticatorBase.java:1411)
        
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:535)
        
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)
        
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364)
        
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:624)
        
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)
        
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1651)
        
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160)
        
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.lang.Thread.run(Thread.java:811)
Root Cause

java.lang.reflect.InvocationTargetException
        sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:83)
        
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:57)
        java.lang.reflect.Constructor.newInstance(Constructor.java:437)
        
javax.security.auth.message.config.AuthConfigFactory$1.run(AuthConfigFactory.java:76)
        
javax.security.auth.message.config.AuthConfigFactory$1.run(AuthConfigFactory.java:67)
        java.security.AccessController.doPrivileged(AccessController.java:696)
        
javax.security.auth.message.config.AuthConfigFactory.getFactory(AuthConfigFactory.java:66)
        
org.apache.catalina.authenticator.AuthenticatorBase.findJaspicProvider(AuthenticatorBase.java:1421)
        
org.apache.catalina.authenticator.AuthenticatorBase.getJaspicProvider(AuthenticatorBase.java:1411)
        
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:535)
        
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)
        
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364)
        
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:624)
        
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)
        
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1651)
        
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160)
        
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.lang.Thread.run(Thread.java:811)
Root Cause

java.lang.SecurityException: org.xml.sax.SAXNotRecognizedException: Feature: http://apache.org/xml/features/allow-java-encodings
        
org.apache.catalina.authenticator.jaspic.PersistentProviderRegistrations.loadProviders(PersistentProviderRegistrations.java:65)
        
org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl.loadPersistentRegistrations(AuthConfigFactoryImpl.java:345)
        
org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl.<init>(AuthConfigFactoryImpl.java:68)
        sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:83)
        
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:57)
        java.lang.reflect.Constructor.newInstance(Constructor.java:437)
        
javax.security.auth.message.config.AuthConfigFactory$1.run(AuthConfigFactory.java:76)
        
javax.security.auth.message.config.AuthConfigFactory$1.run(AuthConfigFactory.java:67)
        java.security.AccessController.doPrivileged(AccessController.java:696)
        
javax.security.auth.message.config.AuthConfigFactory.getFactory(AuthConfigFactory.java:66)
        
org.apache.catalina.authenticator.AuthenticatorBase.findJaspicProvider(AuthenticatorBase.java:1421)
        
org.apache.catalina.authenticator.AuthenticatorBase.getJaspicProvider(AuthenticatorBase.java:1411)
        
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:535)
        
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)
        
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364)
        
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:624)
        
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)
        
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1651)
        
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160)
        
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.lang.Thread.run(Thread.java:811)
Root Cause

org.xml.sax.SAXNotRecognizedException: Feature: http://apache.org/xml/features/allow-java-encodings
        
org.apache.crimson.parser.XMLReaderImpl.setFeature(XMLReaderImpl.java:213)
        
org.apache.crimson.jaxp.SAXParserImpl.setFeatures(SAXParserImpl.java:143)
        org.apache.crimson.jaxp.SAXParserImpl.<init>(SAXParserImpl.java:126)
        
org.apache.crimson.jaxp.SAXParserFactoryImpl.newSAXParserImpl(SAXParserFactoryImpl.java:113)
        
org.apache.crimson.jaxp.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:141)
        org.apache.tomcat.util.digester.Digester.setFeature(Digester.java:526)
        
org.apache.catalina.authenticator.jaspic.PersistentProviderRegistrations.loadProviders(PersistentProviderRegistrations.java:61)
        
org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl.loadPersistentRegistrations(AuthConfigFactoryImpl.java:345)
        
org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl.<init>(AuthConfigFactoryImpl.java:68)
        sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:83)
        
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:57)
        java.lang.reflect.Constructor.newInstance(Constructor.java:437)
        
javax.security.auth.message.config.AuthConfigFactory$1.run(AuthConfigFactory.java:76)
        
javax.security.auth.message.config.AuthConfigFactory$1.run(AuthConfigFactory.java:67)
        java.security.AccessController.doPrivileged(AccessController.java:696)
        
javax.security.auth.message.config.AuthConfigFactory.getFactory(AuthConfigFactory.java:66)
        
org.apache.catalina.authenticator.AuthenticatorBase.findJaspicProvider(AuthenticatorBase.java:1421)
        
org.apache.catalina.authenticator.AuthenticatorBase.getJaspicProvider(AuthenticatorBase.java:1411)
        
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:535)
        
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)
        
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364)
        
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:624)
        
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)
        
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1651)
        
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160)
        
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.lang.Thread.run(Thread.java:811)
Note The full stack trace of the root cause is available in the server logs.

I will note that the *second* SAXNotRecognizedException stack trace starts out exactly like the one in catalina.out, but diverges after Digester.java:526. The first three stacktraces on the error page look completely different.

The first stacktrace on the error page looks similar to one in localhost.2021-08-05.log, timestamped when I attempted to access manager:

05-Aug-2021 17:05:52.697 SEVERE [https-jsse-nio-443-exec-10] org.apache.catalina.core.StandardHostValve.invoke Exception Processing /manager/ java.lang.SecurityException: AuthConfigFactory error: java.lang.reflect.InvocationTargetException at javax.security.auth.message.config.AuthConfigFactory.getFactory(AuthConfigFactory.java:85)
. . .

localhost_access_log.2021-08-05.txt shows (IP address redacted):
[05/Aug/2021:17:05:52 -0500] "GET /manager HTTP/1.1" 302 -
[05/Aug/2021:17:05:52 -0500] "GET /manager/ HTTP/1.1" 500 9663

and the manager log shows nothing at all.

And to reiterate, the very same JVM has no difficulty at all running Tomcat 7.0.93.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to