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 <users@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-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@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-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to