Git Client needs update to not extend ToolInstallation over Remoting

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      A user sees this warning regularly in their logs:

      WARNING hudson.tools.ToolInstallation#writeReplace: Serialization of GitTool extends ToolInstallation over Remoting is deprecated

      Full stack trace:

      2024-11-01 20:03:54.116+0000 [id=2139]  WARNING hudson.tools.ToolInstallation#writeReplace: Serialization of GitTool extends ToolInstallation over Remoting is deprecated
      java.lang.Throwable
              at hudson.tools.ToolInstallation.writeReplace(ToolInstallation.java:241)
              at jdk.internal.reflect.GeneratedMethodAccessor168.invoke(Unknown Source)
              at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.base/java.lang.reflect.Method.invoke(Method.java:569)
              at com.thoughtworks.xstream.core.util.SerializationMembers.callWriteReplace(SerializationMembers.java:101)
              at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:154)
              at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
              at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:59)
              at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:44)
              at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:87)
              at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeBareItem(AbstractCollectionConverter.java:94)
              at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:66)
              at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeCompleteItem(AbstractCollectionConverter.java:81)
              at com.thoughtworks.xstream.converters.collections.ArrayConverter.marshal(ArrayConverter.java:45)
              at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
              at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:59)
              at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:83)
              at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:283)
              at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:270)
              at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:241)
              at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:174)
              at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:226)
              at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:163)
              at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68)
              at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:59)
              at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:44)
              at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:83)
              at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:37)
              at com.thoughtworks.xstream.XStream.marshal(XStream.java:1303)
              at com.thoughtworks.xstream.XStream.marshal(XStream.java:1292)
              at com.thoughtworks.xstream.XStream.toXML(XStream.java:1265)
              at hudson.XmlFile.write(XmlFile.java:216)
              at hudson.model.Descriptor.save(Descriptor.java:915)
              at hudson.BulkChange.commit(BulkChange.java:98)
              at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:278)
              at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:360)
              at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:283)
              at io.jenkins.plugins.casc.ConfigurationAsCode.lambda$configureWith$7(ConfigurationAsCode.java:823)
              at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:773)
              at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:823)
              at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:695)
              at io.jenkins.plugins.casc.ConfigurationAsCode.configure(ConfigurationAsCode.java:352)
              at io.jenkins.plugins.casc.ConfigurationAsCode$configure$0.call(Unknown Source)
              at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
              at hot-reload-casc_script.run(hot-reload-casc.script.groovy:2)
              at groovy.lang.GroovyShell.evaluate(GroovyShell.java:574)
              at groovy.lang.GroovyShell.evaluate(GroovyShell.java:612)
              at groovy.lang.GroovyShell.evaluate(GroovyShell.java:593)
              at com.cloudbees.opscenter.server.clusterops.steps.MasterGroovyClusterOpStep$Script.doCall(MasterGroovyClusterOpStep.java:139)
              at com.cloudbees.opscenter.server.clusterops.steps.MasterGroovyClusterOpStep$Script.doCall(MasterGroovyClusterOpStep.java:87)
              at com.cloudbees.opscenter.server.clusterops.AuthenticatedOperationsCenterToClientMasterCallable.call(AuthenticatedOperationsCenterToClientMasterCallable.java:31)
              at hudson.remoting.UserRequest.perform(UserRequest.java:211)
              at hudson.remoting.UserRequest.perform(UserRequest.java:54)
              at hudson.remoting.Request$2.run(Request.java:377)
              at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
              at org.jenkinsci.remoting.CallableDecorator.call(CallableDecorator.java:18)
              at hudson.remoting.CallableDecoratorList.lambda$applyDecorator$0(CallableDecoratorList.java:19)
              at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
              at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:80)
              at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
              at java.base/java.lang.Thread.run(Thread.java:840)

      I am guessing that this has not come up before because it is not that common for people to use Tool Installation to manage their git client installs, and also the warning is probably easy to overlook in the Jenkins logs. I just wanted to flag this for refactoring if possible.

            Assignee:
            Unassigned
            Reporter:
            Owen Mehegan
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Resolved:
              Archived: