You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Mark Thomas <ma...@apache.org> on 2023/08/03 19:08:42 UTC
Re: 回覆: Persist function in host manager working in 9.0.60 but not 10.1.x
This has been fixed (by Rémy) for the August release round.
Mark
On 27/07/2023 01:41, Fong Mason wrote:
> Hi Chris,
>
> ________________________________
> 寄件者: Christopher Schultz <ch...@christopherschultz.net>
> 寄件日期: 2023年7月27日 0:35
> 收件者: users@tomcat.apache.org <us...@tomcat.apache.org>
> 主旨: Re: Persist function in host manager working in 9.0.60 but not 10.1.x
>
> Mason,
>
> On 7/24/23 20:39, Fong Mason wrote:
>> Last month I setup a new Tomcat instance (10.1.9) since I want to have a try of Spring 6.x. Everything was working fine until I need to add a new virtual host. I had followed the instructions in https://tomcat.apache.org/tomcat-10.1-doc/host-manager-howto.html to add a new Listener in server.xml. After I added a new virtual host and pressed “All” under persist configuration, the GUI said “OK - Configuration persisted” but actually the config is not persisted. I checked the log and found the following error:
>> org.apache.catalina.storeconfig.StoreConfig.store Error storing server
>> java.lang.NoSuchMethodExeption: org.apache.catalina.realm.CombinedRealm$CombinedRealmCredentialHandler.<init>()
>>
>> I tried to upgrade to 10.1.11 but the same problem exists, the same also happened for 9.0.78.
>>
>> Then I downloaded 9.0.60 to try as I have another server running it and the persist function is working there. This time everything worked as expected. I tried to look at the source code of 9.0.60 and seems there is no ComibinedRealmCredentialHandler subclass in 9.0.60 but only in later versions. I am not sure if this is the cause of the problem though.
>>
>> Any suggestion to make persist function work in host manager to work in 10.x? Many thanks.
>>
>> Please find my environment for your reference
>> OS: Ubuntu Server 20.04.6 LTS
>> Tomcat: 9.0.78/10.1.9/10.1.11
>> JVM: 17.0.7 (17.0.7.+7-Ubuntu-0ubuntu120.04), this is a package provided by Ubuntu
>
> It looks like this is a problem with any use of the
> CombinedRealmCredentialHander: that class isn't effectively Serializable
> because the class is private.
>
> Can you post the full stack trace?
>
> -chris
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
>
> Thanks for your response, please find the full stack trace found in the log of 10.1.11 as follow: (the ones for 9.0.78 and 10.1.9 are basically the same so I don't post them here)
>
> 25-Jul-2023 02:47:10.537 SEVERE [http-nio-8080-exec-5] org.apache.catalina.storeconfig.StoreConfig.store Error storing server
> java.lang.NoSuchMethodException: org.apache.catalina.realm.CombinedRealm$CombinedRealmCredentialHandler.<init>()
> at java.base/java.lang.Class.getConstructor0(Class.java:3585)
> at java.base/java.lang.Class.getConstructor(Class.java:2271)
> at org.apache.catalina.storeconfig.StoreAppender.defaultInstance(StoreAppender.java:334)
> at org.apache.catalina.storeconfig.StoreAppender.printAttributes(StoreAppender.java:233)
> at org.apache.catalina.storeconfig.StoreAppender.printAttributes(StoreAppender.java:195)
> at org.apache.catalina.storeconfig.StoreAppender.printOpenTag(StoreAppender.java:74)
> at org.apache.catalina.storeconfig.StoreFactoryBase.store(StoreFactoryBase.java:127)
> at org.apache.catalina.storeconfig.CredentialHandlerSF.store(CredentialHandlerSF.java:58)
> at org.apache.catalina.storeconfig.StoreFactoryBase.storeElement(StoreFactoryBase.java:171)
> at org.apache.catalina.storeconfig.RealmSF.storeChildren(RealmSF.java:89)
> at org.apache.catalina.storeconfig.RealmSF.store(RealmSF.java:49)
> at org.apache.catalina.storeconfig.StoreFactoryBase.storeElement(StoreFactoryBase.java:171)
> at org.apache.catalina.storeconfig.StandardEngineSF.storeChildren(StandardEngineSF.java:66)
> at org.apache.catalina.storeconfig.StoreFactoryBase.store(StoreFactoryBase.java:129)
> at org.apache.catalina.storeconfig.StandardServiceSF.storeChildren(StandardServiceSF.java:63)
> at org.apache.catalina.storeconfig.StoreFactoryBase.store(StoreFactoryBase.java:129)
> at org.apache.catalina.storeconfig.StoreFactoryBase.storeElement(StoreFactoryBase.java:171)
> at org.apache.catalina.storeconfig.StoreFactoryBase.storeElementArray(StoreFactoryBase.java:192)
> at org.apache.catalina.storeconfig.StandardServerSF.storeChildren(StandardServerSF.java:97)
> at org.apache.catalina.storeconfig.StoreFactoryBase.store(StoreFactoryBase.java:129)
> at org.apache.catalina.storeconfig.StandardServerSF.store(StandardServerSF.java:51)
> at org.apache.catalina.storeconfig.StoreConfig.store(StoreConfig.java:317)
> at org.apache.catalina.storeconfig.StoreConfig.store(StoreConfig.java:229)
> at org.apache.catalina.storeconfig.StoreConfig.storeConfig(StoreConfig.java:106)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
> at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:294)
> at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:814)
> at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802)
> at org.apache.catalina.manager.host.HostManagerServlet.persist(HostManagerServlet.java:672)
> at org.apache.catalina.manager.host.HTMLHostManagerServlet.persist(HTMLHostManagerServlet.java:241)
> at org.apache.catalina.manager.host.HTMLHostManagerServlet.doPost(HTMLHostManagerServlet.java:146)
> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)
> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
> at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:190)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
> at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:129)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:597)
> at org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:355)
> at org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:54)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
> at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:676)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
> at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391)
> at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
> at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:894)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740)
> at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
> at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
> at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.base/java.lang.Thread.run(Thread.java:833)
>
> Many thanks
> Mason
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: 回覆: Persist function in host manager working in 9.0.60 but not 10.1.x
Posted by Fong Mason <ma...@hotmail.com>.
l
> On 4 Aug 2023, at 3:09 AM, Mark Thomas <ma...@apache.org> wrote:
>
> This has been fixed (by Rémy) for the August release round.
>
> Mark
>
>
>> On 27/07/2023 01:41, Fong Mason wrote:
>> Hi Chris,
>> ________________________________
>> 寄件者: Christopher Schultz <ch...@christopherschultz.net>
>> 寄件日期: 2023年7月27日 0:35
>> 收件者: users@tomcat.apache.org <us...@tomcat.apache.org>
>> 主旨: Re: Persist function in host manager working in 9.0.60 but not 10.1.x
>> Mason,
>>> On 7/24/23 20:39, Fong Mason wrote:
>>> Last month I setup a new Tomcat instance (10.1.9) since I want to have a try of Spring 6.x. Everything was working fine until I need to add a new virtual host. I had followed the instructions in https://tomcat.apache.org/tomcat-10.1-doc/host-manager-howto.html to add a new Listener in server.xml. After I added a new virtual host and pressed “All” under persist configuration, the GUI said “OK - Configuration persisted” but actually the config is not persisted. I checked the log and found the following error:
>>> org.apache.catalina.storeconfig.StoreConfig.store Error storing server
>>> java.lang.NoSuchMethodExeption: org.apache.catalina.realm.CombinedRealm$CombinedRealmCredentialHandler.<init>()
>>>
>>> I tried to upgrade to 10.1.11 but the same problem exists, the same also happened for 9.0.78.
>>>
>>> Then I downloaded 9.0.60 to try as I have another server running it and the persist function is working there. This time everything worked as expected. I tried to look at the source code of 9.0.60 and seems there is no ComibinedRealmCredentialHandler subclass in 9.0.60 but only in later versions. I am not sure if this is the cause of the problem though.
>>>
>>> Any suggestion to make persist function work in host manager to work in 10.x? Many thanks.
>>>
>>> Please find my environment for your reference
>>> OS: Ubuntu Server 20.04.6 LTS
>>> Tomcat: 9.0.78/10.1.9/10.1.11
>>> JVM: 17.0.7 (17.0.7.+7-Ubuntu-0ubuntu120.04), this is a package provided by Ubuntu
>> It looks like this is a problem with any use of the
>> CombinedRealmCredentialHander: that class isn't effectively Serializable
>> because the class is private.
>> Can you post the full stack trace?
>> -chris
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>> Thanks for your response, please find the full stack trace found in the log of 10.1.11 as follow: (the ones for 9.0.78 and 10.1.9 are basically the same so I don't post them here)
>> 25-Jul-2023 02:47:10.537 SEVERE [http-nio-8080-exec-5] org.apache.catalina.storeconfig.StoreConfig.store Error storing server
>> java.lang.NoSuchMethodException: org.apache.catalina.realm.CombinedRealm$CombinedRealmCredentialHandler.<init>()
>> at java.base/java.lang.Class.getConstructor0(Class.java:3585)
>> at java.base/java.lang.Class.getConstructor(Class.java:2271)
>> at org.apache.catalina.storeconfig.StoreAppender.defaultInstance(StoreAppender.java:334)
>> at org.apache.catalina.storeconfig.StoreAppender.printAttributes(StoreAppender.java:233)
>> at org.apache.catalina.storeconfig.StoreAppender.printAttributes(StoreAppender.java:195)
>> at org.apache.catalina.storeconfig.StoreAppender.printOpenTag(StoreAppender.java:74)
>> at org.apache.catalina.storeconfig.StoreFactoryBase.store(StoreFactoryBase.java:127)
>> at org.apache.catalina.storeconfig.CredentialHandlerSF.store(CredentialHandlerSF.java:58)
>> at org.apache.catalina.storeconfig.StoreFactoryBase.storeElement(StoreFactoryBase.java:171)
>> at org.apache.catalina.storeconfig.RealmSF.storeChildren(RealmSF.java:89)
>> at org.apache.catalina.storeconfig.RealmSF.store(RealmSF.java:49)
>> at org.apache.catalina.storeconfig.StoreFactoryBase.storeElement(StoreFactoryBase.java:171)
>> at org.apache.catalina.storeconfig.StandardEngineSF.storeChildren(StandardEngineSF.java:66)
>> at org.apache.catalina.storeconfig.StoreFactoryBase.store(StoreFactoryBase.java:129)
>> at org.apache.catalina.storeconfig.StandardServiceSF.storeChildren(StandardServiceSF.java:63)
>> at org.apache.catalina.storeconfig.StoreFactoryBase.store(StoreFactoryBase.java:129)
>> at org.apache.catalina.storeconfig.StoreFactoryBase.storeElement(StoreFactoryBase.java:171)
>> at org.apache.catalina.storeconfig.StoreFactoryBase.storeElementArray(StoreFactoryBase.java:192)
>> at org.apache.catalina.storeconfig.StandardServerSF.storeChildren(StandardServerSF.java:97)
>> at org.apache.catalina.storeconfig.StoreFactoryBase.store(StoreFactoryBase.java:129)
>> at org.apache.catalina.storeconfig.StandardServerSF.store(StandardServerSF.java:51)
>> at org.apache.catalina.storeconfig.StoreConfig.store(StoreConfig.java:317)
>> at org.apache.catalina.storeconfig.StoreConfig.store(StoreConfig.java:229)
>> at org.apache.catalina.storeconfig.StoreConfig.storeConfig(StoreConfig.java:106)
>> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>> at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>> at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:294)
>> at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:814)
>> at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802)
>> at org.apache.catalina.manager.host.HostManagerServlet.persist(HostManagerServlet.java:672)
>> at org.apache.catalina.manager.host.HTMLHostManagerServlet.persist(HTMLHostManagerServlet.java:241)
>> at org.apache.catalina.manager.host.HTMLHostManagerServlet.doPost(HTMLHostManagerServlet.java:146)
>> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)
>> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
>> at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:190)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
>> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
>> at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:129)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
>> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
>> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
>> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:597)
>> at org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:355)
>> at org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:54)
>> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
>> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
>> at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:676)
>> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
>> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
>> at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391)
>> at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
>> at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:894)
>> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740)
>> at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
>> at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
>> at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
>> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>> at java.base/java.lang.Thread.run(Thread.java:833)
>> Many thanks
>> Mason
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
Thanks Mark and Remy :-)
Looking forward to it
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org