The issue was resolved after updating tomcat-oidauth library to the latest. Thank you Seretseab Kenaw
-----Original Message----- From: Thomas Hoffmann (Speed4Trade GmbH) <thomas.hoffm...@speed4trade.com.INVALID> Sent: Monday, June 27, 2022 9:44 AM To: Tomcat Users List <users@tomcat.apache.org> Subject: AW: Root Module Deployment Error Caution: This email message originated from outside of the organization. DO NOT CLICK on links or open attachments unless you recognize the sender and know the content is safe. If you think it is suspicious, please report as suspicious. Hello, > -----Ursprüngliche Nachricht----- > Von: Thomas Hoffmann (Speed4Trade GmbH) > <thomas.hoffm...@speed4trade.com.INVALID> > Gesendet: Montag, 27. Juni 2022 15:31 > An: Tomcat Users List <users@tomcat.apache.org> > Betreff: AW: Root Module Deployment Error > > Hello, > > > > -----Ursprüngliche Nachricht----- > > Von: Kenaw, Seretseab <seretseab.ke...@ecolab.com.INVALID> > > Gesendet: Montag, 27. Juni 2022 15:01 > > An: users@tomcat.apache.org > > Betreff: Root Module Deployment Error > > > > Hello, > > > > We just upgraded from Tomcat 9.0.12 to 9.0.62, and after the upgrade > > the new Tomcat version is throwing an error while deploying the ROOT > module. > > All the ROOT module has is a redirection to a specific page when the > > user tries to access the website. Here is the error message, any > > help is appreciated. > > SEVERE: Error deploying deployment descriptor [E:\EBX1\EBX > > Server\conf\Catalina\localhost\ROOT.xml] > > java.lang.IllegalStateException: Error starting child > > at > > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase. > > java > > :729) > > 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.j > > av > > a:69 > > 0) > > at > > org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConf > > ig > > .jav > > a:1889) > > at > > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Execut > > or > > s.ja > > va:515) > > at > java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > > at > > org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineE > > xe > > cuto > > rService.java:75) > > at > > java.base/java.util.concurrent.AbstractExecutorService.submit(Abstra > > ct > > Exec > > utorService.java:118) > > at > > org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig. > > ja > > va:5 > > 83) > > 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(LifecycleB > > as > > e.java:1 > > 23) > > 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.j > > av > > a: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 > > .j > > ava:1 > > 396) > > at > > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase > > .j > > ava:1 > > 386) > > at > java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > > at > > org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineE > > xe > > cuto > > rService.java:75) > > at > > java.base/java.util.concurrent.AbstractExecutorService.submit(Abstra > > ct > > Exec > > utorService.java:140) > > at > > org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.j > > av > > a:919 > > ) > > at > > org.apache.catalina.core.StandardEngine.startInternal(StandardEngine > > .j > > ava:2 > > 63) > > 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 > > .j > > ava:9 > > 27) > > 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(Nati > > ve > > Method) > > at > > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nativ > > eM > > et > > hodAccessorImpl.java:62) > > at > > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(D > > el > > ega > > tingMethodAccessorImpl.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) > > Caused by: org.apache.catalina.LifecycleException: Failed to start > > component > > > [OpenIDConnectAuthenticator[StandardEngine[Catalina].StandardHost[loca > > l > > host].StandardContext[]]] > > at > > org.apache.catalina.util.LifecycleBase.handleSubClassException(Lifec > > yc > > leBas > > e.java:440) > > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) > > at > > org.apache.catalina.core.StandardPipeline.startInternal(StandardPipe > > li > > ne.jav > > a:176) > > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > > at > > org.apache.catalina.core.StandardContext.startInternal(StandardConte > > xt > > .jav > > a:5147) > > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > > at > > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase. > > java > > :726) > > ... 37 more > > Caused by: java.lang.IllegalStateException: Impossible modulus [1] > > at > > org.apache.tomcat.util.codec.binary.Base64.decode(Base64.java:682) > > at > > > org.apache.tomcat.util.codec.binary.BaseNCodec.decode(BaseNCodec.java: > > 362) > > at > > > org.apache.tomcat.util.codec.binary.Base64.decodeBase64(Base64.java:15 > 7) > > at > > > org.apache.tomcat.util.codec.binary.Base64.decodeBase64(Base64.java:15 > 2) > > at > > > org.apache.tomcat.util.codec.binary.Base64.decodeInteger(Base64.java:1 > 89) > > at > > org.bsworks.catalina.authenticator.oidc.JWKSet.<init>(JWKSet.java:58) > > at > > org.bsworks.catalina.authenticator.oidc.OPConfiguration$1.parseDocum > > en > > t( > > OPConfiguration.java:63) > > at > > org.bsworks.catalina.authenticator.oidc.OPConfiguration$1.parseDocum > > en > > t( > > OPConfiguration.java:1) > > at > > org.bsworks.catalina.authenticator.oidc.ConfigProvider.loadDocument( > > Co > > nfi > > gProvider.java:146) > > at > > org.bsworks.catalina.authenticator.oidc.ConfigProvider.get(ConfigPro > > vi > > der.j > > ava:106) > > at > > org.bsworks.catalina.authenticator.oidc.OPConfiguration.<init>(OPCon > > fi > > gura > > tion.java:66) > > at > > org.bsworks.catalina.authenticator.oidc.OPConfigurationsProvider$1.p > > ar > > seD > > ocument(OPConfigurationsProvider.java:40) > > at > > org.bsworks.catalina.authenticator.oidc.OPConfigurationsProvider$1.p > > ar > > seD > > ocument(OPConfigurationsProvider.java:1) > > at > > org.bsworks.catalina.authenticator.oidc.ConfigProvider.loadDocument( > > Co > > nfi > > gProvider.java:146) > > at > > org.bsworks.catalina.authenticator.oidc.ConfigProvider.get(ConfigPro > > vi > > der.j > > ava:106) > > at > > org.bsworks.catalina.authenticator.oidc.OPConfigurationsProvider.get > > OP > > Con > > figuration(OPConfigurationsProvider.java:72) > > at > > org.bsworks.catalina.authenticator.oidc.BaseOpenIDConnectAuthenticat > > or > > .s > > tartInternal(BaseOpenIDConnectAuthenticator.java:765) > > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > > ... 42 more > > > > Thank you > > Seretseab Kenaw > > > > > according to the sources the modulus 1 is not supported and was not > supported: > https://urldefense.com/v3/__https://github.com/apache/tomcat/blob/9.0. > x/java/org/apache/tomcat/util__;!!Nkc5UzxO!sXmNkMQ7D-bZt7-9a3oO9btz41B > jRIgO-Q_sVUmBMPAeF_wlpABzQCNqqOm2KzpXEAUN8Kq3TS3AplYE-BLL9QwaPSqij7Mm1 > rTSHCUDUA$ > /codec/binary/Base64.java > Apache commons library can use the modulus of one. > > Did you use the tomcat.util package before or did you use another > package/library for decoding the byte[] Array? > How does the Byte array look like which you feed into decodeInteger(....) ? > > The relevant part of the stacktrace is: > > > org.apache.tomcat.util.codec.binary.Base64.decodeInteger(Base64.java:1 > 89) > > at > > org.bsworks.catalina.authenticator.oidc.JWKSet.<init>(JWKSet.java:58 > > ) > > Greetings, > Thomas > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org I just saw that there was a commit in August 2020 which removed the support for modulus of 1: https://urldefense.com/v3/__https://github.com/apache/tomcat/commit/aa6bfaee9917fd1082a0c28b8fb023e5c00175fa*diff-92c9bcab27b5c0ba09000edd6634149e69961284604086487b4931506867c743__;Iw!!Nkc5UzxO!sXmNkMQ7D-bZt7-9a3oO9btz41BjRIgO-Q_sVUmBMPAeF_wlpABzQCNqqOm2KzpXEAUN8Kq3TS3AplYE-BLL9QwaPSqij7Mm1rQxtLZ26g$ I can't tell why it was removed. Commons-codec still supports modulus of 1: https://urldefense.com/v3/__https://github.com/apache/commons-codec/blob/master/src/main/java/org/apache/commons/codec/binary/Base64.java__;!!Nkc5UzxO!sXmNkMQ7D-bZt7-9a3oO9btz41BjRIgO-Q_sVUmBMPAeF_wlpABzQCNqqOm2KzpXEAUN8Kq3TS3AplYE-BLL9QwaPSqij7Mm1rR46RMePw$ Maybe you can switch to commons-codec in the meantime. Greetings, Thomas --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org CONFIDENTIALITY NOTICE: This e-mail communication and any attachments may contain proprietary and privileged information for the use of the designated recipients named above. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org